On Tue, Feb 27, 2018 at 12:43 PM, Michael Orlitzky <m...@gentoo.org> wrote:
> On 02/27/2018 12:05 PM, Ian Zimmerman wrote:
>>
>> When I read this, I realize I don't understand the difference between
>> these two options.  Or to be more accurate, I know that --deep means
>> looking at dependencies beyond the first level; but isn't that just a
>> superset of those found by --changed-deps?
>
> You're right about --deep.
>
> The --changed-deps flag, on the other hand, is a crutch for when
> developers make in-place edits to ebuilds and don't make the necessary
> revision bump. The revision bump is required, but sometimes people
> forget or are just assholes and don't care that this is a huge hassle
> for end users. When you use --changed-deps, portage scans the tree for
> those sorts of mistakes, and rebuilds the packages that have been
> changed in-place, without regard to where in the dependency graph they lie.
>

To be fair --changed-deps also forces builds that aren't really
necessary.  Not all dep changes necessarily require a revbump.
However, you are right that these do get missed when they are
necessary, and really devs should just default to revbumping except
when they know it isn't needed.

I'm willing to bet that 95% of the --changed-deps rebuilds aren't
necessary.  The problem is that when one is necessary it tends to
result in problems that the average user is going to struggle to
troubleshoot.  I suspect most users would rather do a few more
rebuilds than to have stuff break mysteriously and be forced to try to
figure out what combination of package rebuilds is necessary to get it
working, and most people probably would prefer extra builds to
breakage even if it was easy to troubleshoot.

-- 
Rich

Reply via email to