Subject: bug#42410: closed (Re: bug#42410: Copying nars between stores fails for packages with multiple outputs)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 21 Jul 2020 19:34:02 +0000

Your bug report

#42410: Copying nars between stores fails for packages with multiple outputs

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
42410: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=42410
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#42410: Copying nars between stores fails for packages with multiple outputs
From: Leo Famulari <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Tue, 21 Jul 2020 15:33:10 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Tue, Jul 21, 2020 at 05:49:00PM +0200, Ludovic Courtès wrote:
> Hi,
> 
> Leo Famulari <[email-masked]> 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.

Subject: Copying nars between stores fails for packages with multiple outputs
From: Leo Famulari <[email-masked]>
To: [email-masked]
Date: Fri, 17 Jul 2020 16:43:19 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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