[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Is 'guix build --sources=transitive' missing some sources?
From: |
Chris Marusich |
Subject: |
Is 'guix build --sources=transitive' missing some sources? |
Date: |
Sun, 26 Mar 2017 02:36:27 -0700 |
Hi,
I think 'guix build --sources=transitive' might not be including all
transitive sources. Consider this example:
--8<---------------cut here---------------start------------->8---
$ guix build --sources=transitive hello
/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
/gnu/store/cz1b1hn763zppafmlxsrlj7fnxa8zcna-tar-1.29.tar.xz
/gnu/store/f63c6mjqqai6xwypx5qslvqc2d302yn5-gzip-1.8.tar.xz
/gnu/store/bjpalrv9f49d2k40p7ga0y6dwdys9w5j-bzip2-1.0.6.tar.gz
/gnu/store/1pcksb758j9v7srain0k3fqp57h9gwmj-xz-5.2.2.tar.gz
/gnu/store/r56rrdk6h0zwb1d2y28q3bk71n73z84m-file-5.28.tar.gz
/gnu/store/rbaa5s5jpy91npas89q3p8yasrc6mr1h-diffutils-3.5.tar.xz
/gnu/store/iaigwb3k7fg0v8zrwlb4yhrdsgin6ir7-patch-2.7.5.tar.xz
/gnu/store/g0mffc9c0nxbwf0a6j0akh0dvkd2sn6w-sed-4.2.2.tar.xz
/gnu/store/76q5cqkqrx7paxhq27m3izag07n1vjs4-findutils-4.6.0.tar.xz
/gnu/store/vgs8flhpxbkgx0hx54hnihpai7lma72j-gawk-4.1.4.tar.xz
/gnu/store/5q4yicgzxrv13gq4rai6h07s7xp75ws6-grep-2.25.tar.xz
/gnu/store/8dqf59312llnmln89ccas1saq0z4qwi7-coreutils-8.25.tar.xz
/gnu/store/2g7nf5h6hnsz1sharnqxfjz9m6k7224z-make-4.2.1.tar.xz
/gnu/store/xwanyg9972rpznx89ja38v01c8483392-bash-4.4.tar.gz
/gnu/store/iv2nz8r001lpric4kr2xq3459zwl8051-binutils-2.27.tar.xz
/gnu/store/z2s847iq14psryslylm1x4k71b0vx4ng-gcc-4.9.4.tar.xz
/gnu/store/m9jym12mhczjrslpycwi6ipw57v849pa-gmp-6.0.0a.tar.xz
/gnu/store/xg7ir7g2yvxj9ixmgy2kfds690h3f6gg-mpfr-3.1.4.tar.xz
/gnu/store/y9akh452n3p4w2v631nj0injx7y0d68x-mpc-1.0.3.tar.gz
/gnu/store/z8mm3izh1hgllm6mlqzycsrx5nfkvhxi-glibc-2.24.tar.xz
/gnu/store/51f2f2ck80migsfr2hwy4ds30966lifi-linux-libre-4.4.18-gnu.tar.xz
--8<---------------cut here---------------end--------------->8---
Note that the perl source is missing, even though perl is in the
transitive closure of references of hello's derivation (i.e., perl is a
build-time dependency of hello):
--8<---------------cut here---------------start------------->8---
$ guix gc --requisites $(guix build -d hello) | grep perl | grep tar
/gnu/store/s3ihdpsqpp1dyp0ksh3bqlz974s3lgmq-perl-5.24.0.tar.gz.drv
/gnu/store/7mn5srpvna3a2vlj5yrn7gl2cymxxxrz-perl-5.24.0.tar.xz-builder
/gnu/store/hf6a23lcbmcakm3hrmi9v1wqv9jj0hqz-perl-5.24.0.tar.xz.drv
--8<---------------cut here---------------end--------------->8---
The derivation that builds hello transitively references the derivation
that builds perl's source:
--8<---------------cut here---------------start------------->8---
$ guix gc --references $(guix build -d hello) | grep coreutil
/gnu/store/wyczskk2sn1hjcsivlj7h0vi3yqpynzf-coreutils-8.25.drv
$ guix gc --references
/gnu/store/wyczskk2sn1hjcsivlj7h0vi3yqpynzf-coreutils-8.25.drv | grep perl
/gnu/store/h9ykhdm8zbxsfxcif0rsakf0dklzz17k-perl-5.24.0.drv
$ guix gc --references
/gnu/store/h9ykhdm8zbxsfxcif0rsakf0dklzz17k-perl-5.24.0.drv | grep tar
/gnu/store/hf6a23lcbmcakm3hrmi9v1wqv9jj0hqz-perl-5.24.0.tar.xz.drv
--8<---------------cut here---------------end--------------->8---
This means that perl's source is required in order to build hello from
scratch. In spite of that, perl's source is missing from the list of
transitive sources of hello.
Is this intended? I expected 'guix build --sources=transitive hello' to
pre-fetch ALL the sources required to build hello, so I was surprised
that the perl source was not included.
--
Chris
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Is 'guix build --sources=transitive' missing some sources?,
Chris Marusich <=