On 03/14/2015 05:55 AM, Joakim Tjernlund wrote: > On Fri, 2015-03-13 at 10:51 -0700, Zac Medico wrote: >> On 03/13/2015 05:08 AM, Joakim Tjernlund wrote: >>> On Thu, 2015-03-12 at 17:51 -0700, Zac Medico wrote: >>>> On 03/12/2015 02:43 PM, Joakim Tjernlund wrote: >>>>> >>>>> >>>>> >>>>>> >>>>>>> Why is --dynamic-deps=y default? This feels like lying about your true >>>>>>> deps, I am probably missing >>>>>>> something here, an example would be great:) >>>>>> >>>>>> It's a legacy behavior, since portage has always behaved this way, and >>>>>> ebuild developers have >>>>>> relied >>>>>> upon >>>>>> it (resulting in broken dependency calculations without it). >>>>> >>>>> Here is odd difference: >>>>> >>>>> emerge --dynamic-deps=n changed-deps=y -a1 vanilla-sources >>>>> ... >>>>> Nothing to merge >>>>> >>>> >>>> That's normal, because --changed-deps implies --selective (a number of >>>> options do this). If you add -- >>>> selective=n to the above command, you'll get the same result regardless of >>>> the --changed-deps option. >>> >>> I just did a sync and "emerge -aNDu --dynamic-deps=n --changed-deps=y >>> --selective=n world" and >>> again portage wanted to rebuild > 150 pkgs. >>> --selective=n seems to be the culprit, should I expect this from >>> --selective=n ? >> >> Yes --selective=n is the opposite of --noreplace, so for the above command, >> it will rebuild everything in >> /var/lib/portage/world. > > hmm, this kind of a bummer
I don't understand your motivation for using --selective=n with that command. Isn't the command useful without it? > --dynamic-deps=n implies --changed-deps=y which implies --selective=n > and this makes the whole world to rebuild. No, don't use --selective=n. I only mentioned it in order to explain the behavior that you observed. > Using just --dynamic-deps=n was not really safe if I understood corretly? It's safe, but you may need --changed-deps in order for your dependency calculations to work (depends on how the dependencies of your installed packages have changed). -- Thanks, Zac
