Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 507930 - stage3 fails w/circular deps with util-linux->pkgconfig->glib->docbook->util-linux
Summary: stage3 fails w/circular deps with util-linux->pkgconfig->glib->docbook->util-...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Gentoo Release Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-17 19:21 UTC by SpanKY
Modified: 2014-04-22 01:22 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SpanKY gentoo-dev 2014-04-17 19:21:51 UTC
with util-linux-2.24 going stable (which now includes a dep on pkgconfig), we're hitting a circular dep when building stage3:

(sys-apps/util-linux-2.24.1-r2, ebuild scheduled for merge) depends on
 (virtual/pkgconfig-0, ebuild scheduled for merge) (buildtime)
  (dev-util/pkgconfig-0.28, ebuild scheduled for merge) (buildtime)
   (dev-libs/glib-2.38.2-r1, ebuild scheduled for merge) (buildtime)
    (app-text/docbook-xml-dtd-4.1.2-r6, ebuild scheduled for merge) (buildtime)
     (app-text/build-docbook-catalog-1.19.1, ebuild scheduled for merge) (runtime)
      (sys-apps/util-linux-2.24.1-r2, ebuild scheduled for merge) (runtime)

util-linux wants pkgconfig to probe system.d/bash-completion
pkgconfig wants glib for a general util library
glib wants docbook because ???
docbook wants util-linux because of `getopt`

if we added virtual/pkgconfig to packages.build, that'd probably make things work.  it's pretty much a given it'll be in the system nowadays from the start, and it'll probably only get more common in the core packages.

if adding it to stage2 also incurs a circular dep, we can add USE=internal-glib to the bootstrap USE.  it'll get rebuilt in the stage2->stage3 step.
Comment 1 Rick Farina (Zero_Chaos) gentoo-dev 2014-04-17 19:30:32 UTC
I believe the internal-glib solution during bootstrap is best.
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-04-17 20:28:26 UTC
(In reply to SpanKY from comment #0)
> glib wants docbook because ???

glib wants docbook for generating man pages and docs.

> if we added virtual/pkgconfig to packages.build, that'd probably make things
> work.  it's pretty much a given it'll be in the system nowadays from the
> start, and it'll probably only get more common in the core packages.
> 
> if adding it to stage2 also incurs a circular dep, we can add
> USE=internal-glib to the bootstrap USE.  it'll get rebuilt in the
> stage2->stage3 step.

This seems like a good solution.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2014-04-18 16:12:46 UTC
(In reply to Alexandre Rostovtsev from comment #2)
> (In reply to SpanKY from comment #0)
> > glib wants docbook because ???
> 
> glib wants docbook for generating man pages and docs.

Ship prebuilt manpages, add USE=doc for docs, file upstream bug they forgot prebuilt manpages in their tarball

> 
> > if we added virtual/pkgconfig to packages.build, that'd probably make things
> > work.  it's pretty much a given it'll be in the system nowadays from the
> > start, and it'll probably only get more common in the core packages.
> > 
> > if adding it to stage2 also incurs a circular dep, we can add
> > USE=internal-glib to the bootstrap USE.  it'll get rebuilt in the
> > stage2->stage3 step.
> 
> This seems like a good solution.

not sure if it's possible to add per package USE flags for stage building like that?
seems like the bug should be fixed in glib's ebuild
Comment 4 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-04-19 14:03:12 UTC
Wasn't internal-glib and
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-04-19 14:08:25 UTC
Iirc, USE=internal-glib was made to solve bootstrapping problems like this.

It would be nice of have pre-built manpages in glib package, but it is kinda usual for upstream to forget about it, not sure how is done their release QA but this is far from the first time they are missing in a gnome package.

And I am against the USE=doc solution as manpages are not optional per policy.
Other docs would be gtk-doc I guess, but at least, this is pre-built and we do have to worry about it.
Comment 6 dwfreed 2014-04-19 16:25:58 UTC
(In reply to Samuli Suominen from comment #3)
> not sure if it's possible to add per package USE flags for stage building
> like that?

Just add internal-glib to BOOTSTRAP_USE in the profile, add virtual/pkgconfig to the system set, and teach bootstrap.sh to care about pkgconfig in stage2.  Since internal-glib is only used by pkgconfig, this is perfectly safe to do, and solves the bug in a simple and effective manner :).