Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: Zac Medico <zmedico@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= )
Date: Thu, 22 Jan 2015 11:11:51
Message-Id: 20150122121136.2d36680c@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= ) by Zac Medico
1 On Thu, 22 Jan 2015 02:50:44 -0800
2 Zac Medico <zmedico@g.o> wrote:
3
4 > On 01/21/2015 11:25 PM, Alexis Ballier wrote:
5 > > 1. If portage uses crafted depstrings in its depgraph when
6 > > rebuilding a package and nobody is able to give me a good reason
7 > > _why_ this is needed, I really do not want to look at the code :)
8 >
9 > It's the emerge --dynamic-deps option, which is enabled by default. If
10 > you want to use --dynamic-deps=n, then you may need to fix some
11 > dependencies of installed packages, which you can do by running emerge
12 > @changed-deps. There's also a --changed-deps [1] option that can be
13 > applied to @world updates, which will be included in Portage 2.2.16.
14 >
15 > [1]
16 > https://github.com/gentoo/portage/commit/e99fa094ac73514b23509a0f8305b365f114e9a3
17
18 This answers 'how' and, as I understand it, changed-deps is also about
19 'how' to trigger rebuild.
20 My question was: _why_ when portage knows what package to rebuild
21 doesn't it use the dep string from the ebuild ?
22
23 That's what I understand from MichaƂ's comment (quoting him):
24
25 > 1. if you have dynamic-deps enabled, portage will want to install both
26 > ffmpeg (because of :=) and libav (because of ||). The effective
27 > deps will look like:
28 >
29 > || ( ffmpeg:0/51= libav ) ffmpeg:0/51=
30
31
32 As I understand it, portage (correctly) marks this package for rebuild
33 (because ffmpeg:0/51= dep isn't satisfied anymore), but I don't get why
34 it doesn't consider the original '|| ( ffmpeg:= libav:= )' dep for the
35 depgraph and wants to pull ffmpeg in "because of :=".
36
37 Alexis.

Replies