On Tue, 21 Jan 2014 10:26:10 +0000
Peter Humphrey <pe...@prh.myzen.co.uk> wrote:

> After my daily sync today, portage wanted to emerge two new packages:
> dev- libs/lzo and x11-misc/makedepend. No other packages were
> mentioned. Odd, I thought, so:
> 
> $ equery d lzo
>  * These packages depend on lzo:
> [...]
> X11-libs/cairo-1.12.14-r4 (dev-libs/lzo)

https://bugs.gentoo.org/477078
cairo is/was built slightly differently depending on whether lzo was
installed or not when cairo was built. The most significant difference
is that cairo might stop working if lzo is removed after cairo was
built*. To resolve this, the Gentoo maintainer recently added lzo to the
dependencies to make sure lzo is not removed.

If you rebuild cairo after installing lzo, some obscure feature might
be enabled, but the maintainer seems to think this is not significant,
and did not increase the revision number to force a rebuild everywhere.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/cairo/cairo-1.12.14-r4.ebuild?r1=1.12&r2=1.13

* In most cases, that's prevented by the (now default-on) preserve-libs
  FEATURE in portage. Non-default setups aren't necessarily as lucky.

> $ equery d makedepend
>  * These packages depend on makedepend:
> app-cdr/cdrtools-3.01_alpha17 (x11-misc/makedepend)

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-cdr/cdrtools/cdrtools-3.01_alpha17.ebuild?r1=1.13&r2=1.14
A similar change (though no bug :-( ), except makedepend is a
build-time-only dependency, and not strictly required after cdrtools is
built. I will not venture to guess what the consequences of building
cdrtools without makedepend installed are, but since you somehow got it
installed at some point, there is either a fallback of some sort, or
you had it installed for other reasons.

Whether this build-time dependency (DEPEND) change causes makedepend to
be installed after the fact is governed by the --with-bdeps switch to
emerge, check the man page for details.

> But cairo was last emerged 16 days ago and cdrtools last September,
> so why have these dependencies suddenly appeared today? Portage has
> been at 2.2.7 since last year too. Emerge --info doesn't mention lzo.

By default, in order to let maintainers fix issues, portage calculates
what to install based on the *current* package ebuilds, rather than the
ebuild at the time a package was installed. While this can be disabled
by the user, maintainers will expect it to work, so best not ;-)

> I can't think of anything else that might have changed, unless new 
> dependencies have been shoved into the ebuilds. Does that sort of
> thing happen in a well run family?
> 

-- 
eroen

Attachment: signature.asc
Description: PGP signature

Reply via email to