GNOME Bugzilla – Bug 681342
use systemmodule for 3.6 modulesets
Last modified: 2012-09-05 13:00:16 UTC
Now that bug 669554 and bug 671042 has been fixed, start using systemmodule for 3.6 modulesets. Then users get told they are missing a dependency at start-up, rather than 1 hour into the build. I think place all the systemmodules into a separate file. How about gnome-sysdeps-3.6.modules ?
Created attachment 222453 [details] [review] 3.6: Add gnome-sysdeps-3.6.modules
Created attachment 222454 [details] [review] 3.6: Add systemmodule dependencies Some of the hard dependencies I've added may be optional dependencies, for example gdk-pixbuf and libjpeg. This is intentional. Consider this the recommended dependencies for GNOME. gdk-pixbuf without libjpeg will produce a GNOME not as intended. If the user wants to skip a dependency, they can add the dependency to 'skip' in the ~/.config/jhbuildrc. I haven't captured all the system dependencies. My system dependencies is based upon the build order for 'meta-gnome-core' and 'meta-gnome-apps-tested'. If just building upto a particular module, not all system dependencies will be captured. Welcome to add any missing.
Review of attachment 222454 [details] [review]: Wow. This looks pretty extensive. I like it a lot. Did you test a full build from scratch with this? On what system? Fedora? I'll let fredp do the final signoff on this patch, so not marking reviewed here. ::: modulesets/gnome-suites-core-deps-3.6.modules @@ +131,3 @@ <branch/> <dependencies> + <dep package="libtool"/> I think libtool should be in some "build-essential" type list that everything depends on. (Former maintainer of Debian's build-essential here...)
Thank you for the review. > Wow. This looks pretty extensive. I like it a lot. Did you test a full build > from scratch with this? On what system? Fedora? I compiled the list by starting with a fresh Fedora 17 system with no -devel packages. Tried to build 'meta-gnome-core', 'meta-gnome-apps-tested'. Add missing package. Rebuild. Repeat. > I'll let fredp do the final signoff on this patch, so not marking reviewed > here. I'll add Frédéric to the CC. (In reply to comment #3) > I think libtool should be in some "build-essential" type list that everything > depends on. > (Former maintainer of Debian's build-essential here...) A good idea. I've thought about this too. I've created bug 682761.
A few comments and that can get in, - there's a small change to gnome-sysdeps-3.6.modules in the second patch (about libgl pkg-config file), it should be integrated in the initial patch. - it's not necessary to <include> the sysdeps module in all modulesets, I would just include it in gnome-suites-core-deps-base-3.6 - there's a serie of module with version set to 0, shouldn't real version numbers be added, or the attribute omitted (this would require some changes tosystem.py) ?
Created attachment 223315 [details] [review] 3.6: Add gnome-sysdeps-3.6.modules Addresses Colin & Frédéric's comments.
Created attachment 223316 [details] [review] 3.6: Add systemmodule dependencies Addresses Colin & Frédéric's comments.
Created attachment 223318 [details] [review] Allow systemmodules to not specify a version Allow systemmodules to not specify a version. 'jhbuild sysdeps' looks like: System installed packages which are new enough: yajl glu (glu.pc, installed=8.0.3) zlib (zlib.pc, required=1.0, installed=1.2.5) gl (gl.pc, installed=8.0.3) file boost (required=1.33.1) cracklib cyrus-sasl device-mapper exiv2 (exiv2.pc, required=0, installed=0.22) flac (flac.pc, required=1.1.4, installed=1.2.1) flex (required=2.0) gc (bdw-gc.pc, installed=7.2) gdbm gettext (required=0.16) libXcomposite (xcomposite.pc, installed=0.4.3) libvorbis (vorbisfile.pc, installed=1.3.3) gperf libXcursor (xcursor.pc, installed=1.1.13) libXfixes (xfixes.pc, installed=5.0) libffi (libffi.pc, required=3.0.0, installed=3.0.10) libXinerama libXrandr (xrandr.pc, required=1.3, installed=1.3.1) libXt (xt.pc, installed=1.1.2) libXtst (xtst.pc, required=1, installed=1.2.0) libacl libdb (required=4) libicu (icu-i18n.pc, required=4, installed=4.8.1.1) libpng (libpng.pc, installed=1.5.10) libjpeg libtiff libXft (xft.pc, required=2.0.0, installed=2.3.0) libtool-ltdl neon (neon.pc, installed=0.29.6) libunistring libusb1 (libusb-1.0.pc, installed=1.0.9) libuuid (uuid.pc, installed=2.21.0) libv4l (libv4l2.pc, installed=0.8.8) libxkbfile (xkbfile.pc, installed=1.0.8) mpfr openssl (libcrypto.pc, installed=1.0.0j) pam ppp python-devel (python.pc, required=2.5, installed=2.7) readline ruby soundtouch (soundtouch-1.4.pc, required=0, installed=1.4.0) taglib (taglib.pc, required=1.5, installed=1.7.2) udisks (udisks.pc, installed=1.0.4) wavpack (wavpack.pc, required=4.2, installed=4.60.1) wget bison (required=2.0) wireless-tools (required=25) xcb-util (xcb-aux.pc, required=0.1, installed=0.3.8) xkeyboard-config (xkeyboard-config.pc, installed=2.5.1) Required packages: System installed packages which are too old: (none) No matching system package installed: (none)
Created attachment 223527 [details] [review] 3.6: Add systemmodule dependencies Rebased patch.
Ok, go ahead and push the patches, or they will quickly rot here.
Keep an eye on the buildbots, they may be missing some dependencies and fail. To solve this either: 1. Install the dependency via the distribution's package manager. 2. Add 'check_sysdeps = False' to ~/.config/jhbuildrc 3. Ignore individual dependencies by adding systemmodules to skip in ~/.config/jhbuildrc, e.g: skip = ['libjpeg'] 4. Pass --nodeps (valid for build and tinderbox commands only)
Comment on attachment 223315 [details] [review] 3.6: Add gnome-sysdeps-3.6.modules Committed. http://git.gnome.org/browse/jhbuild/commit/?id=127801d1f3f7f33535fba7b6fa41da7bf9248972
Comment on attachment 223527 [details] [review] 3.6: Add systemmodule dependencies Committed. http://git.gnome.org/browse/jhbuild/commit/?id=933ce8f229a1231967b59d589452d8c0d5a1a8e7
Comment on attachment 223318 [details] [review] Allow systemmodules to not specify a version Committed. http://git.gnome.org/browse/jhbuild/commit/?id=3419755dad95cce0a528fdff1f06d4a77cb25617