GNU bug report logs - #23132
Grafted system retains references to original store items

Previous Next

Package: guix;

Reported by: Mark H Weaver <mhw <at> netris.org>

Date: Mon, 28 Mar 2016 03:41:02 UTC

Severity: important

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 23132 in the body.
You can then email your comments to 23132 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#23132; Package guix. (Mon, 28 Mar 2016 03:41:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mark H Weaver <mhw <at> netris.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 28 Mar 2016 03:41:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: bug-guix <at> gnu.org
Subject: Grafted system retains references to original store items
Date: Sun, 27 Mar 2016 23:39:42 -0400
While testing my preliminary work on grafting improvements, I discovered
that my current system is retaining references to the original flawed
openssl-1.0.2f.  One path of references goes like this:

   /gnu/store/pnbljdp1hpsvnbgqfl8bws7lpj7pm8cb-system
-> /gnu/store/bzdhckvz4sms136fw64pvyhajawdb8ri-profile
-> /gnu/store/dhrgkq1zfkkc5rnz51qlshakapsa2sgm-gnome-session-3.18.1.2
-> /gnu/store/55pqh3wl085d4h033n41b7x0fg9djd1k-glib-2.46.1-bin
-> /gnu/store/kkn66257xrrjhyhq332bndhjpz4d9x76-python-wrapper-3.4.3
-> /gnu/store/qrg3jza3p5281p255cx0lsqk8snbb6pq-python-3.4.3
-> /gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f

The gnome-session store item above was created by a grafting derivation,
and all of the ones that follow (starting with glib-2.46.1-bin) are
ungrafted derivations.  The grafting derivation for gnome-session failed
to include a mapping for glib-2.46.1-bin.

  mhw <at> jojen:~$ guix build --log-file /gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f
  https://hydra.gnu.org/log/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f

Here's the .drv file for the gnome-session store item above:

  mhw <at> jojen:~$ guix build --log-file /gnu/store/dhrgkq1zfkkc5rnz51qlshakapsa2sgm-gnome-session-3.18.1.2
  /var/log/guix/drvs/b9/n4f67h7fi7l3g5brws2bxlpfx9qvgb-gnome-session-3.18.1.2.drv.bz2
  mhw <at> jojen:~$ bzcat /var/log/guix/drvs/b9/n4f67h7fi7l3g5brws2bxlpfx9qvgb-gnome-session-3.18.1.2.drv.bz2
  grafting '/gnu/store/2f25m1jyy7lvkjqgilza6bafbnv3k044-gnome-session-3.18.1.2' -> '/gnu/store/dhrgkq1zfkkc5rnz51qlshakapsa2sgm-gnome-session-3.18.1.2'...
  mhw <at> jojen:~$ cat /gnu/store/b9n4f67h7fi7l3g5brws2bxlpfx9qvgb-gnome-session-3.18.1.2.drv
  Derive([("out","/gnu/store/dhrgkq1zfkkc5rnz51qlshakapsa2sgm-gnome-session-3.18.1.2","","")],[("/gnu/store/01fyw4i0n31jlc96bwfqc1k9nf0qpj9f-harfbuzz-1.0.6.drv",["out"]),("/gnu/store/023cbj8wlhqmzi0mcn4gkrbnya931a4v-gtk+-3.18.2.drv",["out"]),("/gnu/store/060zw0zzaavja4nmd6qwj1ik5gnx603l-cups-2.1.0.drv",["out"]),("/gnu/store/0h6js55xwls65g2v4dmg847xbdxcpk29-librsvg-2.40.13.drv",["out"]),("/gnu/store/0k7ghiwfsm2d35jn2hmlylkw1d61lyc4-cups-filters-1.4.0.drv",["out"]),("/gnu/store/0m8lfd0y29jhffm3k4r5260282z06r0r-module-import-compiled.drv",["out"]),("/gnu/store/1s6fgn054951yv4bqlpr0vdqb9qvmbkm-pango-1.38.1.drv",["out"]),("/gnu/store/3lchcs3vm4a6r4lknhc0dvc0v0fq1sas-gtk+-3.18.2.drv",["out"]),("/gnu/store/50bb3x82p2hzi9qhmj7qlnzxa3x6xsim-gnome-desktop-3.18.1.drv",["out"]),("/gnu/store/64kkvvcm0zks5cysg89gkcw6a69g5pp2-qpdf-5.1.3.drv",["out"]),("/gnu/store/72qn0wwgdkv8011c1cdrwjbwbqkw1kn1-graphite2-1.3.5.drv",["out"]),("/gnu/store/7l31sjng02yzrl05ki1i16j5mx60lkcy-pango-1.38.1.drv",["out"]),("/gnu/store/9hh2cmj6zabrr7acdmq03bmzsa12vrxp-perl-5.22.1.drv",["out"]),("/gnu/store/a2n2jp4q8yp2ss2dgk3av0bkyqkhjiz1-cups-filters-1.4.0.drv",["out"]),("/gnu/store/bzp5jkh7xgbjb1i2mm0is9bkx7p3fp7f-harfbuzz-1.0.6.drv",["out"]),("/gnu/store/fi41w9iaxi7fm22w55zj86yjbhs8fqf9-openssl-1.0.2f.drv",["out"]),("/gnu/store/fr65rd4r3rlch9r41cvf266wxcqmfbfj-gnome-session-3.18.1.2.drv",["out"]),("/gnu/store/gh2rxq397g7qmjpsg0qcni6pdnrp93a2-graphite2-1.3.5.drv",["out"]),("/gnu/store/i6yfwxiqn3awwg6fh44m5mw8hkq1c0jh-openssl-1.0.2f.drv",["out"]),("/gnu/store/imin0ijzdfg3pw2nirjwsxg086yxx4p2-module-import.drv",["out"]),("/gnu/store/lmxk7qlhqmycd3194d51m97spbhr06dh-perl-5.22.1.drv",["out"]),("/gnu/store/mh24bqnzini70k5s74j816q4jyqf2zmj-perl-5.22.1.drv",["out"]),("/gnu/store/nrw3x5vmk4fygvs7vgpci4pyhl6lwwkd-guile-2.0.11.drv",["out"]),("/gnu/store/r54za3ymsl5jlshhm9x8l1c590fgp68n-cups-2.1.0.drv",["out"]),("/gnu/store/riwksncgzzy1hfliarp6hlrvzgkk3285-perl-5.22.1.drv",["out"]),("/gnu/store/yp83gnlzc3kv8w338pij90rasr5bysx9-qpdf-5.1.3.drv",["out"]),("/gnu/store/zv162a9wn4752cfx7112c6whd7hsdx7k-gnome-desktop-3.18.1.drv",["out"]),("/gnu/store/zvl8f5d1vh7l19almlkqfgx6ig4qgh78-librsvg-2.40.13.drv",["out"])],["/gnu/store/60a5vinj56nhxzszfyayjjy61b303c8r-gnome-session-3.18.1.2-guile-builder"],"i686-linux","/gnu/store/77ipqajm5fyawv6fqrpm232k4qp6flik-guile-2.0.11/bin/guile",["--no-auto-compile","-L","/gnu/store/6xy20xcbxl6yzp5p2g28ly06yc36cxbl-module-import","/gnu/store/60a5vinj56nhxzszfyayjjy61b303c8r-gnome-session-3.18.1.2-guile-builder"],[("GUILE_LOAD_COMPILED_PATH","/gnu/store/lnixf02i03307hn5icfax083nal12bks-module-import-compiled"),("out","/gnu/store/dhrgkq1zfkkc5rnz51qlshakapsa2sgm-gnome-session-3.18.1.2"),("preferLocalBuild","1")])

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#23132; Package guix. (Mon, 28 Mar 2016 16:34:02 GMT) Full text and rfc822 format available.

Message #8 received at 23132 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: 23132 <at> debbugs.gnu.org
Subject: Re: bug#23132: Grafted system retains references to original store
 items
Date: Mon, 28 Mar 2016 12:32:51 -0400
I should have also included the guile-builder used by the gnome-session
grafting derivation.  Here it is:

/gnu/store/60a5vinj56nhxzszfyayjjy61b303c8r-gnome-session-3.18.1.2-guile-builder

contains:

(begin (use-modules (guix build graft) (guix build utils) (ice-9 match)) (define %output (getenv "out")) (define %outputs (map (lambda (o) (cons o (getenv o))) (quote ("out")))) (define %build-inputs (quote (("x" . "/gnu/store/2f25m1jyy7lvkjqgilza6bafbnv3k044-gnome-session-3.18.1.2") ("x" . "/gnu/store/xd6qk8kad1466v9z74nmikhapz64cszp-graphite2-1.3.5") ("x" . "/gnu/store/b8sicbpsjabfhfszsajpfvjw8ynx97iw-perl-5.22.1") ("x" . "/gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f") ("x" . "/gnu/store/1146ja893l132cs1dn4jkmb047pw6rsk-perl-5.22.1") ("x" . "/gnu/store/6zsdzk0w99d5xmpw50mgqj9nfiwazpyx-gnome-desktop-3.18.1") ("x" . "/gnu/store/8s3k25609kj6cqfd737vd1y9wqfr0zzl-harfbuzz-1.0.6") ("x" . "/gnu/store/h3vpr7k7c2h3n7ixddyvr22sbzy98vhz-gtk+-3.18.2") ("x" . "/gnu/store/lhhgw9psfnf7c8sjax68sin7nqm3d2k0-cups-2.1.0") ("x" . "/gnu/store/bk3bplyp1cr6jv2hgv9d8cxlad3griqb-cups-filters-1.4.0") ("x" . "/gnu/store/2symxhixbs2rrhh59il0i8mlndl3x2d8-qpdf-5.1.3") ("x" . "/gnu/store/sxxqvvrf3f679m939yps51ddz327q0dr-pango-1.38.1") ("x" . "/gnu/store/zsaklr7zimhdnvb8z5yqld8jgqf31v9r-librsvg-2.40.13") ("x" . "/gnu/store/45j3scjfgz9ahlvn5lfqj2s0m2gkpdrk-graphite2-1.3.5") ("x" . "/gnu/store/h6bzcv3a0r9zm37gsi62visvc8kwg02a-perl-5.22.1") ("x" . "/gnu/store/fbmkb0xiwnr1823053dxal87m45bpy60-openssl-1.0.2f") ("x" . "/gnu/store/iam2djqw4s2bcpff8nhbsbkg7z73f3v3-perl-5.22.1") ("x" . "/gnu/store/crqvab6qkkxzxs18yf87wa67zr2rbl9x-gnome-desktop-3.18.1") ("x" . "/gnu/store/9bhhmn1p9932scrkhjqqmmxbl9yv9sdv-harfbuzz-1.0.6") ("x" . "/gnu/store/kpp4ica1hivpfnbsjjbzsgkxkx8zgghi-gtk+-3.18.2") ("x" . "/gnu/store/ffwac7n46xyicqz2ym6ghpf79gh0m8af-cups-2.1.0") ("x" . "/gnu/store/si7689f9wc4ppyi20hi44ypz6xnn786a-cups-filters-1.4.0") ("x" . "/gnu/store/6qwvlxhb4ms02xr9g5d3qb0wbvr2iwaa-qpdf-5.1.3") ("x" . "/gnu/store/bhpmhiyyz9bqw4h4v3x55m4z64c01i7l-pango-1.38.1") ("x" . "/gnu/store/zs0x1dn010n79b49rwcf5dp9dzccxc26-librsvg-2.40.13")))) (unsetenv "GUILE_LOAD_COMPILED_PATH") (unsetenv "LD_LIBRARY_PATH"))(exit (begin (let* ((old-outputs (quote (("out" . "/gnu/store/2f25m1jyy7lvkjqgilza6bafbnv3k044-gnome-session-3.18.1.2")))) (mapping (append (quote (("/gnu/store/xd6qk8kad1466v9z74nmikhapz64cszp-graphite2-1.3.5" . "/gnu/store/45j3scjfgz9ahlvn5lfqj2s0m2gkpdrk-graphite2-1.3.5") ("/gnu/store/b8sicbpsjabfhfszsajpfvjw8ynx97iw-perl-5.22.1" . "/gnu/store/h6bzcv3a0r9zm37gsi62visvc8kwg02a-perl-5.22.1") ("/gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f" . "/gnu/store/fbmkb0xiwnr1823053dxal87m45bpy60-openssl-1.0.2f") ("/gnu/store/1146ja893l132cs1dn4jkmb047pw6rsk-perl-5.22.1" . "/gnu/store/iam2djqw4s2bcpff8nhbsbkg7z73f3v3-perl-5.22.1") ("/gnu/store/6zsdzk0w99d5xmpw50mgqj9nfiwazpyx-gnome-desktop-3.18.1" . "/gnu/store/crqvab6qkkxzxs18yf87wa67zr2rbl9x-gnome-desktop-3.18.1") ("/gnu/store/8s3k25609kj6cqfd737vd1y9wqfr0zzl-harfbuzz-1.0.6" . "/gnu/store/9bhhmn1p9932scrkhjqqmmxbl9yv9sdv-harfbuzz-1.0.6") ("/gnu/store/h3vpr7k7c2h3n7ixddyvr22sbzy98vhz-gtk+-3.18.2" . "/gnu/store/kpp4ica1hivpfnbsjjbzsgkxkx8zgghi-gtk+-3.18.2") ("/gnu/store/lhhgw9psfnf7c8sjax68sin7nqm3d2k0-cups-2.1.0" . "/gnu/store/ffwac7n46xyicqz2ym6ghpf79gh0m8af-cups-2.1.0") ("/gnu/store/bk3bplyp1cr6jv2hgv9d8cxlad3griqb-cups-filters-1.4.0" . "/gnu/store/si7689f9wc4ppyi20hi44ypz6xnn786a-cups-filters-1.4.0") ("/gnu/store/2symxhixbs2rrhh59il0i8mlndl3x2d8-qpdf-5.1.3" . "/gnu/store/6qwvlxhb4ms02xr9g5d3qb0wbvr2iwaa-qpdf-5.1.3") ("/gnu/store/sxxqvvrf3f679m939yps51ddz327q0dr-pango-1.38.1" . "/gnu/store/bhpmhiyyz9bqw4h4v3x55m4z64c01i7l-pango-1.38.1") ("/gnu/store/zsaklr7zimhdnvb8z5yqld8jgqf31v9r-librsvg-2.40.13" . "/gnu/store/zs0x1dn010n79b49rwcf5dp9dzccxc26-librsvg-2.40.13"))) (map (match-lambda ((name . file) (cons (assoc-ref old-outputs name) file))) %outputs)))) (for-each (lambda (input output) (format #t "grafting '~a' -> '~a'...~%" input output) (force-output) (rewrite-directory input output mapping)) (match old-outputs (((names . files) ...) files)) (match %outputs (((names . files) ...) files))))))

Also, I should mention that I'm doing these tests on master from before
the recent 'security-updates' merge, so I have grafts for openssl,
graphite2, and perl.

     Mark




Information forwarded to bug-guix <at> gnu.org:
bug#23132; Package guix. (Mon, 28 Mar 2016 16:46:02 GMT) Full text and rfc822 format available.

Message #11 received at 23132 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: 23132 <at> debbugs.gnu.org
Subject: Re: bug#23132: Grafted system retains references to original store
 items
Date: Mon, 28 Mar 2016 18:45:07 +0200
Mark H Weaver <mhw <at> netris.org> skribis:

> The gnome-session store item above was created by a grafting derivation,
> and all of the ones that follow (starting with glib-2.46.1-bin) are
> ungrafted derivations.  The grafting derivation for gnome-session failed
> to include a mapping for glib-2.46.1-bin.

I suppose this is on a private branch, right?

What does “guix build glib” produce?  Is the “bin” output of “glib”
correctly grafted?

Could you send
/gnu/store/60a5vinj56nhxzszfyayjjy61b303c8r-gnome-session-3.18.1.2-guile-builder?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#23132; Package guix. (Mon, 28 Mar 2016 17:11:01 GMT) Full text and rfc822 format available.

Message #14 received at 23132 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: 23132 <at> debbugs.gnu.org
Subject: Re: bug#23132: Grafted system retains references to original store
 items
Date: Mon, 28 Mar 2016 13:09:46 -0400
Here's how to reproduce exactly what I'm seeing:

Checkout commit ffc13e753b37adb694de1d26f3ea51cf0796a8a2, which is the
commit on 'master' immediately before the merge with 'security-updates'.

From that commit, build 'gnome-session'.  In my case, I'm doing this on
i686-linux, and here's what I see:

$ guix build gnome-session
/gnu/store/sivy5ycg2pgncahyikrqfk60cvfg0vam-gnome-session-3.18.1.2
$ guix gc --references /gnu/store/sivy5ycg2pgncahyikrqfk60cvfg0vam-gnome-session-3.18.1.2 | grep glib
/gnu/store/55pqh3wl085d4h033n41b7x0fg9djd1k-glib-2.46.1-bin
[...]
$ guix gc --references /gnu/store/55pqh3wl085d4h033n41b7x0fg9djd1k-glib-2.46.1-bin
[...]
/gnu/store/kkn66257xrrjhyhq332bndhjpz4d9x76-python-wrapper-3.4.3
[...]
$ guix gc --references /gnu/store/kkn66257xrrjhyhq332bndhjpz4d9x76-python-wrapper-3.4.3
/gnu/store/qrg3jza3p5281p255cx0lsqk8snbb6pq-python-3.4.3
$ guix gc --references /gnu/store/qrg3jza3p5281p255cx0lsqk8snbb6pq-python-3.4.3
[...]
/gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f
[...]
$ guix build --log-file /gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f
https://hydra.gnu.org/log/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#23132; Package guix. (Mon, 28 Mar 2016 17:56:01 GMT) Full text and rfc822 format available.

Message #17 received at 23132 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 23132 <at> debbugs.gnu.org
Subject: Re: bug#23132: Grafted system retains references to original store
 items
Date: Mon, 28 Mar 2016 13:55:09 -0400
ludo <at> gnu.org (Ludovic Courtès) writes:

> Mark H Weaver <mhw <at> netris.org> skribis:
>
>> The gnome-session store item above was created by a grafting derivation,
>> and all of the ones that follow (starting with glib-2.46.1-bin) are
>> ungrafted derivations.  The grafting derivation for gnome-session failed
>> to include a mapping for glib-2.46.1-bin.
>
> I suppose this is on a private branch, right?

Yes, but see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23132#14>
where I reproduce the same problem from commit ffc13e753b on the master
branch.  From now on, I will use that commit during the investigation of
this bug.

> What does “guix build glib” produce?  Is the “bin” output of “glib”
> correctly grafted?

It produces:

/gnu/store/1my476c628x9kxa6pf2jlw8mhdlvr8xr-glib-2.46.1
/gnu/store/yw2yjlc1mgb4ga6m28nazxwjfh1d2p1n-glib-2.46.1-bin
/gnu/store/mm05frzzxa55kl062c4qp44qli00jnm4-glib-2.46.1-doc

which do not contain any references to the original openssl.  I think
that glib-2.46.1-bin might refer to the old perl, though.

In any case, the grafted 'glib-2.46.1-bin' above is not the one that
gnome-session refers to, and the mapping in gnome-session's
guile-builder does not include any replacement for glib:bin.

> Could you send
> /gnu/store/60a5vinj56nhxzszfyayjjy61b303c8r-gnome-session-3.18.1.2-guile-builder?

Instead, I'll send the builder for gnome-session for i686-linux from
commit ffc13e753b, which is:

  /gnu/store/sivy5ycg2pgncahyikrqfk60cvfg0vam-gnome-session-3.18.1.2,

produced by:

  /gnu/store/99pcj42dc8w1pvv7xngm1ns1yf896ckk-gnome-session-3.18.1.2.drv

with builder:

  /gnu/store/1rl6yiapmir0fsiw7ncpna3bjdqhj4pk-gnome-session-3.18.1.2-guile-builder

which contains:

(begin (use-modules (guix build graft) (guix build utils) (ice-9 match)) (define %output (getenv "out")) (define %outputs (map (lambda (o) (cons o (getenv o))) (quote ("out")))) (define %build-inputs (quote (("x" . "/gnu/store/2f25m1jyy7lvkjqgilza6bafbnv3k044-gnome-session-3.18.1.2") ("x" . "/gnu/store/xd6qk8kad1466v9z74nmikhapz64cszp-graphite2-1.3.5") ("x" . "/gnu/store/b8sicbpsjabfhfszsajpfvjw8ynx97iw-perl-5.22.1") ("x" . "/gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f") ("x" . "/gnu/store/1146ja893l132cs1dn4jkmb047pw6rsk-perl-5.22.1") ("x" . "/gnu/store/6zsdzk0w99d5xmpw50mgqj9nfiwazpyx-gnome-desktop-3.18.1") ("x" . "/gnu/store/8s3k25609kj6cqfd737vd1y9wqfr0zzl-harfbuzz-1.0.6") ("x" . "/gnu/store/h3vpr7k7c2h3n7ixddyvr22sbzy98vhz-gtk+-3.18.2") ("x" . "/gnu/store/lhhgw9psfnf7c8sjax68sin7nqm3d2k0-cups-2.1.0") ("x" . "/gnu/store/bk3bplyp1cr6jv2hgv9d8cxlad3griqb-cups-filters-1.4.0") ("x" . "/gnu/store/2symxhixbs2rrhh59il0i8mlndl3x2d8-qpdf-5.1.3") ("x" . "/gnu/store/sxxqvvrf3f679m939yps51ddz327q0dr-pango-1.38.1") ("x" . "/gnu/store/zsaklr7zimhdnvb8z5yqld8jgqf31v9r-librsvg-2.40.13") ("x" . "/gnu/store/45j3scjfgz9ahlvn5lfqj2s0m2gkpdrk-graphite2-1.3.5") ("x" . "/gnu/store/h6bzcv3a0r9zm37gsi62visvc8kwg02a-perl-5.22.1") ("x" . "/gnu/store/fbmkb0xiwnr1823053dxal87m45bpy60-openssl-1.0.2f") ("x" . "/gnu/store/iam2djqw4s2bcpff8nhbsbkg7z73f3v3-perl-5.22.1") ("x" . "/gnu/store/m98ff01sc2bxz4lv3pc2yqc6hsljd4cv-gnome-desktop-3.18.1") ("x" . "/gnu/store/0wsn1h22xdnzplaajxhx59957xkwx103-harfbuzz-1.0.6") ("x" . "/gnu/store/w1h49ha77kgicf5i8yrbr3y1ijb2aqis-gtk+-3.18.2") ("x" . "/gnu/store/87sjyxzjg22rbi7a234l828kns63mzsf-cups-2.1.0") ("x" . "/gnu/store/rikq7ra0xfs4qx1kv1jx9azk1prmk0n2-cups-filters-1.4.0") ("x" . "/gnu/store/qkh0m7ims01i3j57bkxyqq5m6q3zngy4-qpdf-5.1.3") ("x" . "/gnu/store/xzfhlic6876skj953xa8phh1rhfmwi9i-pango-1.38.1") ("x" . "/gnu/store/yyvjbdagvzzdy56fip7qsfwwij364fh4-librsvg-2.40.13")))) (unsetenv "GUILE_LOAD_COMPILED_PATH") (unsetenv "LD_LIBRARY_PATH"))(exit (begin (let* ((old-outputs (quote (("out" . "/gnu/store/2f25m1jyy7lvkjqgilza6bafbnv3k044-gnome-session-3.18.1.2")))) (mapping (append (quote (("/gnu/store/xd6qk8kad1466v9z74nmikhapz64cszp-graphite2-1.3.5" . "/gnu/store/45j3scjfgz9ahlvn5lfqj2s0m2gkpdrk-graphite2-1.3.5") ("/gnu/store/b8sicbpsjabfhfszsajpfvjw8ynx97iw-perl-5.22.1" . "/gnu/store/h6bzcv3a0r9zm37gsi62visvc8kwg02a-perl-5.22.1") ("/gnu/store/dgyc74zakg110dxj67z3mj9g1vk8l4xp-openssl-1.0.2f" . "/gnu/store/fbmkb0xiwnr1823053dxal87m45bpy60-openssl-1.0.2f") ("/gnu/store/1146ja893l132cs1dn4jkmb047pw6rsk-perl-5.22.1" . "/gnu/store/iam2djqw4s2bcpff8nhbsbkg7z73f3v3-perl-5.22.1") ("/gnu/store/6zsdzk0w99d5xmpw50mgqj9nfiwazpyx-gnome-desktop-3.18.1" . "/gnu/store/m98ff01sc2bxz4lv3pc2yqc6hsljd4cv-gnome-desktop-3.18.1") ("/gnu/store/8s3k25609kj6cqfd737vd1y9wqfr0zzl-harfbuzz-1.0.6" . "/gnu/store/0wsn1h22xdnzplaajxhx59957xkwx103-harfbuzz-1.0.6") ("/gnu/store/h3vpr7k7c2h3n7ixddyvr22sbzy98vhz-gtk+-3.18.2" . "/gnu/store/w1h49ha77kgicf5i8yrbr3y1ijb2aqis-gtk+-3.18.2") ("/gnu/store/lhhgw9psfnf7c8sjax68sin7nqm3d2k0-cups-2.1.0" . "/gnu/store/87sjyxzjg22rbi7a234l828kns63mzsf-cups-2.1.0") ("/gnu/store/bk3bplyp1cr6jv2hgv9d8cxlad3griqb-cups-filters-1.4.0" . "/gnu/store/rikq7ra0xfs4qx1kv1jx9azk1prmk0n2-cups-filters-1.4.0") ("/gnu/store/2symxhixbs2rrhh59il0i8mlndl3x2d8-qpdf-5.1.3" . "/gnu/store/qkh0m7ims01i3j57bkxyqq5m6q3zngy4-qpdf-5.1.3") ("/gnu/store/sxxqvvrf3f679m939yps51ddz327q0dr-pango-1.38.1" . "/gnu/store/xzfhlic6876skj953xa8phh1rhfmwi9i-pango-1.38.1") ("/gnu/store/zsaklr7zimhdnvb8z5yqld8jgqf31v9r-librsvg-2.40.13" . "/gnu/store/yyvjbdagvzzdy56fip7qsfwwij364fh4-librsvg-2.40.13"))) (map (match-lambda ((name . file) (cons (assoc-ref old-outputs name) file))) %outputs)))) (for-each (lambda (input output) (format #t "grafting '~a' -> '~a'...~%" input output) (force-output) (rewrite-directory input output mapping)) (match old-outputs (((names . files) ...) files)) (match %outputs (((names . files) ...) files))))))

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#23132; Package guix. (Fri, 20 May 2016 16:05:01 GMT) Full text and rfc822 format available.

Message #20 received at 23132 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: 23132 <at> debbugs.gnu.org
Subject: Re: bug#23132: Grafted system retains references to original store
 items
Date: Fri, 20 May 2016 18:03:59 +0200
Mark H Weaver <mhw <at> netris.org> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:

[...]

>> What does “guix build glib” produce?  Is the “bin” output of “glib”
>> correctly grafted?
>
> It produces:
>
> /gnu/store/1my476c628x9kxa6pf2jlw8mhdlvr8xr-glib-2.46.1
> /gnu/store/yw2yjlc1mgb4ga6m28nazxwjfh1d2p1n-glib-2.46.1-bin
> /gnu/store/mm05frzzxa55kl062c4qp44qli00jnm4-glib-2.46.1-doc

The problem we have (also with currentish master) is that the grafted
glib refers to the non-grafted one:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build glib --no-grafts
/gnu/store/nnbd3mbb7cyzj3f9hmm84jwmhslx8jd1-glib-2.48.0-bin
/gnu/store/ijpqwljxn2j9nimjqnds58m2dzlcxf1g-glib-2.48.0-doc
/gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0
$ ./pre-inst-env guix build glib
/gnu/store/40s3d59ig936fnqivyps3fwjzgm6m864-glib-2.48.0-bin
/gnu/store/fc5pcy9cj4r8plf7sxhykz3k7z03p22y-glib-2.48.0-doc
/gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0
$ guix gc --references /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0|grep glib-
/gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0
/gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0
--8<---------------cut here---------------end--------------->8---

It took me a while to find out where that reference came from.  Since
‘grep -r’ returned nothing, I resorted to ‘guix archive --export’
searched for “6m4xdh1rj3np9w2fikf8wlq6lka1hmsg” in the result, and
found:

--8<---------------cut here---------------start------------->8---
$ find /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0 -name \*gdb.py
/gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0/share/gdb/auto-load/gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0/lib/libgobject-2.0.so.0.4800.0-gdb.py
/gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0/share/gdb/auto-load/gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0/lib/libglib-2.0.so.0.4800.0-gdb.py
--8<---------------cut here---------------end--------------->8---

So we need an extra pass in (guix build grafts) to rename files whose
name appears in the mapping.

I’ll try to get it done soonish.

Ludo’.




Severity set to 'important' from 'normal' Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Fri, 20 May 2016 16:05:02 GMT) Full text and rfc822 format available.

Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Fri, 20 May 2016 23:38:02 GMT) Full text and rfc822 format available.

Notification sent to Mark H Weaver <mhw <at> netris.org>:
bug acknowledged by developer. (Fri, 20 May 2016 23:38:02 GMT) Full text and rfc822 format available.

Message #27 received at 23132-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: 23132-done <at> debbugs.gnu.org
Subject: Re: bug#23132: Grafted system retains references to original store
 items
Date: Sat, 21 May 2016 01:36:50 +0200
ludo <at> gnu.org (Ludovic Courtès) skribis:

> Mark H Weaver <mhw <at> netris.org> skribis:
>
>> ludo <at> gnu.org (Ludovic Courtès) writes:
>
> [...]
>
>>> What does “guix build glib” produce?  Is the “bin” output of “glib”
>>> correctly grafted?
>>
>> It produces:
>>
>> /gnu/store/1my476c628x9kxa6pf2jlw8mhdlvr8xr-glib-2.46.1
>> /gnu/store/yw2yjlc1mgb4ga6m28nazxwjfh1d2p1n-glib-2.46.1-bin
>> /gnu/store/mm05frzzxa55kl062c4qp44qli00jnm4-glib-2.46.1-doc
>
> The problem we have (also with currentish master) is that the grafted
> glib refers to the non-grafted one:
>
> $ ./pre-inst-env guix build glib --no-grafts
> /gnu/store/nnbd3mbb7cyzj3f9hmm84jwmhslx8jd1-glib-2.48.0-bin
> /gnu/store/ijpqwljxn2j9nimjqnds58m2dzlcxf1g-glib-2.48.0-doc
> /gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0
> $ ./pre-inst-env guix build glib
> /gnu/store/40s3d59ig936fnqivyps3fwjzgm6m864-glib-2.48.0-bin
> /gnu/store/fc5pcy9cj4r8plf7sxhykz3k7z03p22y-glib-2.48.0-doc
> /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0
> $ guix gc --references /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0|grep glib-
> /gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0
> /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0
>
> It took me a while to find out where that reference came from.  Since
> ‘grep -r’ returned nothing, I resorted to ‘guix archive --export’
> searched for “6m4xdh1rj3np9w2fikf8wlq6lka1hmsg” in the result, and
> found:
>
> $ find /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0 -name \*gdb.py
> /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0/share/gdb/auto-load/gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0/lib/libgobject-2.0.so.0.4800.0-gdb.py
> /gnu/store/vvdqmpm5biq2x3pw4s142qpcla2ryvax-glib-2.48.0/share/gdb/auto-load/gnu/store/6m4xdh1rj3np9w2fikf8wlq6lka1hmsg-glib-2.48.0/lib/libglib-2.0.so.0.4800.0-gdb.py
>
> So we need an extra pass in (guix build grafts) to rename files whose
> name appears in the mapping.

Fixed in ece6864bd04fc2f9ff86fd4ac9cb0712dd71c094.

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Jun 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 307 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.