aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Expand)AuthorAge
* Export perform-actionrelease_39releaseChristopher Baines2020-05-24
* guix package: Support multiple profiles with '--list-installed'.•••* guix/scripts/package.scm (process-query): List installed multiple profiles. * tests/guix-package-net.sh: Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun2020-05-23
* guix hash, guix download: Support base64 format.•••* guix/scripts/download.scm (show-help, %options): Support "base64" format. * guix/scripts/hash.scm (show-help, %options): Likewise. * tests/guix-hash.sh: Test it. * doc/guix.texi (Invoking guix hash): Document it. Ludovic Courtès2020-05-22
* guix hash, guix download: Add '--hash'.•••* guix/scripts/download.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-download): Honor it. * guix/scripts/hash.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-hash): Honor it. * tests/guix-hash.sh: Test '-H sha512'. * doc/guix.texi (Invoking guix download): Document it. (Invoking guix hash): Document it. Ludovic Courtès2020-05-22
* publish: Improve performance by increasing buffer size.•••* guix/scripts/publish.scm (http-write): Increase socket send buffer. Ricardo Wurmus2020-05-19
* guix describe: Add '--list-formats'•••* guix/scripts/describe.scm (%available-formats): New variable. (list-formats): New procedure. (%options, show-help): Add --list-formats * doc/guix.texi: Add --list-formats Signed-off-by: Ludovic Courtès <ludo@gnu.org> Ekaitz Zarraga2020-05-18
* pack: Add relocation via ld.so and fakechroot.•••* gnu/packages/aux-files/run-in-namespace.c (HAVE_EXEC_WITH_LOADER): New macro. (bind_mount): Rename to... (mirror_directory): ... this. Add 'firmlink' argument and use it instead of calling mkdir/open/close/mount directly. (bind_mount, make_symlink): New functions. (exec_in_user_namespace): Adjust accordingly. (exec_with_loader) [HAVE_EXEC_WITH_LOADER]: New function. (exec_performance): New function. (engines): Add them. * guix/scripts/pack.scm (wrapped-package)[fakechroot-library] [audit-module]: New procedures. [audit-source]: New variable. [build](elf-interpreter, elf-loader-compile-flags): New procedures. (build-wrapper): Use them. * tests/guix-pack-relocatable.sh: Test with 'GUIX_EXECUTION_ENGINE=fakechroot'. * doc/guix.texi (Invoking guix pack): Document the 'performance' and 'fakechroot' engines. * gnu/packages/aux-files/pack-audit.c: New file. * Makefile.am (AUX_FILES): Add it. Ludovic Courtès2020-05-14
* pack: Do not cross-compile the image building tools.•••Until now, something like: guix pack -f docker --target=arm-linux-gnueabihf would attempt to cross-compile tar. * guix/scripts/pack.scm (self-contained-tarball): Pass #:target to 'gexp->derivation'. (squashfs-image): Use #+ instead of #$ for ARCHIVER. Use 'file-append' instead of 'string-append'. Pass #:target to 'gexp->derivation'. (docker-image): Likewise. Ludovic Courtès2020-05-14
* guix graph: Add '--path'.•••* 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. Ludovic Courtès2020-05-11
* graph: reference/referrer node types work with graph traversal.•••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. Ludovic Courtès2020-05-11
* guix package, show: Support multiple queries.•••* 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> zimoun2020-05-11
* Merge branch 'core-updates'Marius Bakke2020-05-08
|\
| * Merge branch 'master' into core-updatesMarius Bakke2020-05-05
| |\
| * \ Merge branch 'master' into core-updates••• 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 Marius Bakke2020-04-30
| |\ \
| * \ \ 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-updates••• 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 Marius Bakke2020-04-08
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into core-updates••• 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 Marius Bakke2020-03-30
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch 'master' into core-updates••• 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 Marius Bakke2020-03-27
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesMarius Bakke2020-03-21
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | scripts: Refer to (default-guile) instead of 'guile-2.2'.•••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. Ludovic Courtès2020-03-17
* | | | | | | | | | | guix system: 'docker-image' honors '--network'.•••* 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. Ludovic Courtès2020-05-07
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | |
* | | | | | | | | | image: Add a new API.•••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. Mathieu Othacehe2020-05-05
| |_|_|_|_|_|_|_|/ |/| | | | | | | |
* | | | | | | | | guix: edit: Make nano the default editor.•••* 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> Raghav Gururajan2020-04-27
* | | | | | | | | pack: Use a declarative profile.•••* guix/scripts/pack.scm (guix-pack): Use a declarative profile instead of 'profile-derivation'. Ludovic Courtès2020-04-26
* | | | | | | | | substitute: Close port at the end of http-multiple-get.•••* guix/scripts/substitute.scm (http-multiple-get): Add close-port call. Christopher Baines2020-04-26
* | | | | | | | | substitute: Make http-multiple-get batch size configurable.•••* guix/scripts/substitute.scm (http-multiple-get): Add batch-size parameter. Christopher Baines2020-04-26
* | | | | | | | | substitute: Use the same port for multiple request batches.•••In http-multiple-get. * guix/scripts/substitute.scm (http-multiple-get): Switch port to p in one occurrence. Christopher Baines2020-04-26
| |_|_|_|_|_|_|/ |/| | | | | | |
* | | | | | | | guix package: Export 'search-path-environment-variables'.•••...because Emacs-Guix uses it. * guix/scripts/package.scm (search-path-environment-variables): Export. Marius Bakke2020-04-24
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | import/json: Use json->code.•••* guix/import/json.scm (json->code): Export procedure. * guix/scripts/import/json.scm (guix-import-json): Use json->code. Ricardo Wurmus2020-04-16
* | | | | | | scripts/package: Handle JSON files.•••* guix/scripts/package.scm (%options): Support loading from JSON files when "install-from-file" is used. Ricardo Wurmus2020-04-16
* | | | | | | scripts/build: options->things-to-build: Handle .json files.•••* guix/scripts/build.scm (options->things-to-build): Handle files that end on .json. Ricardo Wurmus2020-04-16
| |_|_|_|_|/ |/| | | | |
* | | | | | weather: Delete duplicate entries coming from '--manifest'.•••* guix/scripts/weather.scm (load-manifest): Call 'delete-duplicates'. Ludovic Courtès2020-04-14
| |_|_|_|/ |/| | | |
* | | | | reconfigure: 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ès2020-04-08
* | | | | pack: 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ès2020-04-03
* | | | | guix 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ès2020-04-03
* | | | | guix system: Remove unused procedure.•••This procedure was unused since 5c8c8c455420af27189d6045b3599fe6e27ad012. * guix/scripts/system.scm (call-with-service-upgrade-info): Remove. Ludovic Courtès2020-04-03
* | | | | reconfigure: 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ès2020-04-03
* | | | | Revert "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ès2020-04-03
* | | | | reconfigure: 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ès2020-04-02
* | | | | guix 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ès2020-04-02
* | | | | guix system: Use 'mapm/accumulate-builds'.•••* guix/scripts/system.scm (perform-action): Use 'mapm/accumulate-builds' instead of 'mapm'. Ludovic Courtès2020-04-02
* | | | | guix 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ès2020-03-31
* | | | | guix 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ès2020-03-31
* | | | | guix 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ès2020-03-31
| |_|_|/ |/| | |
* | | | deploy: Use 'map/accumulate-builds'.•••* guix/scripts/deploy.scm (guix-deploy): Use 'map/accumulate-builds' instead of 'for-each'. Ludovic Courtès2020-03-29
* | | | deploy: Factorize machine deployment.•••* guix/scripts/deploy.scm (deploy-machine*): New procedure. (guix-deploy): Call it in 'for-each'. Ludovic Courtès2020-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ès2020-03-29
* | | | guix build: Use 'map/accumulate-builds'.•••* guix/scripts/build.scm (options->derivations): Use 'map/accumulate-builds' instead of 'append-map'. Ludovic Courtès2020-03-29