me
/
guix
Archived
1
0
Fork 0
Commit Graph

60431 Commits (4bdf4182fe080c3409f6ef9b410146b67cfa2595)

Author SHA1 Message Date
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 fd1351ab0a
build: store-copy: Export file-size procedure.
* guix/build/store-copy.scm (file-size): Export it.
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