-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 03 Jun 2014 09:26:09 -0400 Ian Stakenvicius <a...@gentoo.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > On 03/06/14 08:08 AM, Tom Wijsman wrote: > > On Tue, 3 Jun 2014 07:35:42 -0400 Rich Freeman <ri...@gentoo.org> > > wrote: > > > >> This probably could have used a news item, as the change impacts > >> both stable and ~arch users. > > > > Are we going to write a news item every time systemd acquires a > > new mandatory relationship with a reverse dependency? > > > >> They need to do an "emerge -1 sys-power/upower-pm-utils" to > >> actually get the new package, > > > > But the user doesn't want systemd; so, then why does the user have > > to perform a manual step every time that systemd has an > > acquirement? > > That's easy -- we don't have a way to do vdb updates that will split a > package, only move a package. And since this isn't a package move (as > the original package still exists) we can't leverage that. - From the dependency viewpoint this isn't a package split or move, it is rather an introduction of || ( A B ) "alternatives" in the dependency chain. In this case, the first option (A) is tried and exhausted; this complexity results in other options (B) not being thoroughly considered. If you want Portage to make a transition to alternatives, you need to get a mask in place for the first option; so, we can leverage this: 1. || ( A B ) with A masked causes Portage to install B instead; 2. || ( <A-0.99 B ) with >=A-0.99 masked causes a downgrade to <A-2. So, what misses here is that mask; which you could put in a mix-in. (In this specific case A is upower and B is upower-pm-utils.) > >> otherwise portage is going to try to switch them from udev to > >> systemd, > > > > There is the problem, the user doesn't want systemd; so, why is > > Portage (regardless of a systemd mask) trying to bring it to the > > user anyway? > > > >> since packages like kdelibs list upower first, and portage has no > >> way of knowing that this is a big change. > > > > And this is where you can make Portage smarter. > > > > http://www.funtoo.org/Flavors_and_Mix-ins > > > > We don't have to go through all this if you had a "no-systemd" > > mix-in, where you could simply make out the choices in favor of the > > user instead of having to document and announce them all over the > > place. > > > > That mix-in could do something like masking the new upower that > > depends on systemd; when doing so, no more blockers all over the > > place. > > > > Technically we could do this via a systemd profile too -- ie, mask new > upower everywhere but systemd profiles, and in systemd profile mask > upower-pm-utils. In doing so, you assume that non-systemd profiles are anti-systemd; however, that's not the case. Currently GNOME and KDE have systemd profiles; but, there are a lot of other desktop environments in the Portage tree that have support for systemd. So, this means we would have to go and create a profile for each desktop environment and within such profile yet another profile for systemd; this becomes somewhat tedious if you can cover all that in a mixin instead. You're going to need mixins at some point when it's not just "systemd" that is a specialization but something else as well; unless you want to create even more directories for the possible combinations: - gnome/somethingelse - gnome/systemd - gnome/systemd+somethingelse > However, that doesn't get around the actual need to > - --unmerge upower and emerge upower-pm-utils (or hopefully just do > the latter as a soft-block will do the unmerge?) Portage does this for you if you mask upower and provide it with sufficient backtracking; so, there's no need to do this manually. More explicitly noted: An upower mask allows us to say that an upgrade should do `emerge -C upower` and `emerge upower-pm-utils`, in the case that there is || ( upower upower-pm-utils ) listed as a dependency. Unless you have selected upower on purpose; which would be a different case than the one we're discussing here, also giving different output as it'll point out that @selected brings in what (upower) has been masked. - -- With kind regards, Tom Wijsman (TomWij) Gentoo Developer E-mail address : tom...@gentoo.org GPG Public Key : 6D34E57D GPG Fingerprint : C165 AF18 AB4C 400B C3D2 ABF0 95B2 1FCD 6D34 E57D -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBAgAGBQJTjdWXAAoJEPWZc8roOL/QTwAIAJeYIYpF4JIclsGY67ZHDpuM D2rY3JlCEof4iMcPGccR+lsiTWp0inRRkR5YYejPTMupD/MUqmhuxAogLcUE79m6 lBGQOmO9G4Iduvuoesa99x7UUW6Ihx9TrmoPmn++S9Bn8FrFq+52rUkRDFrlbsrP +wyrc2Dh8SQlI7Bf2r0WcloE9xb+TVXKeyJeZs9eN0afQXqtFJraoGuPYsj7yF7f JWHq26HWRBd+EM8Gyx0OHgPW4Uc7mwhabywxfh44HcjLvh5DN+4/fXbLXc6ytBvi Z5+4UMMXNEUloovKKHT45uVCJ159njFk9KW5SQhKRihaQD63USMm+sKGm0Kx0Ek= =Sugk -----END PGP SIGNATURE-----