public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* Re: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= )
  @ 2015-01-22 17:06 99%                   ` Zac Medico
  0 siblings, 0 replies; 1+ results
From: Zac Medico @ 2015-01-22 17:06 UTC (permalink / raw
  To: Alexis Ballier, gentoo-dev

On 01/22/2015 03:11 AM, Alexis Ballier wrote:
> On Thu, 22 Jan 2015 02:50:44 -0800
> Zac Medico <zmedico@gentoo.org> wrote:
> 
>> On 01/21/2015 11:25 PM, Alexis Ballier wrote:
>>> 1. If portage uses crafted depstrings in its depgraph when
>>> rebuilding a package and nobody is able to give me a good reason
>>> _why_ this is needed, I really do not want to look at the code :)
>>
>> It's the emerge --dynamic-deps option, which is enabled by default. If
>> you want to use --dynamic-deps=n, then you may need to fix some
>> dependencies of installed packages, which you can do by running emerge
>> @changed-deps. There's also a --changed-deps [1] option that can be
>> applied to @world updates, which will be included in Portage 2.2.16.
>>
>> [1]
>> https://github.com/gentoo/portage/commit/e99fa094ac73514b23509a0f8305b365f114e9a3
> 
> This answers 'how' and, as I understand it, changed-deps is also about
> 'how' to trigger rebuild.
> My question was: _why_ when portage knows what package to rebuild
> doesn't it use the dep string from the ebuild ?

It does use the dep string for the ebuild, after it has rejected the
installed instance and decided to pull in the ebuild instead.

> That's what I understand from Michał's comment (quoting him):
> 
>> 1. if you have dynamic-deps enabled, portage will want to install both
>> ffmpeg (because of :=) and libav (because of ||). The effective
>> deps will look like:
>>
>>  || ( ffmpeg:0/51= libav ) ffmpeg:0/51=
> 
> 
> As I understand it, portage (correctly) marks this package for rebuild
> (because ffmpeg:0/51= dep isn't satisfied anymore), but I don't get why
> it doesn't consider the original '|| ( ffmpeg:= libav:= )' dep for the
> depgraph and wants to pull ffmpeg in "because of :=".

It does consider the original dep. However, it also uses various
heuristics when making choices for || deps, and the fact that an
instance of ffmpeg is currently installed is taken into account in the
heuristics.
-- 
Thanks,
Zac


^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2015-01-19 19:31     [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= ) Michał Górny
2015-01-20  8:13     ` Alexis Ballier
2015-01-20 21:43       ` Michał Górny
2015-01-21 10:05         ` Alexis Ballier
2015-01-21 10:15           ` Michał Górny
2015-01-21 11:12             ` Alexis Ballier
2015-01-21 18:21               ` Michał Górny
2015-01-22  7:25                 ` Alexis Ballier
2015-01-22 10:50                   ` Zac Medico
2015-01-22 11:11                     ` Alexis Ballier
2015-01-22 17:06 99%                   ` Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox