summaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Collapse)AuthorAge
* guix package: Do not misdiagnose upgrades when there are propagated inputs.Ludovic Courtès2020-03-31
| | | | | | | | | | | 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.
* guix package: 'transaction-upgrade-entry' swallows build requests.Ludovic Courtès2020-03-31
| | | | | | | | | | | | | | | | | | 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.
* guix package: 'transaction-upgrade-entry' uses 'lower-manifest-entry'.Ludovic Courtès2020-03-31
| | | | | | | | * 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.
* deploy: Use 'map/accumulate-builds'.Ludovic Courtès2020-03-29
| | | | | * guix/scripts/deploy.scm (guix-deploy): Use 'map/accumulate-builds' instead of 'for-each'.
* deploy: Factorize machine deployment.Ludovic Courtès2020-03-29
| | | | | * guix/scripts/deploy.scm (deploy-machine*): New procedure. (guix-deploy): Call it in 'for-each'.
* '--dry-run' no longer implies '--no-grafts'.Ludovic Courtès2020-03-29
| | | | | | | | | | * 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.
* guix build: Use 'map/accumulate-builds'.Ludovic Courtès2020-03-29
| | | | | * guix/scripts/build.scm (options->derivations): Use 'map/accumulate-builds' instead of 'append-map'.
* deploy: Remove use of '~*' in format string.Marius Bakke2020-03-28
| | | | | | | | | ...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.
* status: Display synthetic information about profiles being built.Ludovic Courtès2020-03-26
| | | | | | * guix/status.scm (print-build-event): Add 'profile case. * guix/scripts/package.scm (build-and-use-profile): Remove now redundant message.
* environment: Use 'with-build-handler'.Ludovic Courtès2020-03-25
| | | | | | | * 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'.
* archive: Use 'with-build-handler'.Ludovic Courtès2020-03-25
| | | | | | * 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'.
* scripts: lint: Handle store connections for lint checkers.Christopher Baines2020-03-24
| | | | | | | | | | | | 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.
* guix system: Fix mistaken 'guix pull' warning upon 'reconfigure'.Ludovic Courtès2020-03-24
| | | | | | | | | | 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.
* pack: Do not store extended attributes in squashfs images.Ludovic Courtès2020-03-24
| | | | * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Pass "-no-xattrs".
* deploy: Write a message upon successful deployment.Ludovic Courtès2020-03-23
| | | | | * guix/scripts/deploy.scm (guix-deploy): Write message upon successful deployment.
* deploy: Show what machines will be deployed.Ludovic Courtès2020-03-23
| | | | | * guix/scripts/deploy.scm (show-what-to-deploy): New procedure. (guix-deploy): Call it.
* ui: Add 'indented-string'.Ludovic Courtès2020-03-23
| | | | | | | | | * 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.
* Remove workaround for 'time-monotonic' in Guile 2.2.2.Ludovic Courtès2020-03-22
| | | | | | | | | | | | 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.
* copy: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | * 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'.
* copy: Actually implement '--dry-run'.Ludovic Courtès2020-03-22
| | | | * guix/scripts/copy.scm (%options): Add '--dry-run'.
* copy: Factorize 'with-store' & co.Ludovic Courtès2020-03-22
| | | | | | | | * 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'.
* guix system: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | * 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'.
* guix package, pull: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | | | | | | * 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'.
* pack: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | * 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?'.
* deploy: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | 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'.
* guix build: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | | | 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?'.
* guix package: Remove unneeded import.Ludovic Courtès2020-03-19
| | | | | | This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5. * guix/scripts/package.scm: Remove unneeded #:use-module.
* pack: Do not create a squashfs "recovery file".Ludovic Courtès2020-03-13
| | | | | | | Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-no-recovery".
* pack: Make bit-reproducible squashfs images.Ludovic Courtès2020-03-13
| | | | | | | 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'.
* pack: Factorize 'mksquashfs' invocations.Ludovic Courtès2020-03-13
| | | | | | * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): New procedure. Replace instances of (invoke "mksquashfs" ...) with (mksquashfs ...).
* weather: '--coverage' filters out non-package objects.Ludovic Courtès2020-03-13
| | | | | | | This is a followup to d37b5a1b58824dafbe6f32b1c183661c147c660c. * guix/scripts/weather.scm (guix-weather): Filter PACKAGES passed to 'report-package-coverage'.
* weather: Exit with non-zero when coverage is below 100%.Ludovic Courtès2020-03-13
| | | | | * guix/scripts/weather.scm (report-server-coverage): Return the coverage ratio. (guix-weather): Exit if and only if each server's coverage is 1.
* weather: Allow for multiple '--manifest' options.Ludovic Courtès2020-03-12
| | | | | | * guix/scripts/weather.scm (guix-weather)[package-list]: Account for all the 'manifest entries in OPTS. * doc/guix.texi (Invoking guix weather): Document it.
* weather: Add '--display-missing'.Ludovic Courtès2020-03-12
| | | | | | | | * 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.
* weather: Parameterize '%graft?' upfront.Ludovic Courtès2020-03-05
| | | | * guix/scripts/weather.scm (guix-weather): Parameterize %GRAFT? upfront.
* guix build: Parameterize '%graft?' upfront.Ludovic Courtès2020-03-05
| | | | | * guix/scripts/build.scm (guix-build): Add 'graft?' variable and parameterize %GRAFT?.
* weather: Allow non-package objects in manifest.Ludovic Courtès2020-03-05
| | | | | | * guix/scripts/weather.scm (package-outputs)[lower-object/no-grafts]: New procedure. Use it instead of 'package->derivation'.
* guix build: Allow non-package objects in manifest.Ludovic Courtès2020-03-05
| | | | | | | * 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.
* file-systems: Add a 'file-system-device->string' procedure.Maxim Cournoyer2020-03-02
| | | | | | | * 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.
* Revert "ui: Only display link in capable terminals."Ludovic Courtès2020-02-28
| | | | | | | | | | | 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.
* guix package: Don't error out when failing to create ~/.guix-profile.Ludovic Courtès2020-02-27
| | | | | | | | This is a followup to 7842ddcbc118cbc2799e22651732b7cdc06b93ee, which broke tests when 'HOME' is unset. * guix/scripts/package.scm (ensure-default-profile): Silently ignore 'symlink' exceptions.
* ui: Only display link in capable terminals.zimoun2020-02-24
| | | | | | | * guix/ui.scm (display-generation): Display generation path on new line. * guix/scripts/describe.scm (channel-commit-hyperlink): Add TRANSFORMER argument. (display-profile-content): Use TRANSFORMER argument to display URL explicitly when terminal does not support hyperlinks.
* scripts: system: Do not validate network file systems.Maxim Cournoyer2020-02-18
| | | | | | | Fixes <https://bugs.gnu.org/39551>. * guix/scripts/system.scm (check-file-system-availability): Ignore file systems of the NFS type.
* guix build: Add '--manifest' option.Marius Bakke2020-02-14
| | | | | | | | | * guix/scripts/build.scm (show-help): Document --manifest argument. (options->things-to-build): When given a manifest, evaluate all the entries. * tests/guix-build.sh: Add test for --manifest. * doc/guix.texi (Additional Build Options): Mention --manifest. * etc/completion/bash/guix: Complete file name if 'guix build' argument is -m.
* describe: Remove dependency on (guix scripts pull).Ludovic Courtès2020-02-11
| | | | | | | | | | | Until now, 'guix describe' would perform ~3K stat calls and ~1K openat calls because it was pulling (guix scripts pull), which in turn pulls in many (gnu packages …) modules. * guix/scripts/pull.scm (display-profile-content, %vcs-web-views) (channel-commit-hyperlink): Move to... * guix/scripts/describe.scm: ... here. Remove import of (guix scripts pull).
* Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice2020-02-09
| | | | | | | | | | | As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address.
* guix build, archive, graph: Disable absolute file port name canonicalization.Ludovic Courtès2020-01-24
| | | | | | | | | | | | | | | This avoids an 'lstat' storm. Specifically: ./pre-inst-env strace -c guix build -nd libreoffice goes from 1,711 to 214 'lstat' calls. * guix/scripts/build.scm (options->things-to-build): When SPEC matches 'derivation-path?', call 'canonicalize-path'. (guix-build): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION. * guix/scripts/archive.scm (guix-archive): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION. * guix/scripts/graph.scm (guix-graph): Likewise.
* guix package: Create profiles/per-user/$USER upfront.Ludovic Courtès2020-01-19
| | | | | | | | | Fixes <https://bugs.gnu.org/39194>. Reported by Matt Wette <matt.wette@gmail.com>. * guix/scripts/package.scm (build-and-use-profile): Move 'ensure-default-profile' call to... (process-actions): ... here.
* repl: Avoid dependency on high-level package modules.Ludovic Courtès2020-01-19
| | | | | | * guix/scripts/repl.scm: Remove imports of (guix scripts build), (gnu packages), (guix utils), and (guix packages). (%options): Define "--load-path" option right here.
* repl: Adjust "--listen" help message.Ludovic Courtès2020-01-19
| | | | * guix/scripts/repl.scm (show-help): Adjust "--listen" string.