Multiple output packages causes noop profile generations

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Marius Bakke
Owner
unassigned
Submitted by
Marius Bakke
Severity
normal
M
M
Marius Bakke wrote on 2 Dec 2016 18:43
(address . bug-guix@gnu.org)
8760n2cjl1.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me
Sorry for the non-descriptive title. It appears that having non-default
outputs in the profile always causes a new profile generation even if
the package derivations themselves don't change. Here is an example:

$ guix package -u
The following packages will be upgraded:
bind:utils 9.10.4-P4 → 9.10.4-P4 /gnu/store/ypv8jppwn3dvhnkrmibw3p2h35cm30ij-bind-9.10.4-P4-utils
git:send-email 2.11.0 → 2.11.0 /gnu/store/xnm8msrlh4ac9bxzvf9pgai8xnjjkvwj-git-2.11.0-send-email
transmission:gui 2.92 → 2.92 /gnu/store/x2q22mfakkkf7nr68nfsxcvci4psz0vi-transmission-2.92-gui

substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivations will be built:
/gnu/store/ws9msik5wm3qqzmi6j0ff5qhf8bzhr20-profile.drv
/gnu/store/zlxic4wlk32zl2w1mrjx4n8qn0kabsg8-fonts-dir.drv
/gnu/store/scap2hk64ly2g1jh00xzxg36w8bp7mih-xdg-mime-database.drv
/gnu/store/n5vb0ysg3b3kx62dlszppnz9cp9xc9gr-info-dir.drv
/gnu/store/laqlnv1dgf7dsj1kyznbqq7vj306p3xg-gtk-im-modules.drv
/gnu/store/d5dr00lcv7f290x59mpbbwxfz6pl75hq-gtk-icon-themes.drv
/gnu/store/60r69w2jfq3pwaijwh3qrpwvzfbhg70p-ca-certificate-bundle.drv
49 packages in profile

Those packages already were at the latest versions and a new empty
generation is created. Running the same command again:

$ guix package -u
The following packages will be upgraded:
transmission:gui 2.92 → 2.92 /gnu/store/x2q22mfakkkf7nr68nfsxcvci4psz0vi-transmission-2.92-gui
git:send-email 2.11.0 → 2.11.0 /gnu/store/xnm8msrlh4ac9bxzvf9pgai8xnjjkvwj-git-2.11.0-send-email
bind:utils 9.10.4-P4 → 9.10.4-P4 /gnu/store/ypv8jppwn3dvhnkrmibw3p2h35cm30ij-bind-9.10.4-P4-utils

substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivations will be built:
/gnu/store/l0cn4ywl69g05am2qv582l5hxpqa2y2g-profile.drv
/gnu/store/qr24xwmp9prqy1yyyp3yha61a7pf2hhw-ca-certificate-bundle.drv
/gnu/store/kg0xd3rjjclgiin1dk772svhinzad220-info-dir.drv
/gnu/store/hh2477qjgg9kl77c6arnrlrlmkw7nyhb-gtk-im-modules.drv
/gnu/store/fwjbhn15g7s56rcpk5afj8a6w4p15wv2-gtk-icon-themes.drv
/gnu/store/6ibbk1jags9249lvjpcrlzljvjjzzkvq-fonts-dir.drv
/gnu/store/61260hfwwx7wjz140sp280qzmjwxlcfw-xdg-mime-database.drv
49 packages in profile

Output of "guix package --list-generations":

[...lots of generations...]

Generation 71 Dec 02 2016 17:37:47

Generation 72 Dec 02 2016 17:46:21 (current)

Diffing the profile derivations only shows changes to
ca-certificate-bundle.drv, gtk-icon-themes.drv, fonts-dir.drv,
gtk-im-modules.drv, info-dir.drv, xdg-mime-database.drv, the profiles
themselves, and the profile-builder. Although the order is different.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlhBstoACgkQoqBt8qM6
VPpV1ggAzfWYEKTMPie0wvJAxeHYJZ5rN5lwUhYvpmUhQzKTouueAp8fR35mGSlE
f2rhSmKQBO2Ck7j339wUANDnRjgN0g444iuNHuzmbJBRji+wbjQnAgAHFKFjJhph
ZBKDVoSBsnFWE3s8lrUnnFSNtWUOngxn1427fPrhOcjqSirRLm0zDImH9b5elBxT
dsrl7B25A99HserlT43UP2dymFrQiD1pFJSRPUjPg2gLk/7R9KE6tvJSAQ7RllE/
TY+bRnyVidz+3lW2wU4LKBnIb3rIEX2sFNdeI9R3u0IRj5Lsjwp5MT31zy0JDbfS
9dov6bCGOLaJcahJ2/uDFddA9K/r3A==
=KMDc
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 4 Dec 2016 00:58
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 25095@debbugs.gnu.org)
87eg1o8t0v.fsf@gnu.org
Marius Bakke <mbakke@fastmail.com> skribis:

Toggle quote (10 lines)
> Sorry for the non-descriptive title. It appears that having non-default
> outputs in the profile always causes a new profile generation even if
> the package derivations themselves don't change. Here is an example:
>
> $ guix package -u
> The following packages will be upgraded:
> bind:utils 9.10.4-P4 → 9.10.4-P4 /gnu/store/ypv8jppwn3dvhnkrmibw3p2h35cm30ij-bind-9.10.4-P4-utils
> git:send-email 2.11.0 → 2.11.0 /gnu/store/xnm8msrlh4ac9bxzvf9pgai8xnjjkvwj-git-2.11.0-send-email
> transmission:gui 2.92 → 2.92 /gnu/store/x2q22mfakkkf7nr68nfsxcvci4psz0vi-transmission-2.92-gui

[...]

Toggle quote (6 lines)
> $ guix package -u
> The following packages will be upgraded:
> transmission:gui 2.92 → 2.92 /gnu/store/x2q22mfakkkf7nr68nfsxcvci4psz0vi-transmission-2.92-gui
> git:send-email 2.11.0 → 2.11.0 /gnu/store/xnm8msrlh4ac9bxzvf9pgai8xnjjkvwj-git-2.11.0-send-email
> bind:utils 9.10.4-P4 → 9.10.4-P4 /gnu/store/ypv8jppwn3dvhnkrmibw3p2h35cm30ij-bind-9.10.4-P4-utils

Notice how the order was reversed. :-)

This is enough to create a new generation (the order of packages in the
manifest matters because it changes the way collisions are resolved, if
any.)

The reverse is unintended, but I suspect it has nothing to do with
multiple-output packages.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 11 Jan 2017 17:23
control message for bug #25095
(address . control@debbugs.gnu.org)
87tw95wop9.fsf@gnu.org
tags 25095 notabug
close 25095
?