summaryrefslogtreecommitdiff
path: root/guix/scripts
AgeCommit message (Expand)Author
2020-04-08reconfigure: Correctly re-throw SRFI-34 exceptions on Guile 3....Previously, we'd just print an ugly backtrace when running on Guile 3 because the '%exception throw would not be caught anywhere. Reported by Arne Babenhauserheide <arne_bab@web.de> in <https://bugs.gnu.org/40496>. * guix/scripts/system/reconfigure.scm (install-bootloader-program): In 'catch' handler, match '%exception and use 'raise-exception' instead of 'throw' to rethrow in that case. Ludovic Courtès
2020-04-03pack: Pass the cross-compilation target to 'run-with-store'....This ensures '%current-target-system' is correctly bound upfront, which some packages rely on. * guix/scripts/pack.scm (guix-pack): Pass #:target to 'run-with-store'. Ludovic Courtès
2020-04-03guix system: Mention 'herd restart' when reconfigure completes....* guix/scripts/system.scm (with-shepherd-error-handling): Use 'mbegin' instead of 'begin'. (perform-action): Print a message after 'upgrade-shepherd-services'. That message had disappeared in commit 5c8c8c455420af27189d6045b3599fe6e27ad012. Ludovic Courtès
2020-04-03guix system: Remove unused procedure....This procedure was unused since 5c8c8c455420af27189d6045b3599fe6e27ad012. * guix/scripts/system.scm (call-with-service-upgrade-info): Remove. Ludovic Courtès
2020-04-03reconfigure: Silence Guile warnings....Fixes <https://bugs.gnu.org/39301>. Reported by strypsteen@posteo.net. * guix/scripts/system/reconfigure.scm (switch-to-system) (upgrade-shepherd-services, install-bootloader): Wrap 'primitive-load' call in 'parameterize'. Ludovic Courtès
2020-04-03Revert "reconfigure: Run the effect scripts as separate processes."...This reverts commit 5517750344be05c91bc2979c1a0e2348a9ae902d. That commit would remove all sorts of error checking when running those programs. Ludovic Courtès
2020-04-02reconfigure: Run the effect scripts as separate processes....Fixes <https://bugs.gnu.org/39301>. Reported by strypsteen@posteo.net. * guix/scripts/system/reconfigure.scm (switch-to-system) (upgrade-shepherd-services, install-bootloader): Use 'system*' instead of 'primitive-load'. Ludovic Courtès
2020-04-02guix system: Do not import the user's (guix config)....Previously, 'switch-to-system.drv' and 'install-bootloader.drv' would depend on the user's (guix config) module. This is no longer the case. * guix/scripts/system/reconfigure.scm (not-config?): New procedure. (switch-system-program): Do not import the user's (guix config). Use 'make-config.scm' instead. (install-bootloader-program): Likewise. Ludovic Courtès
2020-04-02guix system: Use 'mapm/accumulate-builds'....* guix/scripts/system.scm (perform-action): Use 'mapm/accumulate-builds' instead of 'mapm'. Ludovic Courtès
2020-03-31guix package: Do not misdiagnose upgrades when there are propagated inputs....Fixes <https://bugs.gnu.org/35872>. Reported by Andy Tai <atai@atai.org>. * guix/profiles.scm (list=?, manifest-entry=?): New procedures. * guix/scripts/package.scm (transaction-upgrade-entry): In the '=' case, use 'manifest-entry=?' to determine whether it's an upgrade. * tests/packages.scm ("transaction-upgrade-entry, zero upgrades, propagated inputs"): New test. Ludovic Courtès
2020-03-31guix package: 'transaction-upgrade-entry' swallows build requests....Fixes a regression introduced in 131f50cdc9dbb7183023f4dae759876a9e700bef whereby the install/upgrade message would not be displayed: $ guix upgrade -n 2.1 MB would be downloaded: /gnu/store/…-something-1.2 /gnu/store/…-its-dependency-2.3 This is because we'd directly abort from 'transaction-upgrade-entry' to the build handler of 'build-notifier'. * guix/scripts/package.scm (transaction-upgrade-entry): Call 'string=?' expression in 'with-build-handler'. * tests/packages.scm ("transaction-upgrade-entry, grafts"): New test. Ludovic Courtès
2020-03-31guix package: 'transaction-upgrade-entry' uses 'lower-manifest-entry'....* guix/profiles.scm (lower-manifest-entry): Export. * guix/scripts/package.scm (transaction-upgrade-entry)[lower-manifest-entry*] [upgrade]: New procedures. Use 'lower-manifest-entry*' instead of 'package-derivation' to compute the output file name of PKG. Ludovic Courtès
2020-03-29deploy: Use 'map/accumulate-builds'....* guix/scripts/deploy.scm (guix-deploy): Use 'map/accumulate-builds' instead of 'for-each'. Ludovic Courtès
2020-03-29deploy: Factorize machine deployment....* guix/scripts/deploy.scm (deploy-machine*): New procedure. (guix-deploy): Call it in 'for-each'. Ludovic Courtès
2020-03-29'--dry-run' no longer implies '--no-grafts'....* guix/scripts/archive.scm (%options): "dry-run" option no longer adds 'graft? #f to RESULT. * guix/scripts/environment.scm (%options): Likewise. * guix/scripts/pack.scm (%options): Likewise. * guix/scripts/package.scm (%options): Likewise. * guix/scripts/pull.scm (%options): Likewise. * guix/scripts/system.scm (%options): Likewise. Ludovic Courtès
2020-03-29guix build: Use 'map/accumulate-builds'....* guix/scripts/build.scm (options->derivations): Use 'map/accumulate-builds' instead of 'append-map'. Ludovic Courtès
2020-03-28deploy: Remove use of '~*' in format string.......since 'msgfmt' fails to interpret it. Reported by Vagrant Cascadian in <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00340.html>. See also <https://bugs.gnu.org/37505>. * guix/scripts/deploy.scm (show-what-to-deploy): Use ~d instead of ~* when displaying machines that will be deployed. Marius Bakke
2020-03-26status: Display synthetic information about profiles being built....* guix/status.scm (print-build-event): Add 'profile case. * guix/scripts/package.scm (build-and-use-profile): Remove now redundant message. Ludovic Courtès
2020-03-25environment: Use 'with-build-handler'....* guix/scripts/environment.scm (build-environment): Remove. (guix-environment): Wrap 'with-status-verbosity' in 'with-build-handler'. Remove 'dry-run?' conditional. Use 'built-derivations' instead of 'build-environment'. Ludovic Courtès
2020-03-25archive: Use 'with-build-handler'....* guix/scripts/archive.scm (export-from-store): Remove call to 'show-what-to-build' and dry-run? condition. (guix-archive): Wrap 'cond' in 'with-build-handler'. Ludovic Courtès
2020-03-24scripts: lint: Handle store connections for lint checkers....Rather than individual checkers opening up a connection to the store for each package to check, if any checker requires a store connection, open a connection and pass it to all checkers that would use it. This makes running the derivation checker much faster for multiple packages. * guix/scripts/lint.scm (run-checkers): Add a #:store argument, and pass the store to checkers if they require a store connection. (guix-lint): Establish a store connection if any checker requires one, and pass it through to run-checkers. Christopher Baines
2020-03-24guix system: Fix mistaken 'guix pull' warning upon 'reconfigure'....Fixes <https://bugs.gnu.org/38196>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * guix/scripts/system.scm (maybe-suggest-running-guix-pull): Check whether 'current-profile' returns true instead of checking for the existence of ~root/.config/guix/current. That way, "sudo guix system reconfigure" no longer emits a warning in that case. Ludovic Courtès
2020-03-24pack: Do not store extended attributes in squashfs images....* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Pass "-no-xattrs". Ludovic Courtès
2020-03-23deploy: Write a message upon successful deployment....* guix/scripts/deploy.scm (guix-deploy): Write message upon successful deployment. Ludovic Courtès
2020-03-23deploy: Show what machines will be deployed....* guix/scripts/deploy.scm (show-what-to-deploy): New procedure. (guix-deploy): Call it. Ludovic Courtès
2020-03-23ui: Add 'indented-string'....* guix/scripts/pull.scm (display-news-entry): Remove extra space in format string for 'indented-string'. (indented-string): Remove. (display-new/upgraded-packages)[pretty]: Pass #:initial-indent? to 'indented-string'. * guix/ui.scm (indented-string): New procedure. Ludovic Courtès
2020-03-22Remove workaround for 'time-monotonic' in Guile 2.2.2....This is a followup to e688c2df3924423b67892cc9939ca099c729d1cb. * build-aux/hydra/evaluate.scm <top level>: Remove 'time-monotonic' definition. * guix/cache.scm: Likewise. * guix/progress.scm: Likewise. * guix/scripts/substitute.scm: Likewise. * guix/scripts/weather.scm: Likewise. * tests/cache.scm: Likewise. Ludovic Courtès
2020-03-22copy: Use 'with-build-handler'....* guix/scripts/copy.scm (send-to-remote-host): Remove explicit 'show-what-to-build' call. Call 'build-derivations' unconditionally. (guix-copy): Wrap 'with-status-verbosity' in 'with-build-handler'. Ludovic Courtès
2020-03-22copy: Actually implement '--dry-run'....* guix/scripts/copy.scm (%options): Add '--dry-run'. Ludovic Courtès
2020-03-22copy: Factorize 'with-store' & co....* guix/scripts/copy.scm (send-to-remote-host): Remove 'with-store' and 'set-build-options-from-command-line' call. Add 'local' parameter. (retrieve-from-remote-host): Likewise. (guix-copy): Wrap 'with-status-verbosity' in 'with-store' and add call to 'set-build-options-from-command-line'. Ludovic Courtès
2020-03-22guix system: Use 'with-build-handler'....* guix/scripts/system.scm (reinstall-bootloader): Remove call to 'show-what-to-build*'. (perform-action): Call 'build-derivations' instead of 'maybe-build'. (process-action): Wrap 'run-with-store' in 'with-build-handler'. Ludovic Courtès
2020-03-22guix package, pull: Use 'with-build-handler'....* guix/scripts/package.scm (build-and-use-profile): Remove #:dry-run? and #:use-substitutes?. Remove call to 'show-what-to-build' and 'dry-run?' special case. (process-actions): Adjust accordingly. (guix-package*): Wrap 'parameterize' in 'with-build-handler'. * guix/scripts/pull.scm (build-and-install): Remove #:use-substitutes? and #:dry-run? and adjust 'update-profile' call accordingly. Remove 'dry-run?' conditional. (guix-pull): Wrap body in 'with-build-handler'. Ludovic Courtès
2020-03-22pack: Use 'with-build-handler'....* guix/scripts/pack.scm (guix-pack): Wrap 'parameterize' in 'with-build-handler'. Remove explicit call to 'show-what-to-build'. Call 'build-derivations' regardless of whether OPTS contains 'dry-run?'. Ludovic Courtès
2020-03-22deploy: Use 'with-build-handler'....Until now, 'guix deploy' would never display what is going to be built. * guix/scripts/deploy.scm (guix-deploy): Wrap 'for-each' in 'with-build-handler'. Ludovic Courtès
2020-03-22guix build: Use 'with-build-handler'....Fixes <https://bugs.gnu.org/28310>. Reported by Andreas Enge <andreas@enge.fr>. * guix/scripts/build.scm (guix-build): Wrap 'parameterize' in 'with-build-handler'. Remove explicit call to 'show-what-to-build'. Call 'build-derivations' regardless of whether OPTS contains 'dry-run?'. Ludovic Courtès
2020-03-19guix package: Remove unneeded import....This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5. * guix/scripts/package.scm: Remove unneeded #:use-module. Ludovic Courtès
2020-03-13pack: Do not create a squashfs "recovery file"....Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-no-recovery". Ludovic Courtès
2020-03-13pack: Make bit-reproducible squashfs images....Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-all-time", "-mkfs-time", "-force-uid", and "-force-gid" to 'mksquashfs'. Ludovic Courtès
2020-03-13pack: Factorize 'mksquashfs' invocations....* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): New procedure. Replace instances of (invoke "mksquashfs" ...) with (mksquashfs ...). Ludovic Courtès
2020-03-13weather: '--coverage' filters out non-package objects....This is a followup to d37b5a1b58824dafbe6f32b1c183661c147c660c. * guix/scripts/weather.scm (guix-weather): Filter PACKAGES passed to 'report-package-coverage'. Ludovic Courtès
2020-03-13weather: Exit with non-zero when coverage is below 100%....* guix/scripts/weather.scm (report-server-coverage): Return the coverage ratio. (guix-weather): Exit if and only if each server's coverage is 1. Ludovic Courtès
2020-03-12weather: Allow for multiple '--manifest' options....* guix/scripts/weather.scm (guix-weather)[package-list]: Account for all the 'manifest entries in OPTS. * doc/guix.texi (Invoking guix weather): Document it. Ludovic Courtès
2020-03-12weather: Add '--display-missing'....* guix/scripts/weather.scm (report-server-coverage): Add #:display-missing? and honor it. (show-help, %options): Add "--display-missing". (guix-weather): Pass #:display-missing? to 'report-server-coverage'. * doc/guix.texi (Invoking guix weather): Document it. Ludovic Courtès
2020-03-05weather: Parameterize '%graft?' upfront....* guix/scripts/weather.scm (guix-weather): Parameterize %GRAFT? upfront. Ludovic Courtès
2020-03-05guix build: Parameterize '%graft?' upfront....* guix/scripts/build.scm (guix-build): Add 'graft?' variable and parameterize %GRAFT?. Ludovic Courtès
2020-03-05weather: Allow non-package objects in manifest....* guix/scripts/weather.scm (package-outputs)[lower-object/no-grafts]: New procedure. Use it instead of 'package->derivation'. Ludovic Courtès
2020-03-05guix build: Allow non-package objects in manifest....* guix/scripts/build.scm (options->things-to-build)[manifest->packages]: Remove. Inline map of 'manifest-entry-item'. * tests/guix-build.sh: Add test for "guix build -m" with non-package object. Ludovic Courtès
2020-03-02file-systems: Add a 'file-system-device->string' procedure....* gnu/system/file-systems.scm (file-system-device->string): New procedure. * gnu/system.scm (bootable-kernel-arguments): Use it. * gnu/system/vm.scm (operating-system-uuid): Likewise. * guix/scripts/system.scm (display-system-generation): Likewise. Maxim Cournoyer
2020-02-28Revert "ui: Only display link in capable terminals."...This reverts commit d7545a6b538813e88195d084f75a3e87065c999e. The commit led to a test failure in 'tests/guix-package-net.sh'. It also led to disagreements discussed here: https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00353.html Reverting until these are addressed. Ludovic Courtès
2020-02-27guix package: Don't error out when failing to create ~/.guix-profile....This is a followup to 7842ddcbc118cbc2799e22651732b7cdc06b93ee, which broke tests when 'HOME' is unset. * guix/scripts/package.scm (ensure-default-profile): Silently ignore 'symlink' exceptions. Ludovic Courtès