Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH v2] emerge: auto-enable --with-bdeps if --usepkg is not enabled (bug 598444)
Date: Sun, 05 Mar 2017 21:36:40
Message-Id: 86b4f38f-acd3-3752-2b7f-561ea09ec540@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH v2] emerge: auto-enable --with-bdeps if --usepkg is not enabled (bug 598444) by Michael Orlitzky
1 On 03/05/2017 11:44 AM, Michael Orlitzky wrote:
2 > On 03/05/2017 02:12 PM, Zac Medico wrote:
3 >>
4 >> Incorrect.
5 >>
6 >> ...
7 >>
8 >> Incorrect.
9 >>
10 >
11 > I see my mistakes, but maintain that this is confusing =)
12
13 It could be worse, and I think it's questionable that we could do any
14 better, given the nature of the problem.
15
16 >> The --with-bdeps-auto option results in desirable behavior by default,
17 >> and it's also backward compatible with existing --with-bdeps and
18 >> --usepkg usage. It just does the right thing, minimizing the impact to
19 >> existing emerge usage.
20 >
21 > I was hoping that since nothing breaks with --update-bdeps=y and
22 > --clean-bdeps=n (the new defaults), we could just disable --with-bdeps
23 > immediately and emit a warning when it's given.
24
25 Breaking backward compatibility is too disruptive, unless we allow for a
26 transition period where --with-bdeps is deprecated.
27
28 >> There some problems with --update-bdeps/--clean-bdeps:
29 >>
30 >> * The program logic will be more complicated, since --with-bdeps will
31 >> have to override both options for backward-compatibility with existing
32 >> --with-bdeps usage.
33 >
34 > Not applicable if --with-bdeps goes away.
35
36 We don't have a justification to break compatibility without a
37 transition period.
38
39 >> * The meaning of --clean-bdeps is confusing. Does --clean-bdeps=y mean
40 >> to clean build time deps, or does it mean to pull build time deps into
41 >> the dependency graph for removal operations?
42 >
43 > --clean-bdeps means clean the bdeps.
44
45 It's confusing to have an option with inverted meaning relative to
46 --with-bdeps. Cleaning the bdeps is a consequence of excluding them from
47 the dependency graph, not an action in itself. --clean-bdeps sounds like
48 an action.
49
50 > I totally agree that the worst option of all is to keep --with-bdeps AND
51 > introduce the other two.
52 --
53 Thanks,
54 Zac