Grafting sometimes include all the outputs of a package

  • Open
  • quality assurance status badge
Details
One participant
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 26 Mar 2018 15: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’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 30952@debbugs.gnu.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