doc: Encourage signature verification. * doc/contributing.texi (Submitting Patches): Remind contributors to verify cryptographic signatures.
daemon: '--listen' can be passed several times, can specify TCP endpoints. * nix/nix-daemon/guix-daemon.cc (DEFAULT_GUIX_PORT): New macro. (listen_options): New variable. (parse_opt): Push back '--listen' options to LISTEN_OPTIONS. (open_unix_domain_socket, open_inet_socket) (listening_sockets): New functions. (main): Use it. Pass SOCKETS to 'run'. * nix/nix-daemon/nix-daemon.cc (matchUser): Remove. (SD_LISTEN_FDS_START): Remove. (acceptConnection): New function. (daemonLoop): Rewrite to take a vector of file descriptors, to select(2) on them, and to call 'acceptConnection'. (run): Change to take a vector of file descriptors. * tests/guix-daemon.sh: Add test.
store: Define a default port for TCP connections. * guix/store.scm (%default-guix-port): New variable. (connect-to-daemon)[connect]: Use it when (uri-port uri) is #f. * doc/guix.texi (The Store): Mention the default port number.
gnu: services: use seconds instead of duration strings. * gnu/services/dns.scm (zone-file, knot-policy-configuration): Use numbers instead of duration strings. (verify-knot-policy-configuration): Fix typo. * doc/guix.texi (DNS Services): Update documentation.
doc: Suggest a QEMU image size large enough for the system examples. * doc/guix.texi (Installing GuixSD in a Virtual Machine): Increase suggested image size from 5 GB to 50 GB.
doc: Clarify comment about QEMU qcow2 file sizes. * doc/guix.texi (Installing GuixSD in a Virtual Machine): Clarify comment about QEMU's qcow2 virtualized block device file format.
doc: Explain how to use the GCC toolchain. * doc/guix.texi (Application Setup): Add subsection "The GCC toolchain".
guix: Add texlive importer. * guix/import/texlive.scm: New file. * guix/scripts/import/texlive.scm: New file. * Makefile.am (MODULES): Add them. * tests/texlive.scm: New file. * Makefile.am (SCM_TESTS): Add it. * guix/scripts/import.scm (importers): Add texlive importer. * doc/guix.texi (Invoking guix import): Document it.
build-system: Add 'texlive-build-system'. * guix/build-system/texlive.scm: New file. * guix/build/texlive-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document it. * gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables. (texlife-ref): Remove procedure.
guix package: '--search' sorts by relevance. * guix/scripts/package.scm (find-packages-by-description): Rewrite to compute a score based on the number of regexps matched and the number of matches for each regexp. Sort according to this score and return it as a second value. (process-query) <'search>: Capture the two return values of 'find-packages-by-description'. Pass #:extra-fields to 'package->recutils'. * doc/guix.texi (Invoking guix package): Mention relevance, give an example.
services: rottlog: Make extensible. * gnu/services/admin.scm (rottlog-service-type)[compose, extend]: New fields. * doc/guix.texi (Log Rotation): Mention extension.
services: rottlog: Define <log-rotation> objects. * gnu/services/admin.scm (<log-rotation>): New record type. (syslog-rotation-config, simple-rotation-config): Remove. (%default-rotations): Define as a list of <log-rotation> objects. (log-rotation->config, log-rotations->/etc-entries): New procedures. (<rottlog-configuration>)[periodic-rotations]: Remove. [rotations]: New field. (rottlog-etc): Use 'log-rotations->/etc-entries'. * doc/guix.texi (Log Rotation): Update accordingly.
packages: Add 'specifications->manifest'. * gnu/packages.scm (specifications->manifest): New procedure. * doc/guix.texi (Invoking guix package): Change example from using '(compose list specification->package+output)' to using 'specifications->manifest'.
doc: Add Hartmut to the @copying section. * doc/guix.texi: Add a copyright line for Hartmut.
doc: Add missing node in master menu. * doc/guix.texi (Top): Add missing ref to "Debugging Build Failures".
doc: Adapt to multiple bootloader support. * doc/guix.texi (GRUB configuration): Rename to "Bootloader configuration". Remove device-mount-point field from menu-entry description. Adapt occurences of "GRUB" in other sections.
doc: Use 'guix environment --no-grafts' to debug build failures. * doc/guix.texi (Debugging Build Failures): Pass --no-grafts to 'guix environment' and explain.
services: guix: Add 'max-silent-time' and 'timeout'. * gnu/services/base.scm (<guix-configuration>)[max-silent-time] [timeout]: New fields. (guix-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.
scripts: refresh: Add -m manifest option. * guix/scripts/refresh.scm (%options): Add -m option, (show-help): document it, (packages-from-manifest): new procedure, (guix-refresh): use packages from manifest if specified, otherwise keep the previous behaviour. * doc/guix.texi (Invoking guix refresh): document new option.
daemon: Add '--timeout' and '--max-silent-time'. * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_TIMEOUT) (GUIX_OPT_MAX_SILENT_TIME): New macros. * nix/nix-daemon/guix-daemon.cc (options): Add '--timeout' and '--max-silent-time'. (parse_opt): Honor them. * tests/guix-daemon.sh: Add test. * doc/guix.texi (Invoking guix-daemon): Document the options. (Common Build Options): Properly describe default timeout/max-silent-time value. Add cross-ref to "Invoking guix-daemon".