From: Greg Hogan <code@greghogan.com>
To: Tobias Geerinckx-Rice <me@tobias.gr>
Cc: guix-devel@gnu.org
Subject: Re: Offline build failure
Date: Mon, 14 Dec 2020 19:33:49 +0000 [thread overview]
Message-ID: <CA+3U0Zn=wE6pXWqTdTMxAvARwwRfgSoua+VrnRFfvhBHuC=Kgw@mail.gmail.com> (raw)
In-Reply-To: <87y2i4j9z4.fsf@nckx>
[-- Attachment #1: Type: text/plain, Size: 3477 bytes --]
Thanks, Tobias. I am now properly populating the store. I have switched to
using 'guix graph --type=derivation' to pull in what seems to be the full
set of dependencies. I am seeing a strange issue when importing a package.
I can typically duplicate and import a file and it is copied to the
original location, for example:
----------------------------------------
$ cp -a /gnu/store/v2zls012iwxyw6058cir7n2b792lsvc9-perl-5.30.2.tar.gz
perl-5.30.2.tar.gz
$ guix download perl-5.30.2.tar.gz
/gnu/store/v2zls012iwxyw6058cir7n2b792lsvc9-perl-5.30.2.tar.gz
128nfdxcvxfn5kq55qcfrx2851ys8hv794dcdxbyny8rm7w7vnv6
$ cp -a /gnu/store/17acz7ks1f7xn6yp1a2y4g7vc6bhr8wc-make-3.82.tar.gz
make-3.82.tar.gz
$ guix download make-3.82.tar.gz
/gnu/store/17acz7ks1f7xn6yp1a2y4g7vc6bhr8wc-make-3.82.tar.gz
1rs2f9hmvy3q6zkl15jnlmnpgffm0bhw5ax0h5c7q604wqrip69x
----------------------------------------
For the Python-3.5.9 tarball the first version loads in the expected way.
The second tarball is restored to a new location:
----------------------------------------
$ cp -a /gnu/store/f99fblkzb6ip268sg096shhs7wzjyp55-Python-3.5.9.tar.xz
Python-3.5.9.tar.xz
$ guix download Python-3.5.9.tar.xz
/gnu/store/f99fblkzb6ip268sg096shhs7wzjyp55-Python-3.5.9.tar.xz
0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2
$ cp -a /gnu/store/nj79fxxl5wvnq7jpj2wgbx0591gkjw41-Python-3.5.9.tar.xz
Python-3.5.9.tar.xz
$ guix download Python-3.5.9.tar.xz
/gnu/store/9sa83nyjlm5dyhwys4imm1wa40mjaw1x-Python-3.5.9.tar.xz
0rkn451qfz3gbni57la00a5fbgish9jmm5bmhmgmf223vxwya447
----------------------------------------
Since the tarball is not restored to the original location the guix build
command still attempts the download and fails the offline build.
Greg Hogan
On Fri, Dec 11, 2020 at 9:42 PM Tobias Geerinckx-Rice <me@tobias.gr> wrote:
> Hullo Greg,
>
> Greg Hogan 写道:
> > If there is a better way to setup / configure / execute offline
> > builds
> > please let me know!
>
> ...yes :-)
>
> > I am attempting an offline build without success. I have a Guix
> > 1.2.0 node
> > with internet access on which I download sources with transitive
> > dependencies:
> > $ guix build --sources=transitive tzdata > ~/transfer
>
> OK.
>
> > I then copy the files as root to a Guix 1.2.0 node without
> > internet access
> > (only local network access):
> > # cat /home/<user>/transfer | xargs -n 1 -I{} scp -p {}
> > <ip>:{}
>
> Now you've basically reinvented ‘guix copy --to=<ip>’, but in a
> way that won't update the store database in /var/guix/db. I'm
> afraid that won't work.
>
> Guix won't ‘see’ the files you copy to the remote store and will
> consider them G to be C'd next time you run ‘guix gc’. Or in this
> case:
>
> > Guix starts downloading and the transferred file is gone!
>
> Same thing.
>
> > I'm lost as to
> > why a new download attempt is made as the file data and
> > timestamps match
> > the original server.
>
> If the file isn't registered in the database, the store item is
> never considered valid. Guix doesn't (yet) care about the
> data/timestamps at this point.
>
> If there's a reason you can't/won't use ‘guix copy’, you might
> work around that by copying each file in ~/transfer to, say,
> <ip>:/tmp/staging (instead of <ip>:/gnu/store), then running ‘guix
> download /tmp/staging/<file>...’ on the remote host.
>
> Kind regards,
>
> T G-R
>
[-- Attachment #2: Type: text/html, Size: 4266 bytes --]
next prev parent reply other threads:[~2020-12-14 19:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-11 21:11 Offline build failure Greg Hogan
2020-12-11 21:42 ` Tobias Geerinckx-Rice
2020-12-14 19:33 ` Greg Hogan [this message]
2020-12-15 2:47 ` Mark H Weaver
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CA+3U0Zn=wE6pXWqTdTMxAvARwwRfgSoua+VrnRFfvhBHuC=Kgw@mail.gmail.com' \
--to=code@greghogan.com \
--cc=guix-devel@gnu.org \
--cc=me@tobias.gr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).