1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-08 14:10:38 +02:00
Commit Graph

52151 Commits

Author SHA1 Message Date
Mathieu Othacehe
77f5296236 vm: Remove obsolete procedures.
* gnu/build/vm.scm (install-efi, make-iso9660-image): Remove those procedures
that are now implemented in (gnu build image) module,
(initialize-hard-disk): remove efi support.
* gnu/system/vm.scm (iso9660-image): Remove it,
(qemu-image): adapt it to remove ISO9660 support.
2020-05-05 16:13:55 +02:00
Mathieu Othacehe
f19cf27c2b image: Add a new API.
Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This
is quite fragile, very slow, and almost unusable without KVM.

For all these reasons, add support for host image generation. This implies the
use new image generation mechanisms.

- Raw disk images: images of partitions are created using tools such as mke2fs
  and mkdosfs depending on the partition file-system type. The partition
  images are then assembled into a final image using genimage.

- ISO9660 images: the ISO root directory is populated within the store. GNU
  xorriso is then called on that directory, in the exact same way as this is
  done in (gnu build vm) module.

Those mechanisms are built upon the new (gnu image) module.

* gnu/image.scm: New file.
* gnu/system/image.scm: New file.
* gnu/build/image: New file.
* gnu/local.mk: Add them.
* gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm.
* gnu/ci.scm (qemu-jobs): Adapt to new API.
* gnu/tests/install.scm (run-install): Ditto.
* guix/scripts/system.scm (system-derivation-for-action): Ditto.
2020-05-05 16:13:53 +02:00
Mathieu Othacehe
f8fd115717 build: bootloader: Add install-efi procedure.
* gnu/build/bootloader.scm (install-efi): New procedure copied from (gnu build vm).
(install-efi-loader): New exported procedure, wrapping install-efi.
* gnu/build/vm.scm (initialize-hard-disk): Adapt to use install-efi-loader.
2020-05-05 16:08:33 +02:00
Mathieu Othacehe
892bbea750 build: install: Do not set store GID.
There's no need to set the store GID as is will be done by the guix-daemon,
with the following snippet:

  if (chown(chrootStoreDir.c_str(), 0, buildUser.getGID()) == -1)
        throw SysError(format("cannot change ownership of ‘%1%’") % chrootStoreDir);

* gnu/build/install.scm (directives): Do not set store GID.
2020-05-05 16:08:33 +02:00
Mathieu Othacehe
5990e95b60 build: install: Ignore chown exceptions.
Changing ownership may require root permissions. As image can now be generated
without root permissions (no VM involved), ignore those exceptions.

* gnu/build/install.scm (evaluate-populate-directive): Ignore chown
exceptions.
2020-05-05 16:08:32 +02:00
Mathieu Othacehe
78fbf2bd70 system: vm: Move operating-system-uuid.
* gnu/system/vm.scm (operating-system-uuid): Move to ...
* gnu/system.scm: ... here.
2020-05-05 16:08:32 +02:00
pinoaffe
051f3254cd gnu: Add AutoSSH service.
* gnu/services/ssh.scm (<autossh-configuration>): New record type.
(autossh-service-type): New variable.
(autossh-service-activation, autossh-file-name): New procedures.
* doc/guix.texi (Networking Services): Document this.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2020-05-05 15:32:40 +03:00
Hartmut Goebel
4c4ae8b595 gnu: Add sequoia.
* gnu/packages/sequoia.scm: New file.
* gnu/local.mk: Add it.
2020-05-05 13:20:46 +02:00
Hartmut Goebel
098f1d722b gnu: Add rust-nettle-7.
* gnu/packages/crates-io.scm (rust-nettle-7): New variable.
* gnu/packages/patches/rust-nettle-disable-vendor.patch: New file.
* gnu/local.mk: Add it.
2020-05-05 13:20:46 +02:00
Hartmut Goebel
5effc5bfe1 gnu: Add rust-nettle-sys-2.
* gnu/packages/crates-io.scm (rust-nettle-sys-2): New variable.
* gnu/packages/patches/rust-nettle-sys-disable-vendor.patch: New file.
* gnu/local.mk: Add it.
2020-05-05 13:20:45 +02:00
Hartmut Goebel
cfb9bc26cc gnu: Add rust-zbase32-0.1.
* gnu/packages/crates-io.scm (rust-zbase32-0.1): New variable.
2020-05-05 13:20:45 +02:00
Hartmut Goebel
1431405e3f gnu: Add rust-webpki-roots-0.14.
* gnu/packages/crates-io.scm (rust-webpki-roots-0.14): New variable.
2020-05-05 13:20:44 +02:00
Hartmut Goebel
5b4051bf0b gnu: Add rust-webpki-roots-0.17.
* gnu/packages/crates-io.scm (rust-webpki-roots-0.17): New variable.
2020-05-05 13:20:44 +02:00
Hartmut Goebel
f96097da8a gnu: Add rust-webpki-roots-0.18.
* gnu/packages/crates-io.scm (rust-webpki-roots-0.18): New variable.
2020-05-05 13:20:44 +02:00
Hartmut Goebel
8c28fbc3be gnu: Add rust-webpki-0.18.
* gnu/packages/crates-io.scm (rust-webpki-0.18): New variable.
2020-05-05 13:20:43 +02:00
Hartmut Goebel
0e52427150 gnu: Add rust-webpki-0.21.
* gnu/packages/crates-io.scm (rust-webpki-0.21): New variable.
2020-05-05 13:20:42 +02:00
Hartmut Goebel
5415f9d2a0 gnu: Add rust-want-0.2.
* gnu/packages/crates-io.scm (rust-want-0.2): New variable.
2020-05-05 13:20:42 +02:00
Hartmut Goebel
25078818e9 gnu: Add rust-untrusted-0.6.
* gnu/packages/crates-io.scm (rust-untrusted-0.6): New variable.
2020-05-05 13:20:41 +02:00
Hartmut Goebel
c3e71dcea5 gnu: Add rust-tokio-test-0.2.
* gnu/packages/crates-io.scm (rust-tokio-test-0.2): New variable.
2020-05-05 13:20:41 +02:00
Hartmut Goebel
c834cf9806 gnu: Add rust-tokio-rustls-0.12.
* gnu/packages/crates-io.scm (rust-tokio-rustls-0.12): New variable.
2020-05-05 13:20:40 +02:00
Hartmut Goebel
6001456946 gnu: Add rust-tokio-mockstream-1.
* gnu/packages/crates-io.scm (rust-tokio-mockstream-1): New variable.
2020-05-05 13:20:40 +02:00
Hartmut Goebel
e645d58ce1 gnu: Add rust-tokio-named-pipes-0.1.
* gnu/packages/crates-io.scm (rust-tokio-named-pipes-0.1): New variable.
2020-05-05 13:20:40 +02:00
Hartmut Goebel
92c4b7c0fd gnu: Add rust-tokio-macros-0.2.
* gnu/packages/crates-io.scm (rust-tokio-macros-0.2): New variable.
2020-05-05 13:20:39 +02:00
Hartmut Goebel
4af563b90f gnu: Add rust-tokio-buf-0.1.
* gnu/packages/crates-io.scm (rust-tokio-buf-0.1): New variable.
2020-05-05 13:20:39 +02:00
Hartmut Goebel
ef7fdc2c81 gnu: Add rust-tokio-0.2.
* gnu/packages/crates-io.scm (rust-tokio-0.2): New variable.
2020-05-05 13:20:38 +02:00
Hartmut Goebel
685b4f8d6f gnu: Add rust-term-0.2.
* gnu/packages/crates-io.scm (rust-term-0.2): New variable.
2020-05-05 13:20:38 +02:00
Hartmut Goebel
5db08ef460 gnu: Add rust-string-0.2.
* gnu/packages/crates-io.scm (rust-string-0.2): New variable.
2020-05-05 13:20:37 +02:00
Hartmut Goebel
3e76f5eb82 gnu: Add rust-spmc-0.3.
* gnu/packages/crates-io.scm (rust-spmc-0.3): New variable.
2020-05-05 13:20:37 +02:00
Hartmut Goebel
20505910c9 gnu: Add rust-skeptic-0.9.
* gnu/packages/crates-io.scm (rust-skeptic-0.9): New variable.
2020-05-05 13:20:36 +02:00
Hartmut Goebel
dca13c5d79 gnu: Add rust-sha2-0.8.
* gnu/packages/crates-io.scm (rust-sha2-0.8): New variable.
2020-05-05 13:20:36 +02:00
Hartmut Goebel
60d19eca1f gnu: Add rust-sha2-asm-0.5.
* gnu/packages/crates-io.scm (rust-sha2-asm-0.5): New variable.
2020-05-05 13:20:35 +02:00
Hartmut Goebel
86eb83b288 gnu: Add rust-sct-0.3.
* gnu/packages/crates-io.scm (rust-sct-0.3): New variable.
2020-05-05 13:20:35 +02:00
Hartmut Goebel
59771653d4 gnu: Add rust-sct-0.6.
* gnu/packages/crates-io.scm (rust-sct-0.6): New variable.
2020-05-05 13:20:34 +02:00
Hartmut Goebel
9bc97f1259 gnu: Add rust-rustls-0.12.
* gnu/packages/crates-io.scm (rust-rustls-0.12): New variable.
2020-05-05 13:20:34 +02:00
Hartmut Goebel
b469d7e58f gnu: Add rust-rustls-0.16.
* gnu/packages/crates-io.scm (rust-rustls-0.16): New variable.
2020-05-05 13:20:33 +02:00
Hartmut Goebel
2f2a094867 gnu: Add rust-rusqlite-0.19.
* gnu/packages/crates-io.scm (rust-rusqlite-0.19): New variable.
2020-05-05 13:20:33 +02:00
Hartmut Goebel
1998161909 gnu: Add rust-rspec-1.
* gnu/packages/crates-io.scm (rust-rspec-1.0): New variable.
2020-05-05 13:20:32 +02:00
Hartmut Goebel
ff8abd44cd gnu: Add rust-rpassword-4.
* gnu/packages/crates-io.scm (rust-rpassword-4): New variable.
2020-05-05 13:20:32 +02:00
Hartmut Goebel
98a653c79f gnu: Add rust-ring-0.13.
* gnu/packages/crates-io.scm (rust-ring-0.13): New variable.
2020-05-05 13:20:31 +02:00
Hartmut Goebel
7c7289e678 gnu: Add rust-ring-0.16.
* gnu/packages/crates-io.scm (rust-ring-0.16): New variable.
2020-05-05 13:20:31 +02:00
Hartmut Goebel
e845c148ed gnu: Add rust-rayon-0.8.
* gnu/packages/crates-io.scm (rust-rayon-0.8): New variable.
2020-05-05 13:20:30 +02:00
Hartmut Goebel
168a92e0c0 gnu: Add rust-pulldown-cmark-0.0.8.
* gnu/packages/crates-io.scm (rust-pulldown-cmark-0.0.8): New variable.
2020-05-05 13:20:30 +02:00
Hartmut Goebel
2182dd234d gnu: Add rust-pretty-assertions-0.2.
* gnu/packages/crates-io.scm (rust-pretty-assertions-0.2): New variable.
2020-05-05 13:20:30 +02:00
Hartmut Goebel
f71b062a8a gnu: Add rust-prettytable-rs-0.8.
* gnu/packages/crates-io.scm (rust-prettytable-rs-0.8): New variable.
2020-05-05 13:20:29 +02:00
Hartmut Goebel
bc9a35b671 gnu: Add rust-pin-project-lite-0.1.
* gnu/packages/crates-io.scm (rust-pin-project-lite-0.1): New variable.
2020-05-05 13:20:29 +02:00
Hartmut Goebel
ba9a0766eb gnu: Add rust-parity-tokio-ipc-0.4.
* gnu/packages/crates-io.scm (rust-parity-tokio-ipc-0.4): New variable.
2020-05-05 13:20:28 +02:00
Hartmut Goebel
d2f03b8d1b gnu: Add rust-memsec-0.5.
* gnu/packages/crates-io.scm (rust-memsec-0.5): New variable.
2020-05-05 13:20:28 +02:00
Hartmut Goebel
c89bbc8ea2 gnu: Add rust-mach-o-sys-0.1.
* gnu/package/crates-io.scm (rust-mach-o-sys-0.1): New variable.
2020-05-05 13:20:27 +02:00
Hartmut Goebel
a74ece550a gnu: Add rust-lru-cache-0.1.
* gnu/packages/crates-io.scm (rust-lru-cache-0.1): New variable.
2020-05-05 13:20:27 +02:00
Hartmut Goebel
bfe36370cd gnu: Add rust-loom-0.3.
* gnu/packages/crates-io.scm (rust-loom-0.2): New variable.
  (rust-loom-0.1): inherit from it.
2020-05-05 13:20:27 +02:00