summaryrefslogtreecommitdiff
path: root/guix/scripts
AgeCommit message (Collapse)Author
2024-01-08scripts: system: Build layered images.Oleg Pykhalov
* guix/scripts/system.scm (show-help, %docker-format-options, %options, %default-options, show-docker-format-options, show-docker-format-options/detailed, process-action): Handle '--max-layers' option. * gnu/system/image.scm (system-docker-image): Same. * gnu/image.scm (<image>)[max-layers]: New record field. Change-Id: I2726655aefd6688b976057fd5a38e9972ebfc292
2024-01-08guix: pack: Build layered images.Oleg Pykhalov
* guix/scripts/pack.scm (docker-image, guix-pack, %default-options, %docker-format-options, show-docker-format-options/detailed): Handle '--max-layers' option. * doc/guix.texi (Invoking guix pack): Document this. Change-Id: I90660b2421fcdde891f003469fe2e2edaac7da41
2024-01-08guix: pack: Add '--entry-point-argument' option.Graham James Addis
* guix/scripts/pack.scm: (entry-point-argument-spec-option-parser): New procedure. (docker-image, %default-options, %docker-format-options, show-docker-format-options/detailed, %options, show-docker-format-options, guix-pack): Handle '--entry-point-argument' option. * doc/guix.texi: (Invoking guix pack): Document this Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com> Change-Id: I1124feff6af39dcc63c85fd6cc7ad50f398489dc
2023-12-27scripts: download: Fix docstring typo.Romain GARBAGE
* guix/scripts/download.scm (ensure-valid-store-file-name name): Fix the docstring. Change-Id: If3fe3a923f514bb69297b566e0642c5e80fe4648 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2023-12-18guix: import: Add composer importer.Nicolas Graves
* guix/import/composer.scm: New file. * guix/scripts/import/composer.scm: New file. * guix/tests/composer.scm: New file. * Makefile.am: Add them. * guix/scripts/import.scm: Add composer importer. * doc/guix.texi (Invoking guix import): Mention it. Change-Id: I44a89b8cc80ef5b4a3cd15e8fbba4a18c1cea0b1 Co-authored-by: Julien Lepiller <julien@lepiller.eu> Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-12-11weather: Report unauthorized substitute servers.Ludovic Courtès
The goal is to make it easier to diagnose substitute misconfiguration (where we’re passing a substitute URL whose corresponding key is not authorized). Suggested by Emmanuel Agullo. * guix/scripts/weather.scm (check-narinfo-authorization): New procedure. (report-server-coverage): Use it. * doc/guix.texi (Invoking guix weather): Document it. (Getting Substitutes from Other Servers): Add “Troubleshooting” frame. Change-Id: I0a049c39eefb10d6a06634c8b16aa86902769791
2023-12-11weather: Use the same substitute URLs as guix-daemon.Ludovic Courtès
* guix/scripts/weather.scm (%default-options): Remove ‘substitute-urls’. (guix-weather): Call ‘substitute-urls’ when OPTS doesn’t have it. Warn when ‘substitute-urls’ returns #f. * doc/guix.texi (Invoking guix weather): Adjust accordingly. Change-Id: I3e9100074f2ad559e5c408660db70430d64f2bef
2023-12-11challenge: Use the same substitute URLs as guix-daemon.Ludovic Courtès
* guix/scripts/challenge.scm (%default-options): Remove ‘substitute-urls’. (guix-challenge): Call ‘substitute-urls’ when OPTS doesn’t have it. Warn when ‘substitute-urls’ returns #f. Change-Id: I49be0e89404c1889970a3430967fbb3498d35d99
2023-12-06shell: ‘--development’ honors ‘--system’.Ludovic Courtès
Fixes a bug whereby ‘package->development-manifest’ would run with the wrong system in mind, leading to errors like this: $ guix shell -s i586-gnu -D shepherd --no-grafts guix shell: error: package linux-libre-headers@5.15.49 does not support i586-gnu * guix/scripts/environment.scm (options/resolve-packages): Define ‘system’ and pass it to ‘package->development-manifest’.’ * tests/guix-shell.sh: Test it. Change-Id: I95c471c1918913ab80dec7d3ca64fe38583cce78
2023-12-04substitute: Do not exit when failing to find a nar.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/67575>. * guix/scripts/substitute.scm (process-substitution/fallback): Use ‘report-error’ instead of ‘leave’. Write status line to PORT. * tests/substitute.scm ("substitute, narinfo is available but nar is missing"): Adjust accordingly. Change-Id: Ic7297dbd563c007111ec2167c8d52505a07d4822
2023-12-02gnu: Use ‘libc-utf8-locales-for-target’.Janneke Nieuwenhuizen
* guix/packages.scm (%standard-patch-inputs): Use ‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’. * guix/self.scm (%packages): Likewise. * gnu/home/services/ssh.scm (file-join): Likewise * gnu/installer.scm (build-compiled-file): Likewise. * gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise. * gnu/packages/gnome.scm (libgweather4, tracker): Likewise. * gnu/packages/javascript.scm (js-mathjax): Likewise. * gnu/packages/package-management.scm (guix, flatpak): Likewise. * gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise. * gnu/packages/suckless.scm (svkbd): Likewise. * gnu/services.scm (cleanup-gexp): Likewise. * gnu/services/base.scm (guix-publish-shepherd-service): Likewise. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services) (guix-build-coordinator-agent-shepherd-services): Likewise. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services): (guix-data-service-shepherd-services) (nar-herder-shepherd-services) (bffe-shepherd-services): Likewise. * gnu/services/web.scm (anonip-shepherd-service) (mumi-shepherd-services): Likewise. * gnu/system/image.scm (system-disk-image, system-iso9660-image) (system-docker-image, system-tarball-image): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * guix/profiles.scm (info-dir-file): Likewise. (ca-certificate-bundle, profile-derivation): Likewise. * guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise. * tests/pack.scm: Likewise. * tests/profiles.scm ("profile-derivation, cross-compilation"): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Christopher Baines <mail@cbaines.net> Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374
2023-11-26locate: Gracefully handle busy-database error conditions.Maciej Kalandyk
* guix/scripts/locate.scm (SQLITE_BUSY): New variable. (call-with-database): Catch 'sqlite-error and call ‘leave’ upon SQLITE_BUSY. Change-Id: Iebe76c75d45e70317bd18d2c176dcdeaf9d6964c Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-11-22shell: Disable caching for ‘guix shell -f guix.scm’.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/64858>. * guix/scripts/shell.scm (profile-cached-gc-root): Distinguish the two ‘load’ cases; return #f and #f for (load ad-hoc-package _). Reported-by: Pierre-Henry Fröhring <phfrohring@deeplinks.com>. Change-Id: I00282fbd41aeed09fb927690945cf65e1f9efe4d
2023-11-22shell: Correct cache key for ‘guix shell -f guix.scm’.Felix Lechner
Partially fixes <https://issues.guix.gnu.org/64858>. Fixes a bug whereby ‘guix shell -f guix.scm’ would use the same cache key as ‘guix shell’ in an empty directory (meaning: no packages specified) and would ignore the mtime of ‘guix.scm’. * guix/scripts/shell.scm (profile-cached-gc-root): In ‘load’ case, recognize both the ‘package’ and ‘ad-hoc-package’ tags. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Ice6d0ac43e1dc6bb335a17963364c2cc6bcd076d
2023-11-22style: ‘guix style -f’ warns when passed zero arguments.Ludovic Courtès
* guix/scripts/style.scm (guix-style): When OPTS has ‘whole-file?’ set, warn when FILES is empty. Change-Id: I494f52ef5d070510d20006e6dd987a6805161bb4
2023-11-15locate: Accept ‘--clear’ without additional arguments.Ludovic Courtès
Fixes a bug whereby ‘guix locate --clear’ would end with the “no files to search for” error. Fixes <https://issues.guix.gnu.org/66799>. * guix/scripts/locate.scm (guix-locate): Do not emit “no files to search for” error when 'clear? is set in OPTS. * tests/guix-locate.sh: Test it. Reported-by: Maciej Kalandyk <m.kalandyk@outlook.com> Change-Id: Ib8fa125c18481d7f5408bd89df9503713527641d
2023-11-05time-machine: Warn when no command is given.Ludovic Courtès
* guix/scripts/time-machine.scm (guix-time-machine): Emit a warning when COMMAND-LINE is false. Change-Id: I26e6b608915ecaf6d9372f9b03dc5ebd1b4c68f9
2023-11-05time-machine: Make target commit check cheaper.Ludovic Courtès
Commit 79ec651a286c71a3d4c72be33a1f80e76a560031 introduced a check to error out when attempting to use ‘time-machine’ to travel to a commit before ‘v1.0.0’. This commit fixes a performance issue with the strategy used in 79ec651a286c71a3d4c72be33a1f80e76a560031 (the repository was opened, updated, and traversed a second time by ‘validate-guix-channel’) as well as a user interface issue (“Updating channel” messages would be printed too late). This patch reimplements the check in terms of the existing #:validate-pull mechanism, which is designed to avoid extra repository operations. Fixes <https://issues.guix.gnu.org/65788>. * guix/inferior.scm (cached-channel-instance): Change default value of #:validate-channels. Remove call to VALIDATE-CHANNELS; pass it as #:validate-pull to ‘latest-channel-instances’. * guix/scripts/time-machine.scm (%reference-channels): New variable. (validate-guix-channel): New procedure, written as a simplification of… (guix-time-machine)[validate-guix-channel]: … this. Remove. Pass #:reference-channels to ‘cached-channel-instance’. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Change-Id: I9b0ec61fba7354fe08b04a91f4bd32b72a35460c
2023-11-05scripts: edit: Fix relative file-name with 'load-path' option.Simon Tournier
* guix/scripts/edit.scm (search-path*): Return 'file' if exists when 'search-path' fails. Change-Id: I891d63d0d28577a7d1732fc59435828ecc0a5c5a
2023-10-28environment: Fix typo in error messages.Ludovic Courtès
* guix/scripts/environment.scm (guix-environment*): Fix typo in error messages. Change-Id: I0b8669cb43267d0456a70f3b157514a6bcc725e8
2023-10-28environment: Parameterize ‘%graft?’ early on.Ludovic Courtès
Previously, ‘%graft?’ would be parameterized after ‘package-derivation’ had been called for ‘%guile-for-build’, which is too late. * guix/scripts/environment.scm (guix-environment*)[with-store/maybe]: Parameterize ‘%graft?’. Remove ‘%graft?’ parameterization from body. Change-Id: I65ef4a8c5f27e19a49196005871e5f7057fabaec
2023-10-28environment: Honor ‘-s’ for guile-for-build.Ludovic Courtès
Partly fixes <https://issues.guix.gnu.org/65225>. * guix/scripts/environment.scm (guix-environment*): Pass SYSTEM to ‘package-derivation’ when defining ‘%guile-for-build’. Reported-by: Simon Tournier <zimon.toutoune@gmail.com> Change-Id: I9d883f1e61fac72754fdc9dee9b7c8a3dea32add
2023-10-18locate: Do not return the system database when it is too old.Ludovic Courtès
Fixes a bug whereby ‘guix locate’ would pick the system database, then decide it’s too old, try to update it, and fail because it’s not writable by unprivileged users. Fixes <https://issues.guix.gnu.org/66612>. * guix/scripts/locate.scm (file-age): New procedure. (suitable-database): Add ‘age-update-threshold’ parameter and honor it. (guix-locate): Remove ‘file-age’. Pass ‘age-update-threshold’ to the ‘database’ option. Reported-by: Matt Wette <matt.wette@gmail.com>
2023-10-17scripts: weather: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/weather.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: upgrade: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/upgrade.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: time-machine: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/time-machine.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: substitute: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/substitute.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: system: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/system.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: style: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/style.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: size: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/size.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: show: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/show.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: shell: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/shell.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: search: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/search.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: repl: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/repl.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: remove: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/remove.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: refresh: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/refresh.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: pull: Handle EPIPE errors when displaying help.Simon Tournier
Reported by Mathieu Othacehe <othacehe@gnu.org>. * guix/scripts/pull.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: publish: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/publish.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: processes: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/processes.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: package: Handle EPIPE errors when displaying help.Simon Tournier
Reported by Mathieu Othacehe <othacehe@gnu.org>. * guix/scripts/package.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: pack: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/pack.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: offload: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/offload.scm (guix-offload): Handle EPIPE errors when displaying help.
2023-10-17scripts: locate: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/locate.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: lint: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/lint.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: install: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/install.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: import: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/import.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: home: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/home.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: hash: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/hash.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: graph: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/graph.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17scripts: git: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/git.scm (%options): Handle EPIPE errors when displaying help.