Age | Commit message (Expand) | Author |
2020-05-07 | 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ès |
2020-05-05 | 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 Othacehe |
2020-04-27 | 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 Gururajan |
2020-04-26 | pack: Use a declarative profile....* guix/scripts/pack.scm (guix-pack): Use a declarative profile instead
of 'profile-derivation'.
| Ludovic Courtès |
2020-04-26 | substitute: Close port at the end of http-multiple-get....* guix/scripts/substitute.scm (http-multiple-get): Add close-port call.
| Christopher Baines |
2020-04-26 | substitute: Make http-multiple-get batch size configurable....* guix/scripts/substitute.scm (http-multiple-get): Add batch-size parameter.
| Christopher Baines |
2020-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 Baines |
2020-04-24 | guix package: Export 'search-path-environment-variables'.......because Emacs-Guix uses it.
* guix/scripts/package.scm (search-path-environment-variables): Export.
| Marius Bakke |
2020-04-16 | 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 Wurmus |
2020-04-16 | scripts/package: Handle JSON files....* guix/scripts/package.scm (%options): Support loading from JSON files when
"install-from-file" is used.
| Ricardo Wurmus |
2020-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 Wurmus |
2020-04-14 | weather: Delete duplicate entries coming from '--manifest'....* guix/scripts/weather.scm (load-manifest): Call 'delete-duplicates'.
| Ludovic Courtès |
2020-04-08 | 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ès |
2020-04-03 | 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ès |
2020-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ès |
2020-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ès |
2020-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ès |
2020-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ès |
2020-04-02 | 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ès |
2020-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ès |
2020-04-02 | guix system: Use 'mapm/accumulate-builds'....* guix/scripts/system.scm (perform-action): Use 'mapm/accumulate-builds'
instead of 'mapm'.
| Ludovic Courtès |
2020-03-31 | 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ès |
2020-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ès |
2020-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ès |
2020-03-29 | deploy: Use 'map/accumulate-builds'....* guix/scripts/deploy.scm (guix-deploy): Use 'map/accumulate-builds'
instead of 'for-each'.
| Ludovic Courtès |
2020-03-29 | deploy: 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-29 | guix build: Use 'map/accumulate-builds'....* guix/scripts/build.scm (options->derivations): Use
'map/accumulate-builds' instead of 'append-map'.
| Ludovic Courtès |
2020-03-28 | deploy: 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-26 | status: 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-25 | environment: 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-25 | archive: 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-24 | scripts: 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-24 | guix 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-24 | pack: Do not store extended attributes in squashfs images....* guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Pass "-no-xattrs".
| Ludovic Courtès |
2020-03-23 | deploy: Write a message upon successful deployment....* guix/scripts/deploy.scm (guix-deploy): Write message upon successful
deployment.
| Ludovic Courtès |
2020-03-23 | deploy: 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-23 | ui: 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-22 | Remove 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-22 | copy: 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-22 | copy: Actually implement '--dry-run'....* guix/scripts/copy.scm (%options): Add '--dry-run'.
| Ludovic Courtès |
2020-03-22 | copy: 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-22 | guix 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-22 | guix 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-22 | pack: 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-22 | deploy: 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-22 | guix 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-19 | guix package: Remove unneeded import....This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5.
* guix/scripts/package.scm: Remove unneeded #:use-module.
| Ludovic Courtès |
2020-03-13 | pack: 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-13 | pack: 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 |