--- Begin Message ---
Subject: |
Copying nars between stores fails for packages with multiple outputs |
Date: |
Fri, 17 Jul 2020 16:43:19 -0400 |
Exporting a nar and importing it on another machine only works when the
package being built has a single output.
I set up a signing-key on the sending machine, authorized it on the
receiving machine, and successfully transferred some nars of
single-output packages. I say they succeeded because `guix build
--no-grafts foo` did not need to build foo after having imported the nar
archive built on the other machine.
However, it fails for packages with multiple outputs such as Syncthing
and libsmf.
I made sure both sides were trying to build the same derivation by using
`guix time-machine` and created the archives like this:
$ guix time-machine --commit=03f9a8c35be387f37badcd2c830ac7414ac17225 --
archive -r --no-grafts --export libsmf > ~/tmp/libsmf.nar
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#42410: Copying nars between stores fails for packages with multiple outputs |
Date: |
Tue, 21 Jul 2020 15:33:10 -0400 |
On Tue, Jul 21, 2020 at 05:49:00PM +0200, Ludovic Courtès wrote:
> Hi,
>
> Leo Famulari <leo@famulari.name> skribis:
>
> > Exporting a nar and importing it on another machine only works when the
> > package being built has a single output.
>
> Note that “guix archive --export foo” only exports foo:out. If you want
> to export other outputs, you have to explicitly list them.
>
> > I set up a signing-key on the sending machine, authorized it on the
> > receiving machine, and successfully transferred some nars of
> > single-output packages. I say they succeeded because `guix build
> > --no-grafts foo` did not need to build foo after having imported the nar
> > archive built on the other machine.
>
> ‘guix build’ starts building unless all the outputs of the package are
> already in the store.
>
> > However, it fails for packages with multiple outputs such as Syncthing
> > and libsmf.
>
> Could it be that you copied only one output of the package, and thus
> ‘guix build’ considered it had to build it because the other outputs
> were missing?
Yes, that must be it! Thanks for your reply and I'll re-open this ticket
if necessary.
--- End Message ---