all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Marius Bakke <mbakke@fastmail.com>
To: Jack Hill <jackhill@jackhill.us>
Cc: help-guix@gnu.org
Subject: Re: Why are these derivations different?
Date: Mon, 10 Jun 2019 13:35:55 +0200	[thread overview]
Message-ID: <878su9fzac.fsf@devup.no> (raw)
In-Reply-To: <alpine.DEB.2.20.1906082216410.5164@marsh.hcoop.net>

[-- Attachment #1: Type: text/plain, Size: 2425 bytes --]

Jack Hill <jackhill@jackhill.us> writes:

> On Sat, 8 Jun 2019, Marius Bakke wrote:
>
>> Jack Hill <jackhill@jackhill.us> writes:
>>
>>> Hi Guix,
>>>
>>> I'm trying to copy the store items for ungoogled-chromium from one of my
>>> hosts that has many computational resources to another one that does not,
>>> so that I do not have to build ungoogled-chromium on the less powerful
>>> host.
>>>
>>> However, even after copying the store items using guix archive --export |
>>> guix archive --import, the less powerful host wants to build
>>> ungoogled-chromium because the derivations differ (see attachments).
>>
>> I suspect this has to do with grafts.  Guix is missing a substitute for
>> the 'ungrafted' package and fails to realize the grafted derivation.
>>
>> Exporting with --no-grafts should do the trick.
>
> Marius,
>
> Thanks! That was it.
>
> If you don't mind, I have a few follow up question to help me understand 
> how everything works:
>
> How is guix archive --no-grafts different from guix build --no-grafts? Oh, 
> or after reading the manual for --no-grafts again, maybe I used the wrong 
> incantation (guix build --no-grafts package-name instead of guix build 
> package-name --no-grafts)?
>
> What's really going on with --no-grafts. Is it that guix on my less 
> powerful host has never seen the the ungoogled-chromium version build 
> against the older dependencies, so doesn't accept the older version that 
> could be grafted? I guess, I'm not sure exactly what you mean by "fails to 
> realize the grafted derivation". Is that a bug?

Sorry, just a lazy and poor attempt at explaining what's going on...  :-)

> Sorry, I don't think that question was very clear. It probably means that 
> while I think I know what grafts are, I don't know enough about what's 
> going on to ask the question properly. I think this all could be summarized 
> as, "please explain more."

Grafts are are ignored in some parts of Guix.  In this case, if you
inspect the profile derivation when doing 'guix install -n
ungoogled-chromium', you can see that the computed profile.drv needs to
produce the ungrafted ungoogled-chromium-x.y.z.drv, because the
profile-builder references the _ungrafted_ package. 

I'm not sure of the exact mechanics that follow, but I guess grafts are
only computed afterwards, recursively, for the generated profile.

HTH,
Marius

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2019-06-10 11:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-08 14:49 Why are these derivations different? Jack Hill
2019-06-08 20:45 ` Marius Bakke
2019-06-09  2:43   ` Jack Hill
2019-06-10 11:35     ` Marius Bakke [this message]
2019-06-10 17:25       ` Jack Hill

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878su9fzac.fsf@devup.no \
    --to=mbakke@fastmail.com \
    --cc=help-guix@gnu.org \
    --cc=jackhill@jackhill.us \
    /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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.