Merge branch 'core-updates'
Merge branch 'master' into core-updates
linux-boot: Mount /dev as a devtmpfs from the start.
Suggested by Petter <petter@mykolab.ch>
and Mark H Weaver <mhw@netris.org>.
Reported by Duncan Keall <duncan@duncankeall.com>.
Partly fixes <http://bugs.gnu.org/19190> by populating /dev/mapper
early enough.
* gnu/build/linux-boot.scm (mount-essential-file-systems): Mount /dev as
a devtmpfs.
(move-essential-file-systems): Add /dev.
(mount-root-file-system): Mount /rw-root/dev as a devtmpfs instead of
calling 'make-essential-device-nodes'.
(boot-system): Remove call to 'make-essential-device-nodes'.
* gnu/system/file-systems.scm (%devtmpfs-file-system): Remove.
* doc/guix.texi (File Systems): Adjust accordingly.
gnu: system: Add Linux container module.
* gnu/system/linux-container.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system.scm: Export 'operating-system-etc-directory',
'operating-system-boot-script', 'operating-system-locale-directory', and
'file-union'.
(operating-system-boot-script): Add #:container? keyword argument.
(operating-system-activation-script): Add #:container? keyword argument.
Don't call 'activate-firmware' or 'activate-ptrace-attach' when activating a
container.
Merge branch 'master' into core-updates
services: 'mingetty-service' no longer takes monadic values.
* gnu/services/base.scm (mingetty-service): Change default value of
#:motd from a monadic value to a <plain-file>. Assume MOTD to be a
file-like object. Assume LOGIN-PROGRAM is a gexp or #f.
(%base-services): Use 'plain-file' instead of 'text-file' for motd.
* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
that MOTD is a file-like object.
* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
accordingly.
file-systems: Add %elogind-file-systems; add it to %base-file-systems.
* gnu/system/file-systems.scm (%elogind-file-systems): New variable.
(%base-file-systems): Add %elogind-file-systems.
gnu: wpa-supplicant-light: Rename to wpa-supplicant-minimal.
* gnu/packages/admin.scm (wpa-supplicant-light): Rename to ...
(wpa-supplicant-minimal): ...this.
(wpa-supplicant): Use it.
* gnu/system/install.scm (installation-os): Use it.
Build tarballs with deterministic file ordering.
* guix/packages.scm (patch-and-repack)[build],
gnu/system/install.scm (self-contained-tarball)[build],
gnu/packages/make-bootstrap.scm (tarball-package),
gnu/packages/admin.scm (isc-dhcp),
gnu/packages/video.scm (avidemux): Pass "--sort=name" to 'tar'.
doc: Mention the "normalized codeset" used in locale names.
* doc/guix.texi (Locales): Introduce "codeset".
<%default-locale-definitions>: Mention the "normalized codeset", with
an xref to libc's manual.
* gnu/system/locale.scm (%default-locale-definitions)[utf8-locale]:
Mention the "normalized codeset" in a comment.
system: Make PAM store SHA-512 encrypted passwords in /etc/shadow.
Fixes <http://bugs.gnu.org/21318>.
* gnu/system/linux.scm (unix-pam-service)[password]: Add 'sha512' and
'shadow' to arguments.
vm: Make the list of partitions to build a parameter.
* gnu/build/vm.scm (<partition>): New record type.
(fold2): New procedure.
(initialize-partition-table): Remove #:bootable? and
'partition-size' parameters. Add 'partitions' parameter. Invoke 'parted'
with '--script'.
(initialize-root-partition): Remove.
(initialize-partition, root-partition-initializer): New procedures.
(initialize-hard-disk): Remove #:system-directory, #:disk-image-size,
#:file-system-type, #:file-system-label, #:closures, #:copy-closures?,
#:bootable?, and #:register-closures? parameters. Add #:partitions.
Rewrite to use 'initialize-partition' for each item of PARTITIONS.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix records)
to #:modules default value.
(qemu-image): Adjust accordingly.
vm: Use the 'umount' procedure instead of util-linux's 'umount' command.
* gnu/build/vm.scm (initialize-root-partition, initialize-hard-disk): Use the
'umount' procedure instead of invoking the 'umount' command.
* gnu/system/vm.scm (qemu-image): Remove UTIL-LINUX from INPUTS.
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.