system: Use Guile 2.2 rather than 2.0 in %BASE-PACKAGES.
* gnu/system.scm (%base-packages): Change GUILE-2.0 to GUILE-2.2.
vm: Add UEFI loader to disk images.
* gnu/build/vm.scm (install-efi): New procedure.
(initialize-hard-disk): Generate EFI blob when ESP is present.
* gnu/system/vm.scm (qemu-image): Append 40MiB EFI System Partition.
(cherry picked from commit ecf5d5376979fadd971559367bf553df89fcc62b)
vm: Support creating FAT partitions.
* gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): New procedures.
(format-partition): Use them. Error for unknown file systems.
* gnu/system/vm.scm (qemu-image): Include DOSFSTOOLS.
* gnu/system/linux-initrd.scm (base-initrd): Always add nls_is8859-1.ko.
vm: Support arbitrary partition flags.
* gnu/build/vm.scm (<partition>): Change BOOTABLE? to FLAGS.
(initialize-partition-table): Pass each flag to parted.
(initialize-hard-disk): Locate boot partition.
* gnu/system/vm.scm (qemu-image): Adjust partition flags.
gnu: guile-ssh: Fix potential double-free/use-after-free issue.
Fixes <http://bugs.gnu.org/26976>.
Reported by Mark H Weaver <mhw@netris.org>.
* gnu/packages/patches/guile-ssh-double-free.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ssh.scm (guile-ssh)[source](patches): Add it.
modules: Add more source-less modules.
* guix/modules.scm (%source-less-modules): New variable.
(source-module-dependencies): Use it.
publish: Fix narinfo rendering for already-compressed items.
Fixes <http://bugs.gnu.org/26975>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd
argument to 'stat' and properly handle #f.
* tests/publish.scm (wait-for-file): New procedure.
("with cache"): Remove 'wait-for-file' procedure.
("with cache, uncompressed"): New test.
union: Gracefully handle dangling symlinks in the input.
Fixes <http://bugs.gnu.org/26949>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
* guix/build/union.scm (file-is-directory?): Return #f when FILE does
not exist or is a dangling symlink.
(file=?): Pass #f as a second argument to 'stat'; return #f when both
ST1 or ST2 is #f.
* tests/profiles.scm (test-equalm): New macro.
("union vs. dangling symlink"): New test.
services: user-homes: Do not create home directories marked as no-create.
Fixes a bug whereby GuixSD would create the /nonexistent directory, from
user 'nobody', even though it has 'create-home-directory?' set to #f.
* gnu/build/activation.scm (activate-users+groups): Add comment for
\#:create-home?.
(activate-user-home)[ensure-user-home]: Skip when CREATE-HOME? is #f or
SYSTEM? is #t.
* gnu/tests/base.scm (run-basic-test)["no extra home directories"]: New
tests.
install: Enable SSH in installation image.
* gnu/system/install.scm (%installation-services): Add OPENSSH-SERVICE-TYPE.
* doc/guix.texi (Preparing for Installation)[Networking]: Document it.
services: openssh: Don't depend on networking.
* gnu/services/ssh.scm (openssh-shepherd-service): Drop requirement.
maint: The 'release' target builds a VM image.
* gnu/system/examples/vm-image.tmpl: New file.
* Makefile.am (GUIXSD_VM_SYSTEMS, GUIXSD_VM_IMAGE_BASE,
GUIXSD_VM_IMAGE_SIZE): New variables.
(release): Add logic to build a VM image.
(EXAMPLES): Add 'gnu/system/examples/vm-image.tmpl'.
* doc/guix.texi (Running GuixSD in a VM, Installing GuixSD in a VM): Mention the
pre-built VM image.
gnu: aspell: 'dict-dir' set to ~/.guix-profile/lib/aspell or $ASPELL_DICT_DIR.
See <https://bugs.gnu.org/25836> for background.
* gnu/packages/patches/aspell-default-dict-dir.patch: New file.
* gnu/packages/aspell.scm (aspell)[source](patches): New field.
[native-search-paths]: New field.
* gnu/local.mk (dist_patch_DATA): Add it.
gnu: qemu: Fix CVE-2017-7493.
* gnu/packages/patches/qemu-CVE-2017-7493.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/qemu.scm (qemu)[source]: Use it.
profiles: Add elapsed time to manual-database hook to output message.
* guix/profiles.scm (manual-database): Add elapsed time to manual-database
hook to output message.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: glibc/hurd: Do not apply i686 patch.
This is a follow-up to commit c2e4f14ac8cd3e1ce7f46a192ad0c9acc084b210.
* gnu/packages/base.scm (glibc/hurd)[arguments]: Override pre-configure phase
with a copy that does not include the patch application.
gnu: glibc/hurd: Use modify-phases syntax.
* gnu/packages/base.scm (glibc/hurd)[arguments]: Use modify-phases syntax.
gnu: tor: Update to 0.3.0.7.
* gnu/packages/tor.scm (tor): Update to 0.3.0.7.
maint: Add 'update-NEWS' target.
* build-aux/update-NEWS.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(GUIX_MAINTENANCE_DIRECTORY): New variable.
(update-NEWS): New target.
(.PHONY): Add it.