summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-12-18installer: final: Delete SQLite WAL and shm files upon completion.•••Previously, db.sqlite-{wal,shm} could be left behind after stopping guix-daemon. When resuming installation, SQLite could end up behaving as if transactions visible in the WAL file had been committed, in spite of having restored SAVED-DATABASE. Fixes <https://issues.guix.gnu.org/59784>. Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>. * gnu/installer/final.scm (install-system): Before restarting guix-daemon, delete db.sqlite-{wal,shm}. Ludovic Courtès
2022-12-18installer: final: Stop guix-daemon before accessing store database.•••As part of fixing <https://issues.guix.gnu.org/59784>, make sure /var/guix/db.sqlite is only copied while guix-daemon is stopped. * gnu/installer/final.scm (call-with-mnt-container): Add FIXME comment. (install-system): Copy DATABASE-FILE and SAVED-DATABASE only when 'guix-daemon' is stopped. Add logging lines. Ludovic Courtès
2022-12-18Update NEWS.Ludovic Courtès
2022-12-18daemon: Make "opening file" error messages distinguishable.•••* nix/libstore/build.cc (DerivationGoal::openLogFile): Customize "opening file" error message. * nix/libutil/hash.cc (hashFile): Likewise. * nix/libutil/util.cc (readFile, writeFile): Likewise. Ludovic Courtès
2022-12-17Update NEWS.Marius Bakke
2022-12-15install: Make sure uvesafb can be loaded.•••Fixes <https://issues.guix.gnu.org/60010>. Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>. Previously, the 'modprobe' executable would try and fail to load the module from /lib/modules/*. Set 'LINUX_MODULE_DIRECTORY' to make sure 'modprobe' looks for the module in the right place. * gnu/system/install.scm (uvesafb-shepherd-service)[modprobe]: New variable. In 'start' method, invoke it instead of KMOD/bin/modprobe. Ludovic Courtès
2022-12-15doc: Use VM image file name consistently.•••Previously, what "/tmp/qemu-image" refers to could be unclear at first. * doc/guix.texi (Running Guix in a VM): Use the original image file name instead of /tmp/qemu-image. * po/doc/guix-manual.de.po, po/doc/guix-manual.es.po, po/doc/guix-manual.fr.po, po/doc/guix-manual.pt_BR.po, po/doc/guix-manual.ru.po, po/doc/guix-manual.zh_CN.po: Adjust accordingly. Ludovic Courtès
2022-12-14doc: Fix formatting for 'computed-file'.•••* doc/guix.texi (G-Expressions): Fix formatting for 'computed-file'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal
2022-12-14doc: Verify the release with my own OpenPGP key.•••* doc/guix.texi (OPENPGP-SIGNING-KEY-ID, OPENPGP-SIGNING-KEY-URL): Switch to my key. Ludovic Courtès
2022-12-10gnu: guix: Update to 1.4.0rc2.Ludovic Courtès
2022-12-10deduplicate: Use 'sendfile' only with file ports.•••Fixes a regression introduced in b129026e2e242e9068158ae6e6fcd8d7c5ea092e. * guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile' only when INPUT' is a file port. Ludovic Courtès
2022-12-10install: 'umount-cow-store' retries upon EBUSY.•••Possibly fixes <https://issues.guix.gnu.org/59884>. * gnu/build/install.scm (umount*): New procedure. (unmount-cow-store): Use it instead of 'umount'. Ludovic Courtès
2022-12-10installer: Detect mapped installation devices.•••Fixes: <https://issues.guix.gnu.org/59823> * gnu/installer/parted.scm (mapped-device?, mapped-device-parent-partition): New procedures. (eligible-devices): Detect mapped installation devices using the new procedures. Mathieu Othacehe
2022-12-10deduplicate: Use 'sendfile' for small file copies.•••* guix/store/deduplication.scm (dump-file/deduplicate): Use 'sendfile' instead of 'dump-port'. * tests/store-deduplication.scm ("copy-file/deduplicate, below %deduplication-minimum-size"): New test. Ludovic Courtès
2022-12-09installer: Print progress bars and such as soon as \r is read.•••Fixes <https://issues.guix.gnu.org/59922>. Previously progress bars and related things would be buffered by 'run-external-command-with-line-hooks' until \n is read. * gnu/installer/utils.scm (run-external-command-with-line-hooks): Use 'read-delimited' rather than 'get-line'. Pass 'concat as the last argument. (%display-line-hook): Remove. (run-command): Use 'display' instead of '%display-line-hook'. (%syslog-line-hook): Add "\n" when LINE doesn't end in \n. (%installer-log-line-hook): Do not add an extra newline. (installer-log-line): Add an extra newline. Ludovic Courtès
2022-12-09services: nscd: Use nscd from 'glibc-final' on native builds.•••This reduces the closure size of systems by removing one glibc copy--namely (@ (gnu packages base) glibc) in addition to (@ (gnu packages commencement) glibc-final). * gnu/services/base.scm (<nscd-configuration>)[glibc]: Change default value to use 'let-system' and 'canonical-package' as appropriate. Ludovic Courtès
2022-12-09system: Remove unused yggdrasil OS template.•••This file was added in fe1cd098d2b83737e96f19438612291f5a9316e4 but it's not referenced from anywhere, not even gnu/local.mk. Furthermore, we don't normally add full OS examples for the purposes of illustrating the use of a single service. * gnu/system/examples/yggdrasil.tmpl: Remove. Ludovic Courtès
2022-12-09environment: '-C' doesn't throw when the NSS is dysfunctional.•••Previously, if the name service switch was dysfunctional, as can happen on foreign distros lacking nscd, "guix shell -C" would crash with a backtrace on the uncaught 'getpwuid' exception. To address that, catch the exception and deal with it gracefully. Reported by remsd1 on #guix. * guix/scripts/environment.scm (launch-environment/container): Wrap 'getpwuid' call in 'false-if-exception'. Ludovic Courtès
2022-12-09guix-install.sh: Authorize all project build farms at once.•••* etc/guix-install.sh (sys_authorize_build_farms): Iterate over all hosts. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Tobias Geerinckx-Rice
2022-12-08services: base: Use 'match-record' instead of 'match'.•••* gnu/services/base.scm (agetty-shepherd-service) (mingetty-shepherd-service) (nscd.conf-file) (udev-shepherd-service) (udev-etc) (gpm-shepherd-service) (network-set-up/linux) (network-tear-down/linux) (static-networking-shepherd-service) (greetd-agreety-tty-session-command) (greetd-agreety-tty-xdg-session-command): Use 'match-record' instead of 'match'. (guix-accounts): Use <guix-configuration> accessors. (udev-service-type): Use <udev-configuration> accessors. Ludovic Courtès
2022-12-08home: services: Use 'match-record' instead of 'match'.•••* gnu/home/services/mcron.scm (home-mcron-shepherd-services): Use 'match-record' instead of 'match'. * gnu/home/services/shells.scm (home-bash-extensions): Likewise. * gnu/home/services/xdg.scm (serialize-xdg-desktop-entry): Likewise. Ludovic Courtès
2022-12-08doc: Recommend 'match-record'.•••* doc/contributing.texi (Data Types and Pattern Matching): Recommend 'match-record'. Ludovic Courtès
2022-12-08records: 'match-record' checks fields at macro-expansion time.•••This allows 'match-record' to be more efficient (field offsets are computed at compilation time) and to report unknown fields at macro-expansion time. * guix/records.scm (map-fields): New macro. (define-record-type*)[rtd-identifier]: New procedure. Define TYPE as a macro and use a separate identifier for the RTD. (lookup-field, match-record-inner): New macros. (match-record): Rewrite in terms of 'match-error-inner'. * tests/records.scm ("match-record, simple") ("match-record, unknown field"): New tests. * gnu/services/cuirass.scm (cuirass-shepherd-service): Rename 'log-file' local variable to 'main-log-file'. * gnu/services/getmail.scm (serialize-getmail-configuration-file): Move after <getmail-configuration-file> definition. Ludovic Courtès
2022-12-06services: fail2ban: Start server in the foreground.•••Previously, we were passing '-b', thereby starting the server in the background. Consequently the 'start' method could complete before the server was ready to accept connections on its socket, leading to non-deterministic test failures. Reported by Mathieu Othacehe <othacehe@gnu.org>. * gnu/services/security.scm (fail2ban-shepherd-service): Change FAIL2BAN-ACTION to invoke 'fail2ban-client'. Change 'start' method to use 'make-forkexec-constructor'; start the server in the foreground with '-f' and pass '-x' to force execution of the server, as done upstream in 'fail2ban.service.in'. Ludovic Courtès
2022-12-06services: fail2ban: Remove unnecessary Shepherd 'modules' field.•••* gnu/services/security.scm (fail2ban-shepherd-service): Remove unnecessary 'modules' field. Ludovic Courtès
2022-12-06services: fail2ban: 'stop' returns #f when the dameon is stopped.•••* gnu/services/security.scm (fail2ban-shepherd-service): Change FAIL2BAN-ACTION to return an 'invoke' gexp. Adjust the shepherd 'start' and 'stop' fields accordingly. Have 'stop' return #f on success. Ludovic Courtès
2022-12-06gnu: texinfo, info-reader: Do not run tests when cross-compiling.•••Fixes a regression introduced in a3264f31df9774ea514e18ed8e7b6bcb44061edc. Reported by Mathieu Othacehe <othacehe@gnu.org>. * gnu/packages/texinfo.scm (texinfo)[arguments]: Change #:tests? to not run tests when cross-compiling. Ludovic Courtès
2022-12-06image: Clarify comment.•••* gnu/system/image.scm: Adjust comment. Ludovic Courtès
2022-12-06tests: docker-system: Increase image size.•••* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase 'disk-image-size'. Ludovic Courtès
2022-12-06system: vm: Non-volatile 'run-vm.sh' creates a CoW image.•••Previously, copying the image would consume a lot of space and was I/O-intensive, to the point that the marionette connection timeout of 20s could be reached when running tests like "docker-system". * gnu/system/vm.scm (common-qemu-options): Pass 'format=' for each '-drive' option. (system-qemu-image/shared-store-script)[copy-image]: New variable. [builder]: Use it when VOLATILE? is false. Ludovic Courtès
2022-12-06Revert "tests: install: Fix iso-image-installer test."•••This reverts commit 0f66ef9aa99d2043abccbc80d858bdeca57534ac. e2fsprogs is now included in the installation operating system since 34f69bc6e6ea555929ecca83ee7592f5261ff5f2, making this workaround obsolete. Suggested-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2022-12-06install: Add missing e2fsprogs utility.•••* gnu/system/install.scm (%installer-disk-utilities): Add e2fsprogs. Reported-by: Adam Kandur <kefironpremise@gmail.com> Maxim Cournoyer
2022-12-06system: Rename and move %base-packages-disk-utilities.•••Rationale: It is only used in INSTALLATION-OS and doesn't make sense to be used in another context, given that file systems now automatically pull their dependencies since commit 45eac6cdf5c8d9d7b0c564b105c790d2d2007799 (services: Add file system utilities to profile). * gnu/system.scm (%base-packages-disk-utilities): Deprecate and rename to... * gnu/system/install.scm (%installer-disk-utilities): ... this. (installation-os) [packages]: Adjust accordingly. Maxim Cournoyer
2022-12-06system: Add e2fsprogs to %base-packages-utils.•••Rationale: Even when not using an ext file system, the utilities provided by e2fsprogs are useful, for example to set the copy-on-write attribute of a Btrfs file system. * gnu/system.scm (%base-packages-utils): Add e2fsprogs. Maxim Cournoyer
2022-12-05gnu: julia-documenter: Fix test suite regression.•••* gnu/packages/julia-xyz.scm (julia-documenter)[arguments]<#:phases>: Substitute a work around to fix the change of 'git submodule' default behaviour introduced by Git v2.38.1. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2022-12-05installer: Log provenance data.•••* gnu/installer.scm (provenance-sexp): New procedure. (installer-program)[installer-builder]: Add 'installer-log-line' call. Ludovic Courtès
2022-12-04nls: Update translations.•••po/packages/vi.po: New file. po/packages/LINGUAS: Add it. Julien Lepiller
2022-12-04services: configuration: Rename location accessor to "source-location".•••Fixes <https://issues.guix.gnu.org/59423>. * gnu/services/configuration.scm (define-configuration-helper): Rename the accessor of the %location field from "NAME-location" to "NAME-source-location". Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Reported-by: Pierre Langlois <pierre.langlois@gmx.com> Maxim Cournoyer
2022-12-03build: Add 'sanity-check-next.py' to the distribution.•••Reported by Vagrant Cascadian <vagrant@debian.org>. * Makefile.am (AUX_FILES): Add 'sanity-check-next.py'. Ludovic Courtès
2022-12-02Update NEWS.Ludovic Courtès
2022-12-02modules: Recognize #:declarative?.•••This addition has become necessary since commit 54003af85cc5b689bd328b30617c93ed2f5fd647, which makes use of #:declarative? in modules produced by 'make-config.scm'. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/modules.scm (extract-dependencies): Recognize #:declarative?, which was introduced in Guile 3.0.8. Ludovic Courtès
2022-12-02syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34.•••This is a re-implementation of 3c8b6fd94ceb1e898216929e8768fb518dbf1de9 done in a way that works for both glibc >= 2.34 and earlier versions. * guix/build/syscalls.scm (syscall->procedure): When LIBRARY is true, fall back to global symbols if (dynamic-link library) fails. (cherry picked from commit 3f6c32a88fc7a4d707ae1ed8ef3f7bd995461aff) Ludovic Courtès
2022-11-30gnu: guix: Update to 1.4.0rc1.Ludovic Courtès
2022-11-30maint: Adjust sed script from 'release' target.•••This is a followup to fdafd404325413da4d5fdd717c84e57a51c60fe2. This effect would to set 'GUIX_DISPLAYED_VERSION' to the empty string. * Makefile.am (release): Remove '/v' from sed script for GUIX_DISPLAYED_VERSION. Ludovic Courtès
2022-11-30build: Build gnu/packages/*.go in two passes.•••This works around <https://issues.guix.gnu.org/59717>, whereby heap usage would go beyond what's reasonable, preventing compilation of the 'guix' package on armhf-linux. This is a followup to ef82ba9dd94369926eb13325d5e7da4306d23dd7. * Makefile.am (MODULES_PACKAGES1, MODULES_PACKAGES): New variables. (MODULES_PACKAGES): Define in terms of them and use :=. (MODULES_CORE, MODULES_SYSTEM, MODULES_CLI, MODULES_PO): Define with :=. Ludovic Courtès
2022-11-28maint: Leave 'gcc-toolchain' out for i586-gnu.•••This is a temporary measure to work around the fact that we're currently lacking the necessary CPU power and human power to build everything up to 'gcc-toolchain'. * etc/release-manifest.scm (%base-packages/hurd): Comment out "gcc-toolchain" for now. Ludovic Courtès
2022-11-28Merge commit 'master' into version-1.4.0Ludovic Courtès
2022-11-28gnu: texinfo: Disable tests on GNU/Hurd.•••* gnu/packages/texinfo.scm (texinfo)[arguments]: Add #:tests? argument. Ludovic Courtès
2022-11-28gnu: cl-calispel: Fix homepage URL.•••* gnu/packages/lisp-xyz.scm (sbcl-calispel)[home-page]: Fix URL. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net> Paul A. Patience
2022-11-28gnu: Add cl-with-user-abort.•••* gnu/packages/lisp-xyz.scm (sbcl-with-user-abort, cl-with-user-abort, ecl-with-user-abort): New variables. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net> Paul A. Patience