(address . bug-guix@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’.