Skip to content

Styles: optionally build install gtk styles#953

Merged
ryonakano merged 3 commits intomainfrom
danirabbit/styles-optional-build
Feb 23, 2026
Merged

Styles: optionally build install gtk styles#953
ryonakano merged 3 commits intomainfrom
danirabbit/styles-optional-build

Conversation

@danirabbit
Copy link
Member

No description provided.

@danirabbit danirabbit requested a review from ryonakano February 20, 2026 23:44
@danirabbit danirabbit marked this pull request as ready for review February 20, 2026 23:44
Copy link
Member

@ryonakano ryonakano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

debuild -us -uc fails unfortunately with this way, probably because we build stylesheets but don't install.

(…snip)

Installing demo/granite-7-demo to /home/user/work/granite7/debian/tmp/usr/bin
Installing /home/user/work/granite7/lib/granite-7.deps to /home/user/work/granite7/debian/tmp/usr/share/vala/vapi
Installing /home/user/work/granite7/obj-aarch64-linux-gnu/meson-private/granite-7.pc to /home/user/work/granite7/debian/tmp/usr/lib/aarch64-linux-gnu/pkgconfig
Installing /home/user/work/granite7/data/icons/48.svg to /home/user/work/granite7/debian/tmp/usr/share/icons/hicolor/48x48/apps
Installing /home/user/work/granite7/data/icons/48.svg to /home/user/work/granite7/debian/tmp/usr/share/icons/hicolor/48x48@2/apps
Installing /home/user/work/granite7/demo/io.elementary.granite-7.demo.desktop to /home/user/work/granite7/debian/tmp/usr/share/applications
Installing symlink pointing to libgranite-7.so.7.8.0 to /home/user/work/granite7/debian/tmp/usr/lib/aarch64-linux-gnu/libgranite-7.so.7
Installing symlink pointing to libgranite-7.so.7 to /home/user/work/granite7/debian/tmp/usr/lib/aarch64-linux-gnu/libgranite-7.so
Skipping custom install script because DESTDIR is set '/usr/bin/gtk4-update-icon-cache -q -t -f /usr/share/icons/hicolor'
   dh_install
dh_install: warning: Cannot find (any matches for) "usr/share/themes/Granite/gtk-4.0" (tried in ., debian/tmp)

dh_install: warning: libgranite-7-common missing files: usr/share/themes/Granite/gtk-4.0
dh_install: error: missing files, aborting
make: *** [debian/rules:4: binary] Error 255
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1184:
dpkg-buildpackage -us -uc -ui failed
user@elementary-test:~/work/granite7$

@ryonakano
Copy link
Member

debuild -us -uc fails unfortunately with this way, probably because we build stylesheets but don't install.

@danirabbit I opened #955 to fix this build error.

Copy link
Member

@ryonakano ryonakano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed debuild -us -uc succeeds, can install built .deb files successfully, and /usr/share/themes/Granite no longer exists:

user@elementary-test:~/work$ sudo apt install ./*.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'gir1.2-granite-7.0' instead of './gir1.2-granite-7.0_7.8.1_arm64.deb'
Note, selecting 'granite-7-demo' instead of './granite-7-demo_7.8.1_arm64.deb'
Note, selecting 'libgranite7' instead of './libgranite7_7.8.1_arm64.deb'
Note, selecting 'libgranite-7-common' instead of './libgranite-7-common_7.8.1_all.deb'
Note, selecting 'libgranite-7-dev' instead of './libgranite-7-dev_7.8.1_arm64.deb'
The following packages will be upgraded:
  gir1.2-granite-7.0 granite-7-demo libgranite-7-common libgranite-7-dev libgranite7
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/293 kB of archives.
After this operation, 5,120 B disk space will be freed.
Get:1 /home/user/work/granite-7-demo_7.8.1_arm64.deb granite-7-demo arm64 7.8.1 [50.5 kB]
Get:2 /home/user/work/libgranite-7-common_7.8.1_all.deb libgranite-7-common all 7.8.1 [61.4 kB]
Get:3 /home/user/work/libgranite-7-dev_7.8.1_arm64.deb libgranite-7-dev arm64 7.8.1 [24.5 kB]
Get:4 /home/user/work/libgranite7_7.8.1_arm64.deb libgranite7 arm64 7.8.1 [140 kB]
Get:5 /home/user/work/gir1.2-granite-7.0_7.8.1_arm64.deb gir1.2-granite-7.0 arm64 7.8.1 [17.1 kB]
(Reading database ... 185709 files and directories currently installed.)
Preparing to unpack .../granite-7-demo_7.8.1_arm64.deb ...
Unpacking granite-7-demo (7.8.1) over (7.8.0+r2895+pkg144~daily~ubuntu24.04.1) ...
Preparing to unpack .../libgranite-7-common_7.8.1_all.deb ...
Unpacking libgranite-7-common (7.8.1) over (7.8.0+r2895+pkg144~daily~ubuntu24.04.1) ...
Preparing to unpack .../libgranite-7-dev_7.8.1_arm64.deb ...
Unpacking libgranite-7-dev (7.8.1) over (7.8.0+r2895+pkg144~daily~ubuntu24.04.1) ...
Preparing to unpack .../libgranite7_7.8.1_arm64.deb ...
Unpacking libgranite7:arm64 (7.8.1) over (7.8.0+r2895+pkg144~daily~ubuntu24.04.1) ...
Preparing to unpack .../gir1.2-granite-7.0_7.8.1_arm64.deb ...
Unpacking gir1.2-granite-7.0 (7.8.1) over (7.8.0+r2895+pkg144~daily~ubuntu24.04.1) ...
Setting up libgranite-7-common (7.8.1) ...
Setting up libgranite7:arm64 (7.8.1) ...
Setting up gir1.2-granite-7.0 (7.8.1) ...
Setting up libgranite-7-dev (7.8.1) ...
Setting up granite-7-demo (7.8.1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for libc-bin (2.39-0ubuntu8.7) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
N: Download is performed unsandboxed as root as file '/home/user/work/granite-7-demo_7.8.1_arm64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
user@elementary-test:~/work$ ls /usr/share/themes/
Default                             io.elementary.stylesheet.cocoa  io.elementary.stylesheet.orange
Emacs                               io.elementary.stylesheet.grape  io.elementary.stylesheet.slate
io.elementary.stylesheet.banana     io.elementary.stylesheet.latte  io.elementary.stylesheet.strawberry
io.elementary.stylesheet.blueberry  io.elementary.stylesheet.lime   Raleigh
io.elementary.stylesheet.bubblegum  io.elementary.stylesheet.mint
user@elementary-test:~/work$ 

And Granite 9 .deb files build with #949, #950, and this branch too!

user@elementary-test:~/work$ sudo apt install ./*.deb
[sudo] password for user:     
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'gir1.2-granite-9.0' instead of './gir1.2-granite-9.0_9.0.0_arm64.deb'
Note, selecting 'granite-9-demo' instead of './granite-9-demo_9.0.0_arm64.deb'
Note, selecting 'libgranite9' instead of './libgranite9_9.0.0_arm64.deb'
Note, selecting 'libgranite-9-common' instead of './libgranite-9-common_9.0.0_all.deb'
Note, selecting 'libgranite-9-dev' instead of './libgranite-9-dev_9.0.0_arm64.deb'
The following NEW packages will be installed:
  gir1.2-granite-9.0 granite-9-demo libgranite-9-common libgranite-9-dev libgranite9
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/293 kB of archives.
After this operation, 1,797 kB of additional disk space will be used.
Get:1 /home/user/work/libgranite-9-common_9.0.0_all.deb libgranite-9-common all 9.0.0 [61.3 kB]
Get:2 /home/user/work/libgranite9_9.0.0_arm64.deb libgranite9 arm64 9.0.0 [140 kB]
Get:3 /home/user/work/gir1.2-granite-9.0_9.0.0_arm64.deb gir1.2-granite-9.0 arm64 9.0.0 [17.1 kB]
Get:4 /home/user/work/granite-9-demo_9.0.0_arm64.deb granite-9-demo arm64 9.0.0 [50.4 kB]
Get:5 /home/user/work/libgranite-9-dev_9.0.0_arm64.deb libgranite-9-dev arm64 9.0.0 [24.5 kB]
(Reading database ... 185705 files and directories currently installed.)
Preparing to unpack .../libgranite-9-common_9.0.0_all.deb ...
Unpacking libgranite-9-common (9.0.0) ...
Selecting previously unselected package libgranite9:arm64.
Preparing to unpack .../libgranite9_9.0.0_arm64.deb ...
Unpacking libgranite9:arm64 (9.0.0) ...
Selecting previously unselected package gir1.2-granite-9.0.
Preparing to unpack .../gir1.2-granite-9.0_9.0.0_arm64.deb ...
Unpacking gir1.2-granite-9.0 (9.0.0) ...
Selecting previously unselected package granite-9-demo.
Preparing to unpack .../granite-9-demo_9.0.0_arm64.deb ...
Unpacking granite-9-demo (9.0.0) ...
Selecting previously unselected package libgranite-9-dev.
Preparing to unpack .../libgranite-9-dev_9.0.0_arm64.deb ...
Unpacking libgranite-9-dev (9.0.0) ...
Setting up libgranite-9-common (9.0.0) ...
Setting up libgranite9:arm64 (9.0.0) ...
Setting up gir1.2-granite-9.0 (9.0.0) ...
Setting up granite-9-demo (9.0.0) ...
Setting up libgranite-9-dev (9.0.0) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for libc-bin (2.39-0ubuntu8.7) ...
Processing triggers for man-db (2.12.0-4build2) ...
N: Download is performed unsandboxed as root as file '/home/user/work/libgranite-9-common_9.0.0_all.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
user@elementary-test:~/work$ 

@ryonakano ryonakano merged commit 75fe3ad into main Feb 23, 2026
5 checks passed
@ryonakano ryonakano deleted the danirabbit/styles-optional-build branch February 23, 2026 01:13
@ryonakano ryonakano mentioned this pull request Feb 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Gtk stylesheets are always installed regardless of the build option "gtk-stylesheets"

2 participants