~ruther/guix-local

f19cf27c — Mathieu Othacehe 6 years ago
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.
f8fd1157 — Mathieu Othacehe 6 years ago
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.
892bbea7 — Mathieu Othacehe 6 years ago
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.
5990e95b — Mathieu Othacehe 6 years ago
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.
fd1351ab — Mathieu Othacehe 6 years ago
build: store-copy: Export file-size procedure.

* guix/build/store-copy.scm (file-size): Export it.
78fbf2bd — Mathieu Othacehe 6 years ago
system: vm: Move operating-system-uuid.

* gnu/system/vm.scm (operating-system-uuid): Move to ...
* gnu/system.scm: ... here.
051f3254 — pinoaffe 6 years ago
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>
4c4ae8b5 — Hartmut Goebel 6 years ago
gnu: Add sequoia.

* gnu/packages/sequoia.scm: New file.
* gnu/local.mk: Add it.
098f1d72 — Hartmut Goebel 6 years ago
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.
5effc5bf — Hartmut Goebel 6 years ago
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.
cfb9bc26 — Hartmut Goebel 6 years ago
gnu: Add rust-zbase32-0.1.

* gnu/packages/crates-io.scm (rust-zbase32-0.1): New variable.
1431405e — Hartmut Goebel 6 years ago
gnu: Add rust-webpki-roots-0.14.

* gnu/packages/crates-io.scm (rust-webpki-roots-0.14): New variable.
5b4051bf — Hartmut Goebel 6 years ago
gnu: Add rust-webpki-roots-0.17.

* gnu/packages/crates-io.scm (rust-webpki-roots-0.17): New variable.
f96097da — Hartmut Goebel 6 years ago
gnu: Add rust-webpki-roots-0.18.

* gnu/packages/crates-io.scm (rust-webpki-roots-0.18): New variable.
8c28fbc3 — Hartmut Goebel 6 years ago
gnu: Add rust-webpki-0.18.

* gnu/packages/crates-io.scm (rust-webpki-0.18): New variable.
0e524271 — Hartmut Goebel 6 years ago
gnu: Add rust-webpki-0.21.

* gnu/packages/crates-io.scm (rust-webpki-0.21): New variable.
5415f9d2 — Hartmut Goebel 6 years ago
gnu: Add rust-want-0.2.

* gnu/packages/crates-io.scm (rust-want-0.2): New variable.
25078818 — Hartmut Goebel 6 years ago
gnu: Add rust-untrusted-0.6.

* gnu/packages/crates-io.scm (rust-untrusted-0.6): New variable.
c3e71dce — Hartmut Goebel 6 years ago
gnu: Add rust-tokio-test-0.2.

* gnu/packages/crates-io.scm (rust-tokio-test-0.2): New variable.
c834cf98 — Hartmut Goebel 6 years ago
gnu: Add rust-tokio-rustls-0.12.

* gnu/packages/crates-io.scm (rust-tokio-rustls-0.12): New variable.
Next