Merge branch 'master' into core-updates
file-systems: Subsystem cgroups now depend on /sys/fs/cgroup.
* gnu/system/file-systems.scm (%control-groups): Define 'parent' variable.
Initialize the 'dependencies' field for all the subsystems.
file-systems: Add a 'dependencies' field to <file-system>.
* gnu/system/file-systems.scm (<file-system>)[dependencies]: New field.
* gnu/system.scm (other-file-system-services)[requirements]: Honor
'file-system-dependencies'.
* doc/guix.texi (File Systems): Document it.
system: Use the CRDA udev rules.
* gnu/services/base.scm (%base-services): Add CRDA to the #:rules of
'udev-service'.
* gnu/system/install.scm (installation-services): Likewise.
system: Add 'kernel-arguments' field.
* gnu/system.scm (<operating-system>)[kernel-arguments]: New field.
(operating-system-grub.cfg): Honor it.
(operating-system-parameters-file): Add 'kernel-arguments' to the parameters
file.
* guix/scripts/system.scm (previous-grub-entries)[system->grub-entry]: Read
the 'kernel-arguments' field of the parameters file, when available.
* gnu/system/vm.scm (system-qemu-image/shared-store-script):
Use (operating-system-kernel-arguments os) in '-append'.
* doc/guix.texi (operating-system Reference): Document it.
system: Fix typo in 'PS1' in skeleton '.bashrc'.
* gnu/system/shadow.scm (default-skeletons): Move misplaced backslash.
install: Reset the mtimes of all the files in the binary tarball.
* gnu/system/install.scm (self-contained-tarball): Pass "--mtime=@0". The
only files whose mtime was not already were those in /var/guix and
/gnu/store/.links.
file-systems: 'uuid' raises a syntax error for invalid UUIDs.
* gnu/system/file-systems.scm (uuid): Call 'syntax-violation' when
'string->uuid' returns #f.
* tests/file-systems.scm ("uuid, syntax error"): New test.
Merge branch 'master' into core-updates
file-systems: Allow users to specify file system UUIDs as strings.
Fixes <http://bugs.gnu.org/19778>.
Reported by Mark H Weaver <mhw@netris.org>.
* gnu/system/file-systems.scm (%uuid-rx): New variable.
(string->uuid): New procedure.
(uuid): New macro.
* tests/file-systems.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* doc/guix.texi (File Systems): Give an example of UUID.
gnu: file-systems: Fix typo.
* gnu/system/file-systems.scm (%container-file-systems): Fix typo in a
comment.
install: Fix variable reference to iproute2 package.
This is a followup to commit d43002f64599fb80294d4c00e3a682a2776c885c.
* gnu/system/install.scm (installation-os)[packages]: Refer to IPROUTE instead
of IPROUTE2.
gnu: Include (guix build syscalls) module in initrd/VM derivations.
This bug was introduced in commit 85c3127.
Thanks to Christopher Webber for reporting it.
* gnu/syste/linux-initrd.scm (base-initrd): Include (guix build syscalls)
module in derivation.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
gnu: system: Add Linux container file systems.
* gnu/system/file-systems.scm (%container-file-systems): New variable.
gnu: system: Move file-system->spec to (gnu system file-systems).
* gnu/system/linux-initrd.scm (file-system->spec): Move this...
* gnu/system/file-systems.scm: ... to here.
gnu: system: Move <file-system-mapping> into (gnu system file-systems).
* gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here...
* gnu/system/file-systems.scm: ...to here.
* guix/scripts/system.scm: Import (gnu system file-systems).
environment: Define 'GUIX_ENVIRONMENT'.
* guix/scripts/environment.scm (create-environment): Define 'GUIX_ENVIRONMENT'.
* doc/guix.texi (Invoking guix environment): Document it.
* gnu/system/shadow.scm (default-skeletons): Adjust 'PS1' depending on whether
'GUIX_ENVIRONMENT' is defined.
linux-initrd: Use (guix cpio) instead of GNU cpio.
* gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and
related calls. Compute list of files in 'files' variable. Use
'cpio:write-cpio-archive'. Remove #:cpio parameter.
(build-initrd): Remove #:cpio parameter.
* gnu/system/linux-initrd.scm (expression->initrd): Likewise, and adjust
BUILDER accordingly. Add (guix cpio) to #:modules.
Merge branch 'master' into core-updates