unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Leo Famulari <leo@famulari.name>
To: 白い熊@相撲道 <help-guix_gnu.org@sumou.com>
Cc: help-guix@gnu.org
Subject: Re: Export archive and import it on another machine
Date: Sat, 20 Feb 2016 07:50:40 -0500	[thread overview]
Message-ID: <20160220125040.GB17401@jasmine> (raw)
In-Reply-To: <C8ABC432-0077-440A-B924-928E933319F9@sumou.com>

On Sat, Feb 20, 2016 at 11:25:22AM +0000, 白い熊@相撲道 wrote:
> 
> 
> On February 19, 2016 6:06:10 PM CET, Leo Famulari <leo@famulari.name> wrote:
> >On Fri, Feb 19, 2016 at 09:42:59AM +0000, 白い熊@相撲道 wrote:
> >> 
> >> 
> >> On February 18, 2016 11:34:52 PM CET, Leo Famulari
> ><leo@famulari.name> wrote:
> >> >On Thu, Feb 18, 2016 at 08:01:44PM +0000, 白い熊@相撲道 wrote:
> >> >> I'm trying to export Libreoffice from one PC and import it on
> >another
> >> >one — the reason I'm doing this is that with the latest git checkout
> >> >when I try to install it on a PC with a newly installed GuixSD it
> >keeps
> >> >building it from source and failing. 
> >> >> 
> >> >> Anyhow, on the machine that I have it installed I ran: 
> >> >> 
> >> >> # guix archive --generate-key
> >> >> $ guix archive --export -r /gnu/store/hash...libreoffice-5.0.3.2 >
> >> >libreoffice-5.0.3.2.nar 
> >> >> 
> >> >> Then copied the nar and /etc/guix/signing-key.pub to the other PC.
> >
> >> >> 
> >> >> There I ran: 
> >> >> 
> >> >> # guix archive --authorize < signing-key.pub
> >> >> $ guix archive --import < libreoffice-5.0.3.2.nar
> >> >> 
> >> >> The last command fails with: 
> >> >> 
> >> >> guix archive: error: build failed: program `guix-authenticate'
> >failed
> >> >with exit code 1
> >> >> 
> >> >> What am I doing wrong? 
> >> >
> >> >Hm, I'm not sure. Are you sure the source machine's public key is in
> >> >/etc/guix/acl?
> >> 
> >> I think it is — I see one entry in the acl file, but since it's a
> >hash I don't know how to confirm that it represents the much shorter
> >hash found in the source machine's signing-key.pub file. 
> >
> >Typically there would only be one entry in the acl file, containing
> >hydra.gnu.org's public key.
> >
> >So, unless you do not use substitutes from hydra.gnu.org, there should
> >be two keys.
> >
> >Also, I believe that the imported key should match the contents of
> >signing-key.pub. I tested this functionality while reading your message
> >yesterday and that was my experience. Perhaps try importing the public
> >key again?
> 
> Ugh — figured it out — this was dumb on my part. I was running “$ sudo guix archive --authorize < signing-key.pub”, which obviously doesn't extend to input redirection — so nothing was authorized. 
> 
> Now I truly ran “# guix archive --authorize < signing-key.pub”, it authorized the key. 
> 
> Then I was able to import libreoffice to the store — the directory is there.
> 
> However, it's not installed in my profile — “guix package -I” doesn't list it. Running “guix package -i libreoffice” again wants to rebuild it. How do I install the one that's been imported to the store?

You have different package definitions on each machine. So, the
libreoffice you built is not the same as the one that would be built on
the destination machine, and so your binaries cannot be substituted.

If you are working out of git, with './pre-inst-env', then you should
make sure you are working from the same commit on both machines. This is
the easiest thing to do if you are trying to share substitutes between
machines. You don't have you run your whole system out of git; you can
just do it for the packages you wish to share.

Otherwise, if you are using `guix pull`, you will need to update both
machines, and possibly rebuild on the source machine if some part of the
libreoffice dependency graph has changed (likely).

There may be other options, but those are the two that I know.

> --
> 白い熊@相撲道
> 
> >> >> Side question — why is it building Libreoffice from source on
> >“guix
> >> >package -i libreoffice”? Recipe there, but not built on Hydra? How
> >can
> >> >I install an earlier already—built version? 
> >> >
> >> >Most likely for this reason:
> >> >http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22653
> >> >
> >> >You can install an earlier version by checking out a commit in the
> >Guix
> >> >git repo from before Vigra broke, and building based on that commit
> >> >[0].
> >> 
> >> That's good — I can do that. I'm not really familiar with git yet —
> >how can I determine the commit representing the point in time before
> >Vitro broke and pull it? And how do I go back to master after
> >rebuilding and installing libreoffice? 
> >
> >I bet if you ask on #guix, somebody will know what broke Vigra and can
> >help you figure that out. Otherwise, I would read the git log and
> >compare it to Vigra's dependencies; you might find some clues. Then you
> >can use `git bisect` to narrow it down.
> >
> >After installing libreoffice from that commit, you don't need to do
> >anything special. You can keep using guix normally. Your working
> >installation of libreoffice will remain in your profile until you can
> >successfully update it from the HEAD of the master branch again (that
> >is, with `guix pull`).
> >
> >> 
> >> >When building Guix from git, be sure to pass the correct value to
> >> >./configure --localstatedir=. Most likely it is '/var'.
> >> 
> >> Thank you for reminding me of this! I would have forgotten for sure!
> >:@) 
> >> --
> >> 白い熊@相撲道
> >> 
> >> >[0]
> >> >https://www.gnu.org/software/guix/manual/guix.html#Building-from-Git
> >> 
> >> 
> >> 
> 
> 

  reply	other threads:[~2016-02-20 17:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-18 20:01 Export archive and import it on another machine 白い熊@相撲道
2016-02-18 22:34 ` Leo Famulari
2016-02-19  9:42   ` 白い熊@相撲道
2016-02-19 17:06     ` Leo Famulari
2016-02-20 11:25       ` 白い熊@相撲道
2016-02-20 12:50         ` Leo Famulari [this message]
2016-02-27 13:01         ` Ricardo Wurmus

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=20160220125040.GB17401@jasmine \
    --to=leo@famulari.name \
    --cc=help-guix@gnu.org \
    --cc=help-guix_gnu.org@sumou.com \
    /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.
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).