gnu: vm: Remove potluck hacks.
* gnu/system/vm.scm (example1): Remove.
(example2): Rename to...
(system-qemu-image): ... this. Add 'store' parameter, and remove call
to 'open-connection'.
gnu: vm: Setup PAM.
* gnu/system/vm.scm (example2): Use 'pam-services->directory'. Change
POPULATE to create /etc/pam.d, /etc/login.defs, and /var/run. Change
BOOT to spawn syslogd; boot to Bash. Add inputs.
gnu: vm: Create shadow files with the right format.
* gnu/system/vm.scm (passwd-file): When SHADOW? is true, use the right
shadow(5) format. Always add a trailing newline.
linux-initrd: Create /dev/klog and /dev/kmsg.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/klog and /dev/kmsg.
gnu: linux-initrd: Fix typo.
* gnu/packages/linux-initrd.scm (gnu-system-initrd): Add missing
argument to 'format' call.
gnu: linux-pam: Add declarative PAM service interface.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>): New record
types.
(pam-service->configuration, pam-services->directory,
unix-pam-service): New procedures.
(%pam-other-services): New variable.
store: The 'references' parameter of 'add-text-to-store' is now optional.
* guix/store.scm (add-text-to-store): Make 'references' optional.
* tests/store.scm ("dead-paths", "references"): Use 'add-text-to-store'
with no optional argument.
* doc/guix.texi (The Store): Adjust accordingly.
gnu: isl: Update urls.
* gnu/packages/gcc.scm (isl): Update source and home page url.
gnu: vm: Copy /etc/shadow to the guest.
* gnu/system/vm.scm (example2): Add SHADOW to #:inputs-to-copy.
gnu: vm: Create valid /etc/shadow and /etc/passwd.
* gnu/system/vm.scm (/etc/passwd): Rename to...
(passwd-file): ... this. Add 'shadow?' keyword parameter. Change
format of ACCOUNTS, and fix CONTENTS.
(example2): Adjust accordingly. Create both /etc/shadow and
/etc/passwd, the latter being used by getpwnam(3) & co. when nscd is
not running.
gnu: vm: Clear timestamps on the imported files, like in the store.
* gnu/system/vm.scm (qemu-image): Clear timestamps on the copied files.
hydra: Support a 'subset' argument.
* build-aux/hydra/gnu-system.scm (%core-packages): New variable.
(%packages-to-cross-build): Make an alias for %CORE-PACKAGES.
(hydra-jobs): Check for the 'subset' argument, and honor it for values
"all" and "core".
gnu: linux-libre: Upgrade to 3.11.
* gnu/packages/linux.scm (linux-libre): Upgrade to 3.11. Add bc as an
input.
gnu: grub: Add support for building configuration files.
* gnu/packages/grub.scm (<menu-entry>): New record type.
(grub-configuration-file): New procedure.
* gnu/system/vm.scm (qemu-image): Remove parameters 'linux',
'linux-arguments', and 'initrd'. Add 'grub-configuration' parameter.
Honor them, and remove grub.cfg generation code accordingly.
(example2): Use `grub-configuration-file', and adjust accordingly.
doc: Add "Data Types and Pattern Matching" to the Coding Style.
* HACKING (Data Types and Pattern Matching): New section.
gnu: Add the 'license:' prefix.
* gnu/packages/glib.scm (itstool): Change 'gpl3+' to 'license:gpl3+'.
gnu: Add itstool.
* gnu/packages/glib.scm (itstool): New variable.
gnu: vm: Add /etc/shadow in the QEMU image.
* gnu/system/vm.scm (qemu-image): Add 'populate' keyword parameter and
honor it; make it an input.
(/etc/shadow): New procedure.
(example2): Call it; build 'populate' script, and pass it to
'qemu-image'.
gnu: vm: Remove unused 'qemu-image' argument.
* gnu/system/vm.scm (qemu-image): Remove 'boot-expression' parameter,
superseded by 'linux-arguments'.
gnu: vm: First stab at building a populated QEMU image.
* gnu/packages/linux-initrd.scm (gnu-system-initrd): New variable.
* gnu/system/vm.scm (qemu-image): Add #:linux-arguments parameter.
[input->name+derivation]: Add case for 'store-path?' items.
Remove LOADER from `inputs'.