[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Local definitions and Virtual machine image
From: |
Marius Bakke |
Subject: |
Re: Local definitions and Virtual machine image |
Date: |
Wed, 03 Jun 2020 17:23:28 +0200 |
Emmanuel Medernach <emmanuel.medernach@gmail.com> writes:
> Hello Guixers !
>
> I created an image with 'guix system vm-image'
> which contains local defined packages. These
> packages are present on the Virtual Machine
> however they are not listed with 'guix package
> --list-installed'.
'guix package -I' only lists packages that are installed to the user
profile. Use 'guix package -p /run/current-system/profile -I' to see
system-installed packages.
> As I need to customize
> LD_LIBRARY_PATH, I use "guix build" to list store
> directories from package names but it tries
> instead to recompile them even though they are
> already installed.
The reason 'guix build foo' gives a different result is because you have
not run 'guix pull', so you are using the "guix snapshot" from
gnu/packages/package-management.scm, which is on a fixed commit.
Whereas when you built the VM, you were likely using a newer version of
Guix.
> How to properly export local definitions in the
> virtual machine image ?
There are a couple of ways around this. One is to run 'make
update-guix-package' in the Guix source tree to update the Guix
snapshot, and use './pre-inst-env' when generating the VM. It requires
a Guix development setup though.
Another is to look at the commit that was used to generate the VM in
/run/current-system/provenance and run 'guix pull --commit=that-commit'.
Perhaps 'guix system vm-image' could learn a '--update-guix-snapshot' to
automatically update the "system guix". Someone would have to implement
it first though. :-)
HTH,
Marius
signature.asc
Description: PGP signature