unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23132: Grafted system retains references to original store items
@ 2016-03-28  3:39 Mark H Weaver
  2016-03-28 16:32 ` Mark H Weaver
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Mark H Weaver @ 2016-03-28  3:39 UTC (permalink / raw)
  To: 23132

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@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@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@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@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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23132: Grafted system retains references to original store items
  2016-03-28  3:39 bug#23132: Grafted system retains references to original store items Mark H Weaver
@ 2016-03-28 16:32 ` Mark H Weaver
  2016-03-28 16:45 ` Ludovic Courtès
  2016-03-28 17:09 ` Mark H Weaver
  2 siblings, 0 replies; 7+ messages in thread
From: Mark H Weaver @ 2016-03-28 16:32 UTC (permalink / raw)
  To: 23132

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23132: Grafted system retains references to original store items
  2016-03-28  3:39 bug#23132: Grafted system retains references to original store items Mark H Weaver
  2016-03-28 16:32 ` Mark H Weaver
@ 2016-03-28 16:45 ` Ludovic Courtès
  2016-03-28 17:55   ` Mark H Weaver
  2016-03-28 17:09 ` Mark H Weaver
  2 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2016-03-28 16:45 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 23132

Mark H Weaver <mhw@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’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23132: Grafted system retains references to original store items
  2016-03-28  3:39 bug#23132: Grafted system retains references to original store items Mark H Weaver
  2016-03-28 16:32 ` Mark H Weaver
  2016-03-28 16:45 ` Ludovic Courtès
@ 2016-03-28 17:09 ` Mark H Weaver
  2 siblings, 0 replies; 7+ messages in thread
From: Mark H Weaver @ 2016-03-28 17:09 UTC (permalink / raw)
  To: 23132

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23132: Grafted system retains references to original store items
  2016-03-28 16:45 ` Ludovic Courtès
@ 2016-03-28 17:55   ` Mark H Weaver
  2016-05-20 16:03     ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Mark H Weaver @ 2016-03-28 17:55 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 23132

ludo@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver <mhw@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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23132: Grafted system retains references to original store items
  2016-03-28 17:55   ` Mark H Weaver
@ 2016-05-20 16:03     ` Ludovic Courtès
  2016-05-20 23:36       ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2016-05-20 16:03 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 23132

Mark H Weaver <mhw@netris.org> skribis:

> ludo@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’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#23132: Grafted system retains references to original store items
  2016-05-20 16:03     ` Ludovic Courtès
@ 2016-05-20 23:36       ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-05-20 23:36 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 23132-done

ludo@gnu.org (Ludovic Courtès) skribis:

> Mark H Weaver <mhw@netris.org> skribis:
>
>> ludo@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’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-05-20 23:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-28  3:39 bug#23132: Grafted system retains references to original store items Mark H Weaver
2016-03-28 16:32 ` Mark H Weaver
2016-03-28 16:45 ` Ludovic Courtès
2016-03-28 17:55   ` Mark H Weaver
2016-05-20 16:03     ` Ludovic Courtès
2016-05-20 23:36       ` Ludovic Courtès
2016-03-28 17:09 ` Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).