gnu: linux-libre: Build the e1000e driver (Intel ethernet NIC driver.)
* gnu/packages/linux.scm (linux-libre): Add CONFIG_E1000E=m.
gnu: Merge Parted, fdisk, and ddrescue in (gnu packages disk).
* gnu/packages/parted.scm: Rename to...
* gnu/packages/disk.scm: ... this. New file. Merge with...
* gnu/packages/fdisk.scm: ... this; remove file;
* gnu/packages/ddrescue.scm: ... and this; remove file.
* gnu/system/install.scm, gnu/system/vm.scm: Adjust accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove
gnu/packages/{parted,fdisk,ddrescue}.scm and add
gnu/packages/disk.scm.
hydra: Add Avahi to the demo OS.
* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'.
Add AVAHI to 'packages'.
system: Make sure /run/setuid-programs comes first in $PATH.
* gnu/system.scm (etc-directory) <bashrc>: Move /run/setuid-programs
first in $PATH.
gnu: elfutils: Add synopsis and description.
* gnu/packages/elf.scm (elfutils): Add synopsis and description.
list-packages: Add links to Hydra for mips64el-linux.
* build-aux/list-packages.scm (package->sxml): Add 'url' call for
mips64el-linux.
system: File system sources can be marked as labels or devices.
* gnu/system/file-systems.scm (<file-system>)[title]: New field.
* gnu/services/base.scm (file-system-service): Add #:title parameter.
In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
* gnu/system.scm (other-file-system-services,
operating-system-root-file-system, operating-system-initrd-file):
Adjust accordingly.
* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
file system.
* guix/build/linux-initrd.scm (mount-file-system): Expect the second
element of SPEC to be the title.
(boot-system)[root-mount-point?, root-fs-type]: Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Select
'canonicalize-device-spec'.
linux-initrd: Wait for devices to appear when resolving a label.
* guix/build/linux-initrd.scm (canonicalize-device-spec): Add #:title
parameter. When resolving a label, wait a little and try several
times before bailing out.
gnu: hurd: Add Hurd Minimal.
* gnu/packages/hurd.scm (hurd-minimal): New variable.
* gnu/packages/patches/hurd-minimal.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
services: syslogd: Write fewer messages to /dev/console.
* gnu/services/base.scm (syslog-service)[contents]: Remove "kern.*" from
/dev/console.
linux-initrd: Actually create /dev/console.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Add
"dev/console".
hydra: Make USB installation image smaller.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image'
to 630 MiB.
derivations: Add #:allowed-references 'derivation' parameter.
* guix/derivations.scm (derivation): Add #:allowed-references
parameter.
[user+system-env-vars]: Honor it.
* tests/derivations.scm ("derivation #:allowed-references, ok",
"derivation #:allowed-references, not allowed",
"derivation #:allowed-references, self allowed",
"derivation #:allowed-references, self not allowed"): New tests.
* doc/guix.texi (Derivations): Document #:allowed-references.
gnu: util-linux: Remove dependency on Perl.
* gnu/packages/linux.scm (util-linux)[source](patches): New field.
* gnu/packages/patches/util-linux-perl.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices.
* guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure.
(make-essential-device-nodes): Use it. Make more devices nodes for
SCSI disks and CD-ROM devices.
linux-initrd: Gracefully handle missing /dev nodes.
* guix/build/linux-initrd.scm (partition-label-predicate): Catch
'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.
hydra: Build the installation image.
* build-aux/hydra/gnu-system.scm (demo-os): New procedure.
(qemu-jobs): Build for both x86_64-linux and i686-linux. Add
'usb-image' job that builds INSTALLATION-OS.
Add (gnu system install).
* gnu/system/install.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
system: Add 'issue' field.
* gnu/system.scm (<operating-system>)[issue]: New field.
(%default-issue): New variable.
(etc-directory): Add #:issue parameter and honor it.
(operating-system-etc-directory): Adjust call accordingly.
* build-aux/hydra/demo-os.scm: Add 'issue' field.