gnu: avahi, dbus: Use /var as $localstatedir.
* gnu/packages/avahi.scm (avahi): Pass '--localstatedir'; add
'patch/localstatedir'.
* gnu/packages/glib.scm (dbus): Pass '--localstatedir' and
'--with-session-socket-dir'; add 'patch/localstatedir'.
* gnu/packages/patches/avahi-localstatedir.patch,
gnu/packages/patches/dbus-localstatedir.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
gnu: Move helper code to (gnu system …) modules.
* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move
to...
* gnu/system/grub.scm: ... here. New file.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>,
pam-service->configuration, pam-service->directory,
%pam-other-services, unix-pam-service): Move to...
* gnu/system/linux.scm: ... here. New file.
* gnu/system/vm.scm (passwd-file): Move to...
* gnu/system/shadow.scm: ... here. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add
gnu/system/{grub,linux,shadow}.scm.
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.
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.
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.
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.
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'.
gnu: vm: 'qemu-image' populates /dev on the target root file system.
* gnu/system/vm.scm (qemu-image): Use (guix build linux-initrd). Remove
'mknod' calls; use 'make-essential-device-nodes' to populate /dev on
the target image.
* gnu/packages/linux-initrd.scm (qemu-initrd): When /root/dev exists,
don't call 'make-essential-device-nodes'.
gnu: xorg: Update comment for mesa.
* gnu/packages/xorg.scm (mesa): New compilation trial with 9.2.