all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: Joey Dumont <joey.dumont@gmail.com>
Cc: help-guix@gnu.org
Subject: Re: Delete all previous derivations
Date: Fri, 20 May 2022 09:15:07 +0200	[thread overview]
Message-ID: <86zgjc7k04.fsf@gmail.com> (raw)
In-Reply-To: <CAB6-_ifjf52E5qhvfs=w_v1HDuKLsP4V2Zs0AsU2YWXTQR7Xrw@mail.gmail.com>

Hi,

On Thu, 19 May 2022 at 21:14, Joey Dumont <joey.dumont@gmail.com> wrote:
> I was toying around the idea of having guix as a compatibility layer for an
> HPC software stack, similar to what Compute Canada had with nix before they
> switched to Gentoo (
> http://users.ugent.be/~kehoste/eum18/easybuild_nix_cvmfs_compute_canada_bart_oldeman.pdf),
> hence the weird setup. I am aware that the Guix HPC guys recently published
> a layer between modules and guix shell, which I find interesting.

I am missing why 2 stores (or more) are required for this compatibility
layer.


> It took a little while to try your command, as I built guix using Arch's
> package manager, which doesn't install pre-inst-env. Also, I built in a
> chroot, and pre-inst-env contains hard-coded references to the build
> directory. I guess I am a very weird user :)

It was a question. :-)  Thanks for the try and the report.

How do you do otherwise to have this multi-store setup?


> But even with that I still get the same errors. I don't want to keep the
> two stores simultaneously, I'm fine with fully destroying the old one
> (although I would be interested in knowing how to properly rollover from
> one store to another).

Sorry, but I am still missing what you want to achieve.

The store is a global cache mounted somewhere.  The daemon uses this
cache to create a symlinks forest and build some profiles.

Now, you create another cache and let the daemon points to it.
Therefore, the elements from the previous profiles refers to the first
cache location and thus they cannot be reachable.

You get this:

--8<---------------cut here---------------start------------->8---
guix pull: error: derivation `/cvmfs/
soft.valandil.ca/2022.03/compat/x86_64/linux/pf4z6hc1f9bwddsravnlacnb2i8p9xyl-guile-3.0.2.tar.xz.drv'
has incorrect output `/cvmfs/
soft.valandil.ca/2022.04/compat/x86_64/linux/92ip5misld973bsm73hfazwmd4n9d58z-guile-3.0.2.tar.xz',
should be `/cvmfs/
soft.valandil.ca/2022.03/compat/x86_64/linux/9gc2alnhkrilqdch2xzjg0vq9b44is43-guile-3.0.2.tar.xz
--8<---------------cut here---------------end--------------->8---

It means the profile, say ~/.config/current/guix, had been built using
the store located at ’soft.valandil.ca/2022.03’. Then, you reconfigure
the daemon to point to another location for the store
’soft.valandil.ca/2022.04’.

When you pull, the profile ~/.config/current/guix is expecting elements
in soft.valandil.ca/2022.03 but they cannot be reachable since you
replaced the location of the cache without rewriting the information in
the profile.  Bang!

The question is: what do you want to achieve?  Why do you want this
various stores based on dates?


Maybe I am incorrect, but from my understanding,

 1. the store should always be mounted in the same location,
 2. ’guix gc’ is the only command for managing the store,
 3. if you want backup or snapshot of the store, then you should use
 another tool working with the volumes.


A poor man solution for what I understand to your issue could be:

 a) ’guix gc’ for cleaning the current store mounted at /soft.ca/store
 b) copy the volume mounted at /soft.ca/store to another volume
 c) mount this other volume to /soft.ca/store

This way, the necessary elements are kept from one store/volume to the
other.


Cheers,
simon


      reply	other threads:[~2022-05-20  7:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-09  3:14 Delete all previous derivations Joey Dumont
2022-04-29 16:27 ` zimoun
2022-05-20  1:14   ` Joey Dumont
2022-05-20  7:15     ` zimoun [this message]

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=86zgjc7k04.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=joey.dumont@gmail.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.
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.