After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 681342 - use systemmodule for 3.6 modulesets
use systemmodule for 3.6 modulesets
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: module sets
3.6.x
Other All
: Normal minor
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2012-08-06 23:36 UTC by Craig Keogh
Modified: 2012-09-05 13:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
3.6: Add gnome-sysdeps-3.6.modules (10.17 KB, patch)
2012-08-26 11:26 UTC, Craig Keogh
none Details | Review
3.6: Add systemmodule dependencies (14.23 KB, patch)
2012-08-26 11:37 UTC, Craig Keogh
none Details | Review
3.6: Add gnome-sysdeps-3.6.modules (9.54 KB, patch)
2012-09-03 13:24 UTC, Craig Keogh
committed Details | Review
3.6: Add systemmodule dependencies (12.23 KB, patch)
2012-09-03 13:25 UTC, Craig Keogh
none Details | Review
Allow systemmodules to not specify a version (11.82 KB, patch)
2012-09-03 13:34 UTC, Craig Keogh
committed Details | Review
3.6: Add systemmodule dependencies (12.23 KB, patch)
2012-09-05 12:41 UTC, Craig Keogh
committed Details | Review

Description Craig Keogh 2012-08-06 23:36:28 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 ?
Comment 1 Craig Keogh 2012-08-26 11:26:37 UTC
Created attachment 222453 [details] [review]
3.6: Add gnome-sysdeps-3.6.modules
Comment 2 Craig Keogh 2012-08-26 11:37:17 UTC
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.
Comment 3 Colin Walters 2012-08-26 16:25:29 UTC
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...)
Comment 4 Craig Keogh 2012-08-27 05:43:33 UTC
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.
Comment 5 Frederic Peters 2012-09-02 09:34:48 UTC
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) ?
Comment 6 Craig Keogh 2012-09-03 13:24:17 UTC
Created attachment 223315 [details] [review]
3.6: Add gnome-sysdeps-3.6.modules


Addresses Colin & Frédéric's comments.
Comment 7 Craig Keogh 2012-09-03 13:25:01 UTC
Created attachment 223316 [details] [review]
3.6: Add systemmodule dependencies


Addresses Colin & Frédéric's comments.
Comment 8 Craig Keogh 2012-09-03 13:34:35 UTC
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)
Comment 9 Craig Keogh 2012-09-05 12:41:46 UTC
Created attachment 223527 [details] [review]
3.6: Add systemmodule dependencies


Rebased patch.
Comment 10 Frederic Peters 2012-09-05 12:44:12 UTC
Ok, go ahead and push the patches, or they will quickly rot here.
Comment 11 Craig Keogh 2012-09-05 12:57:18 UTC
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 12 Craig Keogh 2012-09-05 12:59:21 UTC
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 13 Craig Keogh 2012-09-05 12:59:39 UTC
Comment on attachment 223527 [details] [review]
3.6: Add systemmodule dependencies

Committed.
http://git.gnome.org/browse/jhbuild/commit/?id=933ce8f229a1231967b59d589452d8c0d5a1a8e7
Comment 14 Craig Keogh 2012-09-05 13:00:03 UTC
Comment on attachment 223318 [details] [review]
Allow systemmodules to not specify a version

Committed.
http://git.gnome.org/browse/jhbuild/commit/?id=3419755dad95cce0a528fdff1f06d4a77cb25617