Grafting sometimes include all the outputs of a package

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Simon Tournier
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal

Debbugs page

L
L
Ludovic Courtès wrote on 26 Mar 2018 06:59
(address . bug-guix@gnu.org)
87y3ifc4z9.fsf@gnu.org
Hello,

I noticed my /run/current-system would depend on two different
‘network-manager’.

Looking more closely, both are grafts, but the different is that the
first one only has the “out” output while the other one has “out” and
“doc”:

Toggle snippet (21 lines)
$ guix gc --referrers "/gnu/store/ia69421l4wxny3k38zj5ql7bxsnasbfq-network-manager-1.8.4.drv"
/gnu/store/68gfp5ac9rp4p9vsb0rrnvxa2fy1w4w9-profile.drv
/gnu/store/6mivj4kfa7qx1z47f3kgfxfzm4148wwi-info-dir.drv
/gnu/store/7skqpm8a0h6cvzwbj6m0zjjdgg676gm1-dbus-system-services.drv
/gnu/store/84xhi03ikjcrr6vpkbvqy12a5s9imbxx-etc-polkit-1.drv
/gnu/store/8gcq4gvghnp830kz9rs4ra9b8m8cggmn-dbus-configuration.drv
/gnu/store/c40mizbls6b91jifib2z9xhasqc2m45f-xdg-desktop-database.drv
/gnu/store/dc1vrv9jf8bf1dl94v8k04rjv69rjc6s-ca-certificate-bundle.drv
/gnu/store/hbzq0f0fmfylv380k315j56qpqj7hpbi-shepherd-networking.scm.drv
/gnu/store/jhdxpzj8f4ar8bp8pi3nvjn4fkiqg3d5-manual-database.drv
/gnu/store/q94jkh8vf6sdvx9lg9gx9z6nans85sai-fonts-dir.drv
/gnu/store/yz5mp49js753xcidl20lddl5xq2i2c9f-xdg-mime-database.drv
$ guix gc --referrers "/gnu/store/gpvbfa0bgz5v0n4lcyv0mp3mh44p8dvy-network-manager-1.8.4.drv"
/gnu/store/332xw1rgi24v7vf3m8v8wgzbn34n037a-network-manager-applet-1.8.4.drv
/gnu/store/m2j527i7mfvh6zayx3yn4jv64hqw28s0-network-manager-openvpn-1.8.0.drv
$ head -c 50 "/gnu/store/ia69421l4wxny3k38zj5ql7bxsnasbfq-network-manager-1.8.4.drv"
Derive([("doc","/gnu/store/53lsazvjjsf6ib0s2cgxrqn$
$ head -c 50 "/gnu/store/gpvbfa0bgz5v0n4lcyv0mp3mh44p8dvy-network-manager-1.8.4.drv"
Derive([("out","/gnu/store/hsy71fkli9blh34np008j3j

I believe this is because the optimization in commit
482fda2729c3e76999892cb8f9a0391a7bd37119 work as expected when the graft
is used as a package input, but doesn’t fire when the package is used in
a gexp for instance.

That’s because ‘package-compiler’ calls ‘package-derivation’, which
doesn’t specify which output(s) we’re interested in.

Ludo’.
S
S
Simon Tournier wrote on 16 Jun 03:07 -0700
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 30952@debbugs.gnu.org)
87ikkw80fm.fsf@gmail.com
Hi Ludo

What is the status of this old bug


?

On Mon, 26 Mar 2018 at 15:59, ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (35 lines)
> I noticed my /run/current-system would depend on two different
> ‘network-manager’.
>
> Looking more closely, both are grafts, but the different is that the
> first one only has the “out” output while the other one has “out” and
> “doc”:
>
> $ guix gc --referrers "/gnu/store/ia69421l4wxny3k38zj5ql7bxsnasbfq-network-manager-1.8.4.drv"
> /gnu/store/68gfp5ac9rp4p9vsb0rrnvxa2fy1w4w9-profile.drv
> /gnu/store/6mivj4kfa7qx1z47f3kgfxfzm4148wwi-info-dir.drv
> /gnu/store/7skqpm8a0h6cvzwbj6m0zjjdgg676gm1-dbus-system-services.drv
> /gnu/store/84xhi03ikjcrr6vpkbvqy12a5s9imbxx-etc-polkit-1.drv
> /gnu/store/8gcq4gvghnp830kz9rs4ra9b8m8cggmn-dbus-configuration.drv
> /gnu/store/c40mizbls6b91jifib2z9xhasqc2m45f-xdg-desktop-database.drv
> /gnu/store/dc1vrv9jf8bf1dl94v8k04rjv69rjc6s-ca-certificate-bundle.drv
> /gnu/store/hbzq0f0fmfylv380k315j56qpqj7hpbi-shepherd-networking.scm.drv
> /gnu/store/jhdxpzj8f4ar8bp8pi3nvjn4fkiqg3d5-manual-database.drv
> /gnu/store/q94jkh8vf6sdvx9lg9gx9z6nans85sai-fonts-dir.drv
> /gnu/store/yz5mp49js753xcidl20lddl5xq2i2c9f-xdg-mime-database.drv
> $ guix gc --referrers "/gnu/store/gpvbfa0bgz5v0n4lcyv0mp3mh44p8dvy-network-manager-1.8.4.drv"
> /gnu/store/332xw1rgi24v7vf3m8v8wgzbn34n037a-network-manager-applet-1.8.4.drv
> /gnu/store/m2j527i7mfvh6zayx3yn4jv64hqw28s0-network-manager-openvpn-1.8.0.drv
> $ head -c 50 "/gnu/store/ia69421l4wxny3k38zj5ql7bxsnasbfq-network-manager-1.8.4.drv"
> Derive([("doc","/gnu/store/53lsazvjjsf6ib0s2cgxrqn$
> $ head -c 50 "/gnu/store/gpvbfa0bgz5v0n4lcyv0mp3mh44p8dvy-network-manager-1.8.4.drv"
> Derive([("out","/gnu/store/hsy71fkli9blh34np008j3j
>
> I believe this is because the optimization in commit
> 482fda2729c3e76999892cb8f9a0391a7bd37119 work as expected when the graft
> is used as a package input, but doesn’t fire when the package is used in
> a gexp for instance.
>
> That’s because ‘package-compiler’ calls ‘package-derivation’, which
> doesn’t specify which output(s) we’re interested in.

It contains this unique message from 2018. :-)

Cheers,
simon
L
L
Ludovic Courtès wrote on 16 Jun 06:19 -0700
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)(address . 30952@debbugs.gnu.org)
87zfe7ddsf.fsf@gnu.org
Hi Simon,

Simon Tournier <zimon.toutoune@gmail.com> writes:

Toggle quote (4 lines)
> What is the status of this old bug
>
> https://issues.guix.gnu.org/issue/30952

I’m afraid the problem still exists, after all these years:

Toggle snippet (38 lines)
$ guix gc -R $(readlink -f /run/current-system) |grep network-manager-1
/gnu/store/vp1nbd5lxf3gv76c4iswz8j1m1w1cz1n-network-manager-1.52.0
/gnu/store/a53c943yziixmd9xakrnmbhv2q3ysm7g-network-manager-1.52.0
$ guix system describe
Generation 350 juin 16 2025 08:44:09 (current)
file name: /var/guix/profiles/system-350-link
canonical file name: /gnu/store/yz698bi3lzngwnlf1qynw2n06zmyp9zr-system
label: GNU with Linux-Libre 6.14.11
bootloader: grub-efi
root device: label: "root"
kernel: /gnu/store/awmrxyh7i8phaqniwgmj7v4haxk8g9p2-linux-libre-6.14.11/bzImage
channels:
shepherd:
repository URL: https://codeberg.org/shepherd/shepherd.git
branch: main
commit: a451bdfb30bbe5d9a0f0bb57bdc44301001a6deb
guile:
repository URL: https://git.savannah.gnu.org/git/guile.git
branch: main
commit: af0123c8b975d0efd7952f2f3ddb67213aabee31
guix:
repository URL: https://git.guix.gnu.org/guix.git
branch: master
commit: 035bacebc21c263541b160bcdc27dc5ed36af551
configuration file: /gnu/store/gg27vbm73571s5ks12rrri9id11fkj5r-configuration.scm
$ guix gc -R $(readlink -f /run/current-system) |grep network-manager-1
/gnu/store/vp1nbd5lxf3gv76c4iswz8j1m1w1cz1n-network-manager-1.52.0
/gnu/store/a53c943yziixmd9xakrnmbhv2q3ysm7g-network-manager-1.52.0
$ guix gc --derivers /gnu/store/vp1nbd5lxf3gv76c4iswz8j1m1w1cz1n-network-manager-1.52.0
/gnu/store/i2nrmi2a21lza1vzapva2fbks7c86b1j-network-manager-1.52.0.drv
$ guix gc --derivers /gnu/store/a53c943yziixmd9xakrnmbhv2q3ysm7g-network-manager-1.52.0
/gnu/store/17x6jch6y433jy6la6fsadq4wwvhywzn-network-manager-1.52.0.drv
$ head -c70 /gnu/store/i2nrmi2a21lza1vzapva2fbks7c86b1j-network-manager-1.52.0.drv
Derive([("out","/gnu/store/vp1nbd5lxf3gv76c4iswz8j1m1w1cz1n-network-ma$
$ head -c70 /gnu/store/17x6jch6y433jy6la6fsadq4wwvhywzn-network-manager-1.52.0.drv
Derive([("doc","/gnu/store/g47v5izlnc514ljwl0254lbac7q4ynwp-network-ma$

Ludo’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 30952@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 30952
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch