GNOME Bugzilla – Bug 742269
Debian sysdeps whac-a-mole
Last modified: 2015-01-06 19:48:48 UTC
Here are a bunch of moduleset changes to make things work properly on jessie. Some are general problems, some have to do with version troubles and some have to do with Debian liking to split each .pc into a separate -dev package.
Created attachment 293651 [details] [review] 3.16: turn polkit into a system module polkit depends on spidermonkey, which is API unstable. There is no version of spidermoney which polkit can use which is available in all of the distributions that we care about supporting, which means that we have trouble with sysdeps. Fortunately, every distribution that we care about already has polkit for itself. polkit itself is very inactive these days -- the highest dependency that any GNOME module has on it is for a version that was released in 2011. Additionally, we are not actually interested in building polkit itself, but really only need the libraries. It would be better if we used the system ones. A survey of the configure.ac files of components that declare a dependency on polkit shows: - udisks: depends on polkit-gobject and polkit-agent 0.102 - gnome-control-center, gnome-settings-daemon: polkit-gobject 0.103 - colord: polkit-gobject 0.103 - accountsservice: polkit-gobject - NetworkManager: polkit-agent 0.97 - ModemManager polkit-gobject 0.97 - PackageKit polkit-gobject 0.98 - gnome-shell: polkit-agent 0.100 - pulseaudio, gnome-session: no longer actually depend on it So let's get rid of the polkit module and add two new system modules: one for each .pc file. We must have at least polkit-agent 0.102 and polkit-gobject 0.103.
Created attachment 293652 [details] [review] 3.16: remove gypsy from sysdeps Nothing depends on this since 3.8
Created attachment 293653 [details] [review] sysdeps: add xorg protocol packages xorg has about a million separate packages for various protocols. xwayland depends on a lot of those. Put them in sysdeps.
Created attachment 293654 [details] [review] 3.16: take xtrans out of sysdeps Debian jessie doesn't have new enough xtrans, so take it out of sysdeps and build it from tar if we don't have a new enough version on the system.
Created attachment 293655 [details] [review] sysdeps: add pciaccess (xwayland dependency)
Created attachment 293656 [details] [review] sysdeps: add krb5 (gnome-control-center dependency)
Created attachment 293657 [details] [review] sysdeps: add sqlite3-bin (pyzy dependency) On Debian-based systems, the sqlite3 library and binary tools are in separate packages. pyzy needs both.
Created attachment 293658 [details] [review] sysdeps: add libcanberra-gtk3 gnome-settings-daemon and gnome-control-center depend on libcanberra-gtk3, not libcanberra-gtk.
Created attachment 293659 [details] [review] sysdeps: add xcb-xkb (required by libxkbcommon)
Created attachment 293660 [details] [review] sysdeps: correctly handle systemd Add the various libsystemd .pc files available, since various pieces of software depend on different parts of it. Correctly mark the dependencies based on what is mentioned in configure.ac. Even if a dependency is optional, if we have the 'systemd' condition set we treat it as hard.
Created attachment 293661 [details] [review] sysdeps: add rapper (raptor-utils) zeitgeist depends on this binary being installed.
Created attachment 293662 [details] [review] sysdeps: add zlib (dependency of glib)
Created attachment 293663 [details] [review] 3.16: gvfs depends on libgcrypt So make sure we mark it as such.
Created attachment 293664 [details] [review] sysdeps: gdm depends on pam
Created attachment 293665 [details] [review] sysdeps: make harfbuzz depend on libicu harfbuzz has optional support for libicu. WebKit assumes that if harfbuzz is present, it was built with icu support. Since we build WebKit, let's make sure harfbuzz is icu-enabled.
Comment on attachment 293658 [details] [review] sysdeps: add libcanberra-gtk3 I would have changed the <pkg-config> line of the existing libcanberra module, but that's fine.
(In reply to comment #16) > (From update of attachment 293658 [details] [review]) > I would have changed the <pkg-config> line of the existing libcanberra module, > but that's fine. I didn't do that because I didn't want to actually verify that all of the other users actually want the gtk3 version (since I suspect some of them still want gtk2). Once I implement my grand plan of jhbuilding into pristine chroots with only the declared sysdeps installed I'm sure we'll start finding these issues and then we can clean up further (and more reliably).
Attachment 293651 [details] pushed as 39416ef - 3.16: turn polkit into a system module Attachment 293652 [details] pushed as fb95f1f - 3.16: remove gypsy from sysdeps Attachment 293653 [details] pushed as 0dfe9b3 - sysdeps: add xorg protocol packages Attachment 293654 [details] pushed as 33fab84 - 3.16: take xtrans out of sysdeps Attachment 293655 [details] pushed as e5c647a - sysdeps: add pciaccess (xwayland dependency) Attachment 293656 [details] pushed as f3e63f3 - sysdeps: add krb5 (gnome-control-center dependency) Attachment 293657 [details] pushed as eb957cb - sysdeps: add sqlite3-bin (pyzy dependency) Attachment 293658 [details] pushed as 7146b17 - sysdeps: add libcanberra-gtk3 Attachment 293659 [details] pushed as c653bff - sysdeps: add xcb-xkb (required by libxkbcommon) Attachment 293660 [details] pushed as 5679376 - sysdeps: correctly handle systemd Attachment 293661 [details] pushed as c35c77a - sysdeps: add rapper (raptor-utils) Attachment 293662 [details] pushed as 69cb4e6 - sysdeps: add zlib (dependency of glib) Attachment 293663 [details] pushed as f2d660e - 3.16: gvfs depends on libgcrypt Attachment 293664 [details] pushed as d577a4e - sysdeps: gdm depends on pam Attachment 293665 [details] pushed as 93b8002 - sysdeps: make harfbuzz depend on libicu