(address . bug-guix@gnu.org)
Hi!
using guix to install packages from inside a container that runs on
foreign distro breaks guix and the foreign distro, see below:
Steps to reproduce:
The below system was instantiated witg guix system container
this_file.scm --network
upon starting it with sudo /gnu/store/asdfasdfasdf-run-container
and connecting to it with
sudo guix container exec 8625 /run/current-system/profile/bin/bash
--login
[sudo] password for david:
root@MinimalSSH /#
root@MinimalSSH /#
root@MinimalSSH /# guix package -i hello
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.
The following package will be installed:
hello 2.10
substitute: updating substitutes from 'https://ci.guix.gnu.org'...
100.0%
13.0 MB will be downloaded
substitute: updating substitutes from 'https://ci.guix.gnu.org'...
100.0%
downloading from
...
glibc-utf8-locales-2.31 376KiB 1.0MiB/s 00:00
[##################] 100.0%
downloading from
...
bash-static-5.0.16 625KiB 1.5MiB/s 00:00
[##################] 100.0%
downloading from
...
libx11-1.6.A-doc 1.2MiB 1.6MiB/s 00:01
[##################] 100.0%
error: executing
`/gnu/store/qyjhy4bkz51jyspi63llfznsnz7vibzy-guix-1.1.0-30.875c01f/bin/guix
substitute': No such file or directory
guix package: error: unexpected EOF reading a line
root@MinimalSSH /#
root@MinimalSSH /# exit
logout
guix container: error: exec failed with status 1
david@l560:~/VirtualHome/src$ guix package -i hello
bash: /usr/local/bin/guix:
/gnu/store/b7rixb64yp00znz0d5rwd5zzklwzlzmv-guile-wrapper/bin/guile: bad
interpreter: No such file or directory
david@l560:~/VirtualHome/src$
-----------------------
As you can see, guix is now broken on both the host and guest system.
-----------------------
;; guix system container /path/to/this/file.scm --network
;; don't forget --network
(use-modules (gnu) (gnu system nss) (gnu packages))
(use-service-modules networking ssh desktop spice cuirass
virtualization)
(use-package-modules screen ssh gnome certs bash)
(define %cuirass-specs
#~(
;; spec two
list
'((#:name . "my-pkgs")
(#:load-path-inputs . ("guix"))
(#:package-path-inputs . ("my-guix-packages"))
(#:proc-input . "guix")
(#:proc-file . "build-aux/cuirass/gnu-system.scm")
(#:proc . cuirass-jobs)
(#:proc-args .
((subset . "manifests")
(systems . ("x86_64-linux"))
(manifests . (("config" . "manifests/user1.scm")))
))
(#:inputs . (
((#:name . "guix")
(#:url . "git://git.savannah.gnu.org/guix.git")
(#:load-path . ".")
(#:branch . "master")
(#:no-compile? . #t))
((#:name . "my-guix-packages")
;;(#:url . "file:///home/cuirass/my-guix-packages")
(#:url .
(#:load-path . "packages")
(#:branch . "master")
(#:no-compile? . #t))
((#:name . "config")
;;(#:url .
"file:///home/cuirass/my-guixsd-config.sh")
(#:url .
(#:load-path . ".")
(#:branch . "master")
(#:no-compile? . #t))
))
(#:build-outputs . ()))))
(operating-system
(host-name "MinimalCuirass")
(timezone "Europe/Stockholm")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)))
(file-systems
(cons (file-system
(device (file-system-label "fsroot"))
(mount-point "/")
(type "btrfs"))
%base-file-systems))
(services (append (list
(service openssh-service-type
(openssh-configuration
(port-number 2222)
(permit-root-login 'without-password)
(authorized-keys
`(("root" ,(local-file
"/home/david/.ssh/id_rsa.pub"))))))
;;
(service cuirass-service-type
(cuirass-configuration
(interval 60) ;; 10 hours
(fallback? #f) ;; default is #f
(host "0.0.0.0")
(port 8082)
(use-substitutes? #t)
(specifications %cuirass-specs))))
%base-services)))
-------------------
Best regards,
David Larsson