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 652686 - jhbuild sysdeps: Install system dependencies
jhbuild sysdeps: Install system dependencies
Status: RESOLVED DUPLICATE of bug 564373
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on: 647231
Blocks:
 
 
Reported: 2011-06-16 01:34 UTC by Colin Walters
Modified: 2011-06-17 19:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
jhbuild sysdeps: Install system dependencies (18.22 KB, patch)
2011-06-16 01:34 UTC, Colin Walters
none Details | Review
jhbuild sysdeps: Install system dependencies (22.54 KB, patch)
2011-06-16 13:46 UTC, Colin Walters
none Details | Review

Description Colin Walters 2011-06-16 01:34:34 UTC
This is one step in the goal of making "partial" jhbuilds work; which
for someone who just wants to patch one module, it can save enormous
amounts of time and dramatically increase build reliability.

The basic idea is that we use pkg-config identifiers as what I think
of as a "Linux distribution damage mitigation layer".  They *really*
shouldn't be forked (and if they are, there are other bigger
problems).

At least Fedora has a pretty easy way to find a package given a
pkg-config identifier; each RPM has a generated Provides like:

Provides: pkgconfig(gtk+-2.0)

Stub out some code to run yum to acquire them.

The tricky part of this code is teaching jhbuild that a package can
have two identifiers.  For example we want to be able to do:

  <depends pkgid="foo">

And have jhbuild know to search for packages that provide pkgid="foo".
Comment 1 Colin Walters 2011-06-16 01:34:36 UTC
Created attachment 190010 [details] [review]
jhbuild sysdeps: Install system dependencies
Comment 2 Colin Walters 2011-06-16 13:46:47 UTC
Created attachment 190045 [details] [review]
jhbuild sysdeps: Install system dependencies

This is one step in the goal of making "partial" jhbuilds work; which
for someone who just wants to patch one module, it can save enormous
amounts of time and dramatically increase build reliability.

The basic idea is that we use pkg-config identifiers as what I think
of as a "Linux distribution damage mitigation layer".  They *really*
shouldn't be forked (and if they are, there are other bigger
problems).

At least Fedora has a pretty easy way to find a package given a
pkg-config identifier; each RPM has a generated Provides like:

Provides: pkgconfig(gtk+-2.0)

Stub out some code to run yum to acquire them.

Next, we teach moduleset how to find modules by either "id" or
"pkgid".
Comment 3 Frederic Peters 2011-06-17 06:54:07 UTC
Thanks Colin, could this be discussed in bug 564373?

I had a relevant comment in there:

> I am not fond of <dep pkgconfig="lcms2" />, I would prefer to have lcms2 as a
> real <autotools> module, that would be buildable with jhbuild, but at the same
> time its <branch/> tag would mention a package name; this would also get it
> next to a version number, that will have to be considered later on anyway.

And of course I'd prefer PackageKit over yum, as hopefully this means an abstraction layer that we won't have to develop again in jhbuild.

*** This bug has been marked as a duplicate of bug 564373 ***
Comment 4 Colin Walters 2011-06-17 19:36:57 UTC
(In reply to comment #3)
> Thanks Colin, could this be discussed in bug 564373?

Yep.  I'll reattach the patch there.