Gentoo Archives: gentoo-dev

From: Tom Wijsman <TomWij@g.o>
To: gentoo-dev@l.g.o
Cc: axs@g.o
Subject: Re: [gentoo-dev] Re: UPower upstream (git master) and 0.99 release -> No sys-power/pm-utils support anymore
Date: Tue, 03 Jun 2014 14:04:01
Message-Id: 20140603160302.4219420c@gentoo.org
In Reply to: Re: [gentoo-dev] Re: UPower upstream (git master) and 0.99 release -> No sys-power/pm-utils support anymore by Ian Stakenvicius
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 On Tue, 03 Jun 2014 09:26:09 -0400
5 Ian Stakenvicius <axs@g.o> wrote:
6
7 > -----BEGIN PGP SIGNED MESSAGE-----
8 > Hash: SHA256
9 >
10 > On 03/06/14 08:08 AM, Tom Wijsman wrote:
11 > > On Tue, 3 Jun 2014 07:35:42 -0400 Rich Freeman <rich0@g.o>
12 > > wrote:
13 > >
14 > >> This probably could have used a news item, as the change impacts
15 > >> both stable and ~arch users.
16 > >
17 > > Are we going to write a news item every time systemd acquires a
18 > > new mandatory relationship with a reverse dependency?
19 > >
20 > >> They need to do an "emerge -1 sys-power/upower-pm-utils" to
21 > >> actually get the new package,
22 > >
23 > > But the user doesn't want systemd; so, then why does the user have
24 > > to perform a manual step every time that systemd has an
25 > > acquirement?
26 >
27 > That's easy -- we don't have a way to do vdb updates that will split a
28 > package, only move a package. And since this isn't a package move (as
29 > the original package still exists) we can't leverage that.
30
31 - From the dependency viewpoint this isn't a package split or move, it is
32 rather an introduction of || ( A B ) "alternatives" in the dependency
33 chain. In this case, the first option (A) is tried and exhausted; this
34 complexity results in other options (B) not being thoroughly considered.
35
36 If you want Portage to make a transition to alternatives, you need to
37 get a mask in place for the first option; so, we can leverage this:
38
39 1. || ( A B ) with A masked causes Portage to install B instead;
40 2. || ( <A-0.99 B ) with >=A-0.99 masked causes a downgrade to <A-2.
41
42 So, what misses here is that mask; which you could put in a mix-in.
43
44 (In this specific case A is upower and B is upower-pm-utils.)
45
46 > >> otherwise portage is going to try to switch them from udev to
47 > >> systemd,
48 > >
49 > > There is the problem, the user doesn't want systemd; so, why is
50 > > Portage (regardless of a systemd mask) trying to bring it to the
51 > > user anyway?
52 > >
53 > >> since packages like kdelibs list upower first, and portage has no
54 > >> way of knowing that this is a big change.
55 > >
56 > > And this is where you can make Portage smarter.
57 > >
58 > > http://www.funtoo.org/Flavors_and_Mix-ins
59 > >
60 > > We don't have to go through all this if you had a "no-systemd"
61 > > mix-in, where you could simply make out the choices in favor of the
62 > > user instead of having to document and announce them all over the
63 > > place.
64 > >
65 > > That mix-in could do something like masking the new upower that
66 > > depends on systemd; when doing so, no more blockers all over the
67 > > place.
68 > >
69 >
70 > Technically we could do this via a systemd profile too -- ie, mask new
71 > upower everywhere but systemd profiles, and in systemd profile mask
72 > upower-pm-utils.
73
74 In doing so, you assume that non-systemd profiles are anti-systemd;
75 however, that's not the case. Currently GNOME and KDE have systemd
76 profiles; but, there are a lot of other desktop environments in the
77 Portage tree that have support for systemd.
78
79 So, this means we would have to go and create a profile for each
80 desktop environment and within such profile yet another profile for
81 systemd; this becomes somewhat tedious if you can cover all that in a
82 mixin instead.
83
84 You're going to need mixins at some point when it's not just "systemd"
85 that is a specialization but something else as well; unless you want to
86 create even more directories for the possible combinations:
87
88 - gnome/somethingelse
89 - gnome/systemd
90 - gnome/systemd+somethingelse
91
92 > However, that doesn't get around the actual need to
93 > - --unmerge upower and emerge upower-pm-utils (or hopefully just do
94 > the latter as a soft-block will do the unmerge?)
95
96 Portage does this for you if you mask upower and provide it with
97 sufficient backtracking; so, there's no need to do this manually.
98
99 More explicitly noted: An upower mask allows us to say that an upgrade
100 should do `emerge -C upower` and `emerge upower-pm-utils`, in the case
101 that there is || ( upower upower-pm-utils ) listed as a dependency.
102
103 Unless you have selected upower on purpose; which would be a different
104 case than the one we're discussing here, also giving different output as
105 it'll point out that @selected brings in what (upower) has been masked.
106
107 - --
108 With kind regards,
109
110 Tom Wijsman (TomWij)
111 Gentoo Developer
112
113 E-mail address : TomWij@g.o
114 GPG Public Key : 6D34E57D
115 GPG Fingerprint : C165 AF18 AB4C 400B C3D2 ABF0 95B2 1FCD 6D34 E57D
116 -----BEGIN PGP SIGNATURE-----
117 Version: GnuPG v2.0.22 (GNU/Linux)
118
119 iQEcBAEBAgAGBQJTjdWXAAoJEPWZc8roOL/QTwAIAJeYIYpF4JIclsGY67ZHDpuM
120 D2rY3JlCEof4iMcPGccR+lsiTWp0inRRkR5YYejPTMupD/MUqmhuxAogLcUE79m6
121 lBGQOmO9G4Iduvuoesa99x7UUW6Ihx9TrmoPmn++S9Bn8FrFq+52rUkRDFrlbsrP
122 +wyrc2Dh8SQlI7Bf2r0WcloE9xb+TVXKeyJeZs9eN0afQXqtFJraoGuPYsj7yF7f
123 JWHq26HWRBd+EM8Gyx0OHgPW4Uc7mwhabywxfh44HcjLvh5DN+4/fXbLXc6ytBvi
124 Z5+4UMMXNEUloovKKHT45uVCJ159njFk9KW5SQhKRihaQD63USMm+sKGm0Kx0Ek=
125 =Sugk
126 -----END PGP SIGNATURE-----