Inspired by
1270b2e209.
The price to pay is about 5% of a CPU core usage in the guest in the worst
scenario.
* gnu/system/examples/vm-image.tmpl
(auto-update-resolution-crutch): New mcron job.
[services]: Extend the mcron-service with it.
Fixes <https://bugs.gnu.org/48313>.
Previously, 'current-channels' would return the empty list when
'current-profile' is true but the profile lacks provenance info.
* guix/describe.scm (current-channels)[build-time-metadata]: New
procedure. Call it when 'manifest-entry-channel' returns #f for all of
ENTRIES.
* guix/scripts/describe.scm (guix-describe): When PROFILE is true, pass
third argument to 'display-profile-info'.
Fixes <https://issues.guix.gnu.org/43530>.
Wget is typically included with most GNU/Linux distributions. It adds about
~3 MiB to the system size.
* gnu/system.scm (%base-packages-networking): Add the wget package.
This fixes the following issue where spice-vdagent would fail to start if the
spice-vdagent-sock socket file already existed:
spice-vdagentd: Fatal could not create the server socket
/run/spice-vdagentd/spice-vdagent-sock: Error binding to address: Address
already in use
The requirement is also modified to depend on dbus-system, a cue taken from
upstream's own systemd service file (see 'data/spice-vdagentd.service' in the
sources).
* gnu/services/spice.scm (spice-vdagent-activation): Delete procedure.
(spice-vdagent-shepherd-service): Fix indentation.
[requirement]: Replace udev by dbus-system.
[start]: Ensure the spice-vdagentd run-time directory exists and that the
spice-vdagent-sock socket file does *not* exist before forking the daemon.
Reported by Maxime Devos <maximedevos@telenet.be>.
* gnu/packages/package-management.scm (guile2.2-guix)[inputs]
[propagated-inputs]: Add GUILE2.2-LIB, GUILE2.2-ZLIB, and
GUILE2.2-LZLIB.
* gnu/services/spice.scm (spice-vdagent-activation): Update runtime directory
from /var/run/spice-vdagentd to /run/spice-vdagentd.
(spice-vdagent-service-type): Specify a default value and fix indentation.
The qcow2 format supports compression, and the qcow2 type supported by 'guix
system image' produces compressed qcow2 images.
* Makefile.am (release): Do not re-compress the qcow2 VM images with xz.
* doc/guix.texi (Running Guix in a VM): Adjust VM image URL.
This workaround was made obsolete by commit a23789bbbd, which prevented the PO
files from being spuriously updated upon running 'make'.
* Makefile.am (release) <git checkout>: Remove command.
It was discussed on guix-devel that the manual only needs to have correct
instructions for the latest release.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): Update to my public OpenPGP key.
(OPENPGP-SIGNING-KEY-URL): Adjust URL.
* etc/guix-install.sh <FUNCNAME>: Explicitly refer to the first item of the
FUNCNAME array.
(ROOT_HOME): Replace variable by ~root directly; manually expanding it via
echo was not necessary.
(chk_gpg_keyring): Use an if branch for the exit to avoid a warning about
expression precedence.
(chk_term) <ansi_term>: Remove unused variable.
(guix_get_bin) <wget, gpg>: Test the commands directly. Use an array for the
wget arguments, which can then be properly expanded.
(sys_create_store): Disable SC1090 for the source command, as we don't care
about following the sourced script.
<_msg>: Reuse the GUIX_PROFILE variable in the message.
(sys_create_build_user) <getent>: Test the command directly.
* gnu/packages/package-management.scm (guix)[arguments]: In
'copy-bootstrap-guile' and 'wrap-program' phases, refer to #:system,
#:native-inputs, and #:target instead of unquoting (%current-system)
and (%current-target-system).
The Bash wrapper created by 'wrap-program' creates an extra
indirection and may annoyingly emit locale warnings:
/gnu/store/…-bash-minimal-5.0.16/bin/bash: warning: setlocale: LC_ALL: cannot change locale (wtf)
This warning would typically show up when running Guix, as produced by
'guix pack guix', on a foreign distro, annihilating efforts made in
1d4ab335b2 and
8a973abc6f.
* gnu/packages/package-management.scm (guix)[arguments]: In
'wrap-program' phase, remove 'string-join' call for PATH and GOPATH.
Replace 'wrap-program' call with a 'substitute*' form. Remove (when
target ...) form.
[inputs]: Remove "bash-minimal" added in commit
38b9af7c92 and no longer needed.
This is a followup to 02e2e093e8, which
added Guile-Lib as an input but did not add it to the wrapper's search
path.
* gnu/packages/package-management.scm (guix)[arguments]: In
'wrap-program' phase, add GUILE-LIB to DEPS.
Having 2.29 is most likely no longer justified. Removing it reduces the
closure size returned by:
guix size $(guix system build gnu/system/install.scm)
from 1.6G to 1.5G.
* gnu/system/locale.scm (%default-locale-libcs): Remove GLIBC-2.29.
The upcoming 1.3.0 release will be signed with my OpenPGP key; subsequent
releases may also be.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL): Rename to...
(OPENPGP-SIGNING-KEY-ID-1, OPENPGP-SIGNING-KEY-URL-1): ... these,
respectively.
(OPENPGP-SIGNING-KEY-ID-2, OPENPGP-SIGNING-KEY-URL-2): New variables.
(Binary Installation): Adjust to cover for the new key.
(USB Stick and DVD Installation): Likewise.
(Invoking guix refresh): Adjust accordingly.
The xz-compressed image is 23% smaller than the original ISO image (with
built-in zlib compression), but the extra decompression step is
unconventional and often a hindrance for users. See discussion at
<https://lists.gnu.org/archive/html/guix-devel/2021-04/msg00497.html>.
* Makefile.am (release): Do not compress ISO images.
* doc/guix.texi (USB Stick and DVD Installation): Remove ".xz" suffix
from URL and file name.
(Copying to a USB Stick, Burning on a DVD): Remove introductory words,
@enumerate, and first item.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This change is so that the list of translated Texinfo files remain in sync
with the list of supported (translated) languages.
* doc/local.mk (MANUAL_LANGUAGES, COOKBOOK_LANGUAGES): New variables.
(lang_to_texinfos): New function.
(TRANSLATED_INFO): Use it to construct the list of files.
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This is a follow up to commit ebf5d77eab, which added the qcow2 file extension
to the VM image file name.
* doc/guix.texi (Running Guix in a VM): Update URL.
As discussed with Julien Lepiller on IRC, updating the PO files is not useful.
This change removes the target and associated rules that allowed updating
them. This has the benefit of not having the PO files updated automatically
when generating the .pot files, which was causing spurious changes under the
po sub-directory.
* po/doc/local.mk (make-update-po-files-rule): Remove function and its uses.
(doc-po-update): Remove target.
What is really required for the dist target is the presence of the
auto-generated .pot files; updating the PO files is not necessary nor
desirable (it causes spurious changes in the tree).
* Makefile.am (dist) <doc-po-update>: Replace prerequisite with...
<doc-pot-update>: ... this one.
We need to update the minimal gettext version to take advantage of new
features. Before this patch, the first make invocation would modify
po/guix and po/packages po files, and we advised to run `git checkout
po` to clean the changes.
* configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.19.1.
* po/guix/Makevars: Set PO_DEPENDS_ON_POT to no.
* po/packages/Makevars: Set PO_DEPENDS_ON_POT to no.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
The weblate API rate limit is very close to the number of files we need
to download. The previous implementation did not add new translations.
* Makefile.am (download-po): Update target.
(make-download-po-rule, make-check-po-rule): Remove functions.
* gnu/packages/xfce.scm (xfce4-settings):[propagated-inputs]: Add
gsettings-desktop-schemas. This makes it appear in the system profile
via the xfce service. This fixes a bug where changing icon theme causes
xfce4-appearance-settings to crash with the error:
GLib-GIO-ERROR **: 15:41:45.828: Settings schema 'org.gnome.desktop.interface' is not installed
Trace/breakpoint trap
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This ensures JDKs don't unintentionally keep references to the one used
to build them, as reported at <https://issues.guix.gnu.org/31719#7> and
fixed by 97a43db8b4.
* gnu/packages/java.scm (icedtea-8)[arguments]: Add #:disallowed-references.
(openjdk9)[arguments]: Likewise.
(openjdk10)[arguments]: Likewise.
(openjdk11)[arguments]: Likewise.
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]:
Change 'find-library' to always return a string. Change 'find-library'
callers to use 'string-append' rather than 'format'. Starting from
97a43db8b4, 'find-library' could return #f
and JNI substitutions would emit a literal "#f".
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11): Do not consider
icedtea/openjdk input paths when rewriting JNI libraries.
Signed-off-by: Andreas Enge <andreas@enge.fr>
The forthcoming 1.3.0 release will be signed with my personal GnuPG key; the
installation script need to tell users how fetch it.
* etc/guix-install.sh (OPENPGP_SIGNING_KEY_ID): Remove variable.
(GPG_SIGNING_KEYS): New associative array.
(chk_gpg_keyring): Process all the keys contained in the above array.
(main) <GUIX_BINARY_FILE_NAME>: Double quote variable.
This is a follow-up to commit 0d353b06ec.
* po/doc/local.mk: Fix function name in comment.
(%D%/guix-manual.pot): Refer to *all* the prerequisites via the $^ special
variable rather than $<, which only refers to the first one.
Reported-by: Julien Lepiller <julien@lepiller.eu>
It used to be that the running the doc-po-update and doc-pot-update targets
would redo the same work on every run. This change splits the problem in
smaller chunks and specifies build dependencies in a way that outputs only get
rebuilt when their inputs changed.
* po/doc/local.mk (DOC_PO_FILES): Harmonize escapes.
(POT_OPTIONS): Re-indent uniformly.
(doc-po-update-%, doc-po-update-cookbook-%): Re-implement with...
(make-update-po-files-rule): ... this new function.
(TMP_POT_FILES): Remove variable.
(%D%/%.pot, %D%/guix-manual.pot): New pattern rules.
(doc-pot-update, doc-po-update): Adjust prerequisites accordingly.