summaryrefslogtreecommitdiff
path: root/guix/scripts
AgeCommit message (Collapse)Author
2020-03-30Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/guile.scm gnu/packages/linux.scm gnu/packages/package-management.scm gnu/packages/pulseaudio.scm gnu/packages/web.scm
2020-03-29deploy: Use 'map/accumulate-builds'.Ludovic Courtès
* guix/scripts/deploy.scm (guix-deploy): Use 'map/accumulate-builds' instead of 'for-each'.
2020-03-29deploy: Factorize machine deployment.Ludovic Courtès
* guix/scripts/deploy.scm (deploy-machine*): New procedure. (guix-deploy): Call it in 'for-each'.
2020-03-29'--dry-run' no longer implies '--no-grafts'.Ludovic Courtès
* 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.
2020-03-29guix build: Use 'map/accumulate-builds'.Ludovic Courtès
* guix/scripts/build.scm (options->derivations): Use 'map/accumulate-builds' instead of 'append-map'.
2020-03-28deploy: Remove use of '~*' in format string.Marius Bakke
...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.
2020-03-27Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm
2020-03-26status: Display synthetic information about profiles being built.Ludovic Courtès
* guix/status.scm (print-build-event): Add 'profile case. * guix/scripts/package.scm (build-and-use-profile): Remove now redundant message.
2020-03-25environment: Use 'with-build-handler'.Ludovic Courtès
* 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'.
2020-03-25archive: Use 'with-build-handler'.Ludovic Courtès
* 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'.
2020-03-24scripts: lint: Handle store connections for lint checkers.Christopher Baines
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.
2020-03-24guix system: Fix mistaken 'guix pull' warning upon 'reconfigure'.Ludovic Courtès
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.
2020-03-24pack: Do not store extended attributes in squashfs images.Ludovic Courtès
* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Pass "-no-xattrs".
2020-03-23deploy: Write a message upon successful deployment.Ludovic Courtès
* guix/scripts/deploy.scm (guix-deploy): Write message upon successful deployment.
2020-03-23deploy: Show what machines will be deployed.Ludovic Courtès
* guix/scripts/deploy.scm (show-what-to-deploy): New procedure. (guix-deploy): Call it.
2020-03-23ui: Add 'indented-string'.Ludovic Courtès
* 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.
2020-03-22Remove workaround for 'time-monotonic' in Guile 2.2.2.Ludovic Courtès
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.
2020-03-22copy: Use 'with-build-handler'.Ludovic Courtès
* 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'.
2020-03-22copy: Actually implement '--dry-run'.Ludovic Courtès
* guix/scripts/copy.scm (%options): Add '--dry-run'.
2020-03-22copy: Factorize 'with-store' & co.Ludovic Courtès
* 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'.
2020-03-22guix system: Use 'with-build-handler'.Ludovic Courtès
* 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'.
2020-03-22guix package, pull: Use 'with-build-handler'.Ludovic Courtès
* 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'.
2020-03-22pack: Use 'with-build-handler'.Ludovic Courtès
* 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?'.
2020-03-22deploy: Use 'with-build-handler'.Ludovic Courtès
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'.
2020-03-22guix build: Use 'with-build-handler'.Ludovic Courtès
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?'.
2020-03-21Merge branch 'master' into core-updatesMarius Bakke
2020-03-19guix package: Remove unneeded import.Ludovic Courtès
This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5. * guix/scripts/package.scm: Remove unneeded #:use-module.
2020-03-17scripts: Refer to (default-guile) instead of 'guile-2.2'.Ludovic Courtès
This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade. * guix/scripts/environment.scm (guix-environment): Use (default-guile) instead of (canonical-package guile-2.2) when parameterizing '%guile-for-build'. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (guix-package*): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise.
2020-03-13pack: Do not create a squashfs "recovery file".Ludovic Courtès
Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-no-recovery".
2020-03-13pack: Make bit-reproducible squashfs images.Ludovic Courtès
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'.
2020-03-13pack: Factorize 'mksquashfs' invocations.Ludovic Courtès
* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): New procedure. Replace instances of (invoke "mksquashfs" ...) with (mksquashfs ...).
2020-03-13weather: '--coverage' filters out non-package objects.Ludovic Courtès
This is a followup to d37b5a1b58824dafbe6f32b1c183661c147c660c. * guix/scripts/weather.scm (guix-weather): Filter PACKAGES passed to 'report-package-coverage'.
2020-03-13weather: Exit with non-zero when coverage is below 100%.Ludovic Courtès
* guix/scripts/weather.scm (report-server-coverage): Return the coverage ratio. (guix-weather): Exit if and only if each server's coverage is 1.
2020-03-12weather: Allow for multiple '--manifest' options.Ludovic Courtès
* guix/scripts/weather.scm (guix-weather)[package-list]: Account for all the 'manifest entries in OPTS. * doc/guix.texi (Invoking guix weather): Document it.
2020-03-12weather: Add '--display-missing'.Ludovic Courtès
* 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.
2020-03-05weather: Parameterize '%graft?' upfront.Ludovic Courtès
* guix/scripts/weather.scm (guix-weather): Parameterize %GRAFT? upfront.
2020-03-05guix build: Parameterize '%graft?' upfront.Ludovic Courtès
* guix/scripts/build.scm (guix-build): Add 'graft?' variable and parameterize %GRAFT?.
2020-03-05weather: Allow non-package objects in manifest.Ludovic Courtès
* guix/scripts/weather.scm (package-outputs)[lower-object/no-grafts]: New procedure. Use it instead of 'package->derivation'.
2020-03-05guix build: Allow non-package objects in manifest.Ludovic Courtès
* 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.
2020-03-02file-systems: Add a 'file-system-device->string' procedure.Maxim Cournoyer
* 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.
2020-02-28Revert "ui: Only display link in capable terminals."Ludovic Courtès
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.
2020-02-27guix package: Don't error out when failing to create ~/.guix-profile.Ludovic Courtès
This is a followup to 7842ddcbc118cbc2799e22651732b7cdc06b93ee, which broke tests when 'HOME' is unset. * guix/scripts/package.scm (ensure-default-profile): Silently ignore 'symlink' exceptions.
2020-02-24ui: Only display link in capable terminals.zimoun
* 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.
2020-02-18scripts: system: Do not validate network file systems.Maxim Cournoyer
Fixes <https://bugs.gnu.org/39551>. * guix/scripts/system.scm (check-file-system-availability): Ignore file systems of the NFS type.
2020-02-14guix build: Add '--manifest' option.Marius Bakke
* 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.
2020-02-11describe: Remove dependency on (guix scripts pull).Ludovic Courtès
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).
2020-02-09Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice
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.
2020-01-24guix build, archive, graph: Disable absolute file port name canonicalization.Ludovic Courtès
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.
2020-01-19guix package: Create profiles/per-user/$USER upfront.Ludovic Courtès
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.
2020-01-19repl: Avoid dependency on high-level package modules.Ludovic Courtès
* guix/scripts/repl.scm: Remove imports of (guix scripts build), (gnu packages), (guix utils), and (guix packages). (%options): Define "--load-path" option right here.