Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] custom profiles?
Date: Sat, 14 Mar 2015 18:51:15
Message-Id: 5504831F.1020405@gentoo.org
In Reply to: Re: [gentoo-portage-dev] custom profiles? by Joakim Tjernlund
1 On 03/14/2015 11:35 AM, Joakim Tjernlund wrote:
2 > On Sat, 2015-03-14 at 10:58 -0700, Zac Medico wrote:
3 >> On 03/14/2015 05:55 AM, Joakim Tjernlund wrote:
4 >>> On Fri, 2015-03-13 at 10:51 -0700, Zac Medico wrote:
5 >>>> On 03/13/2015 05:08 AM, Joakim Tjernlund wrote:
6 >>>>> On Thu, 2015-03-12 at 17:51 -0700, Zac Medico wrote:
7 >>>>>> On 03/12/2015 02:43 PM, Joakim Tjernlund wrote:
8 >>>>>>>
9 >>>>>>>
10 >>>>>>>
11 >>>>>>>>
12 >>>>>>>>> Why is --dynamic-deps=y default? This feels like lying about your true deps, I am probably
13 >>>>>>>>> missing
14 >>>>>>>>> something here, an example would be great:)
15 >>>>>>>>
16 >>>>>>>> It's a legacy behavior, since portage has always behaved this way, and ebuild developers have
17 >>>>>>>> relied
18 >>>>>>>> upon
19 >>>>>>>> it (resulting in broken dependency calculations without it).
20 >>>>>>>
21 >>>>>>> Here is odd difference:
22 >>>>>>>
23 >>>>>>> emerge --dynamic-deps=n changed-deps=y -a1 vanilla-sources
24 >>>>>>> ...
25 >>>>>>> Nothing to merge
26 >>>>>>>
27 >>>>>>
28 >>>>>> That's normal, because --changed-deps implies --selective (a number of options do this). If you add
29 >>>>>> --
30 >>>>>> selective=n to the above command, you'll get the same result regardless of the --changed-deps
31 >>>>>> option.
32 >>>>>
33 >>>>> I just did a sync and "emerge -aNDu --dynamic-deps=n --changed-deps=y --selective=n world" and
34 >>>>> again portage wanted to rebuild > 150 pkgs.
35 >>>>> --selective=n seems to be the culprit, should I expect this from --selective=n ?
36 >>>>
37 >>>> Yes --selective=n is the opposite of --noreplace, so for the above command, it will rebuild everything
38 >>>> in
39 >>>> /var/lib/portage/world.
40 >>>
41 >>> hmm, this kind of a bummer
42 >>
43 >> I don't understand your motivation for using --selective=n with that command. Isn't the command useful
44 >> without it?
45 >
46 > I have it my default emerge options
47 >
48 >>
49 >>> --dynamic-deps=n implies --changed-deps=y which implies --selective=n
50 >>> and this makes the whole world to rebuild.
51 >>
52 >> No, don't use --selective=n. I only mentioned it in order to explain the behavior that you observed.
53 >>
54 >>> Using just --dynamic-deps=n was not really safe if I understood corretly?
55 >>
56 >> It's safe, but you may need --changed-deps in order for your dependency calculations to work (depends on
57 >> how the dependencies of your installed packages have changed).
58 >
59 > I am trying to find out what to put in emerge default options and this "may need"
60 > does relay compute in terms of default options.
61
62 Right, options that imply --selective are not well suited for
63 EMERGE_DEFAULT_OPTS unless you also put --selective=n in
64 EMERGE_DEFAULT_OPTS, and then use --selective just for the commands that
65 require it.
66
67 As an alternative, we can add support for command-specific default
68 options, as discussed here:
69
70 https://bugs.gentoo.org/show_bug.cgi?id=540250#c1
71
72 > Does --dynamic-deps=n only work reliable with emerge -NDu world ?
73
74 No, it's well suited for EMERGE_DEFAULT_OPTS. It's just that you may
75 find that you encounter dependency conflicts for some calculations
76 unless you use --changed-deps. I use --changed-deps for all of my world
77 updates.
78 --
79 Thanks,
80 Zac