summaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Collapse)AuthorAge
* guix graph: Add '--path'.Ludovic Courtès2020-05-11
| | | | | | | | | * guix/scripts/graph.scm (display-path): New procedure. (%options, show-help): Add '--path'. (guix-graph): Handle it. * tests/guix-graph.sh: Add tests. * doc/guix.texi (Invoking guix graph): Document it. (Invoking guix size): Mention it.
* graph: reference/referrer node types work with graph traversal.Ludovic Courtès2020-05-11
| | | | | | | | | | | | The graph traversal procedures in (guix graph) assume that nodes can be compared with 'eq?', which was not the case for nodes of %REFERENCE-NODE-TYPE and %REFERRER-NODE-TYPE (strings). * guix/scripts/graph.scm (intern): New procedure. (ensure-store-items, references*) (%reference-node-type, non-derivation-referrers) (%referrer-node-type): Use it on all store items. * tests/graph.scm ("node-transitive-edges, references"): New test.
* guix package, show: Support multiple queries.zimoun2020-05-11
| | | | | | | * guix/scripts/package.scm (process-query): Show multiple queries. * guix/scripts/show.scm (guix-show): Reverse to display in order. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Merge branch 'core-updates'Marius Bakke2020-05-08
|\
| * Merge branch 'master' into core-updatesMarius Bakke2020-05-05
| |\
| * \ Merge branch 'master' into core-updatesMarius Bakke2020-04-30
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/backup.scm gnu/packages/emacs-xyz.scm gnu/packages/guile.scm gnu/packages/lisp.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/web.scm gnu/packages/xorg.scm
| * \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-24
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-19
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-15
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-04-08
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm
| * \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-03-30
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-03-27
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-03-21
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | scripts: Refer to (default-guile) instead of 'guile-2.2'.Ludovic Courtès2020-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | | guix system: 'docker-image' honors '--network'.Ludovic Courtès2020-05-07
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/system/vm.scm (system-docker-image): Add #:shared-network? and pass it to 'containerized-operating-system'. (qemu-image): * guix/scripts/system.scm (system-derivation-for-action): Pass #:shared-network? to 'system-docker-image'. * doc/guix.texi (Invoking guix system): Document it.
* | | | | | | | | | image: Add a new API.Mathieu Othacehe2020-05-05
| |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This is quite fragile, very slow, and almost unusable without KVM. For all these reasons, add support for host image generation. This implies the use new image generation mechanisms. - Raw disk images: images of partitions are created using tools such as mke2fs and mkdosfs depending on the partition file-system type. The partition images are then assembled into a final image using genimage. - ISO9660 images: the ISO root directory is populated within the store. GNU xorriso is then called on that directory, in the exact same way as this is done in (gnu build vm) module. Those mechanisms are built upon the new (gnu image) module. * gnu/image.scm: New file. * gnu/system/image.scm: New file. * gnu/build/image: New file. * gnu/local.mk: Add them. * gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm. * gnu/ci.scm (qemu-jobs): Adapt to new API. * gnu/tests/install.scm (run-install): Ditto. * guix/scripts/system.scm (system-derivation-for-action): Ditto.
* | | | | | | | | guix: edit: Make nano the default editor.Raghav Gururajan2020-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/edit.scm: Make nano the default editor. Nano is sensible default, as it is installed by base system. For development, user can set custom value for $EDITOR. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | | | | | | | | pack: Use a declarative profile.Ludovic Courtès2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pack.scm (guix-pack): Use a declarative profile instead of 'profile-derivation'.
* | | | | | | | | substitute: Close port at the end of http-multiple-get.Christopher Baines2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/substitute.scm (http-multiple-get): Add close-port call.
* | | | | | | | | substitute: Make http-multiple-get batch size configurable.Christopher Baines2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/substitute.scm (http-multiple-get): Add batch-size parameter.
* | | | | | | | | substitute: Use the same port for multiple request batches.Christopher Baines2020-04-26
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In http-multiple-get. * guix/scripts/substitute.scm (http-multiple-get): Switch port to p in one occurrence.
* | | | | | | | guix package: Export 'search-path-environment-variables'.Marius Bakke2020-04-24
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...because Emacs-Guix uses it. * guix/scripts/package.scm (search-path-environment-variables): Export.
* | | | | | | import/json: Use json->code.Ricardo Wurmus2020-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/json.scm (json->code): Export procedure. * guix/scripts/import/json.scm (guix-import-json): Use json->code.
* | | | | | | scripts/package: Handle JSON files.Ricardo Wurmus2020-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/package.scm (%options): Support loading from JSON files when "install-from-file" is used.
* | | | | | | scripts/build: options->things-to-build: Handle .json files.Ricardo Wurmus2020-04-16
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/build.scm (options->things-to-build): Handle files that end on .json.
* | | | | | weather: Delete duplicate entries coming from '--manifest'.Ludovic Courtès2020-04-14
| |_|_|_|/ |/| | | | | | | | | | | | | | * guix/scripts/weather.scm (load-manifest): Call 'delete-duplicates'.
* | | | | reconfigure: Correctly re-throw SRFI-34 exceptions on Guile 3.Ludovic Courtès2020-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | pack: Pass the cross-compilation target to 'run-with-store'.Ludovic Courtès2020-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* | | | | guix system: Mention 'herd restart' when reconfigure completes.Ludovic Courtès2020-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | | guix system: Remove unused procedure.Ludovic Courtès2020-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This procedure was unused since 5c8c8c455420af27189d6045b3599fe6e27ad012. * guix/scripts/system.scm (call-with-service-upgrade-info): Remove.
* | | | | reconfigure: Silence Guile warnings.Ludovic Courtès2020-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* | | | | Revert "reconfigure: Run the effect scripts as separate processes."Ludovic Courtès2020-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5517750344be05c91bc2979c1a0e2348a9ae902d. That commit would remove all sorts of error checking when running those programs.
* | | | | reconfigure: Run the effect scripts as separate processes.Ludovic Courtès2020-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* | | | | guix system: Do not import the user's (guix config).Ludovic Courtès2020-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | guix system: Use 'mapm/accumulate-builds'.Ludovic Courtès2020-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (perform-action): Use 'mapm/accumulate-builds' instead of 'mapm'.
* | | | | 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.