summaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Collapse)AuthorAge
* guix: lint: Slightly simplify `check-source-file-name'.Arun Isaac2017-05-23
| | | | | * guix/scripts/lint.scm (check-source-file-name): Implement file name matching with regular expression.
* gnu: lint: Fix typo.Arun Isaac2017-05-23
| | | | | * guix/scripts/lint.scm (check-source-file-name): Fix wrong return value in docstring.
* Merge branch 'version-0.13.0'Marius Bakke2017-05-22
|\
| * guix system: Don't warn about old distros for "guix system init".Ludovic Courtès2017-05-21
| | | | | | | | | | * guix/scripts/system.scm (process-action): Don't call 'warn-about-old-distro' when ACTION is 'init' or 'build'.
| * guix system: Increase image size for 'guix system vm'.Ludovic Courtès2017-05-21
| | | | | | | | | | | | | | This is a followup to 9a1bfe764859365b6726f168da95b88a2d22403b. * guix/scripts/system.scm (system-derivation-for-action): Add 40MiB to the default size for 'vm'.
| * pack: Use 'guile2.0-json' when building with Guile 2.0.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/27005>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. Fixes a regression introduced in commit 2252f087d4bd450ab41a71379320467887edfc0f. * guix/scripts/pack.scm (docker-image)[json]: New variable. [build]: Use it.
| * publish: Fix narinfo rendering for already-compressed items.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/26975>. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd argument to 'stat' and properly handle #f. * tests/publish.scm (wait-for-file): New procedure. ("with cache"): Remove 'wait-for-file' procedure. ("with cache, uncompressed"): New test.
* | pack: Use 'guile2.0-json' when building with Guile 2.0.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/27005>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. Fixes a regression introduced in commit 2252f087d4bd450ab41a71379320467887edfc0f. * guix/scripts/pack.scm (docker-image)[json]: New variable. [build]: Use it.
* | publish: Fix narinfo rendering for already-compressed items.Ludovic Courtès2017-05-18
| | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/26975>. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd argument to 'stat' and properly handle #f. * tests/publish.scm (wait-for-file): New procedure. ("with cache"): Remove 'wait-for-file' procedure. ("with cache, uncompressed"): New test.
* | lint: inputs-should-be-native: Add "cmake".Ludovic Courtès2017-05-18
| | | | | | | | | | | | | | Suggested by Nicolas Goaziou <mail@nicolasgoaziou.fr>. * guix/scripts/lint.scm (check-inputs-should-be-native)[input-names]: Add "cmake".
* | scripts: system: Display bootloader name in "list-generations".Mathieu Othacehe2017-05-16
| | | | | | | | | | * guix/scripts/system.scm (display-system-generation): Display bootloader name.
* | scripts: system: Adapt "switch-generation" to new bootloader API.Mathieu Othacehe2017-05-16
| | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (reinstall-grub): Rename to reinstall-bootloader. Read boot-device and boot-type from parameters file to be able to restore the correct bootloader on specified device. Factorize bootloader installation code by calling install-bootloader. (system-bootloader-name): New procedure. (switch-to-system-generation): Adapt.
* | scripts: system: Adapt "init" to new bootloader API.Mathieu Othacehe2017-05-16
| | | | | | | | | | | | | | * guix/scripts/system.scm (install): Pass installer a new argument. Rename other arguments. Call install-bootloader instead of install-grub*. (perform-action): Adapt.
* | scripts: system: Adapt "reconfigure" to new bootloader API.Mathieu Othacehe2017-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (install-grub*): Rename to install-bootloader. Use keys to pass arguments. Pass a new argument, "installer-drv" which is a script in store dealing with bootloader-specific install actions. Also call "install-boot-config" to install the bootloader config file. (install-bootloader-derivation): New procedure. It returns a derivation that builds a file containing "install-procedure" gexp. (perform-action): Build install-proc derivation and call install-bootloader with the resulting file. Stop adding GRUB to PATH as bootloaders are called in install-proc with direct store paths.
* | bootloader: Add extlinux support.Mathieu Othacehe2017-05-16
|/ | | | | | | | | | | | | | | * gnu/bootloader.scm: New file. * gnu/bootloader/extlinux.scm: New file. * gnu/bootloader/grub.scm: New file. * gnu/local.mk: Build new files. * gnu/system.scm: Adapt to new bootloader api. * gnu/scripts/system.scm: Adapt to new bootloader api. * gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu bootloader grub) modules. * gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm. * gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader). * gnu/tests.scm: Ditto. * gnu/tests/nfs.scm: Ditto.
* substitute: Honor 'Cache-Control' on 404 responses.Ludovic Courtès2017-05-11
| | | | | | * guix/scripts/substitute.scm (cached-narinfo): When VALUE is #f, use the TTL that is read instead of %NARINFO-NEGATIVE-TTL. (cached-narinfo-expiration-time): Likewise.
* publish: Advertise a short TTL for "baking" 404s.Ludovic Courtès2017-05-11
| | | | | | | * guix/scripts/publish.scm (not-found): Add #:phrase and #:ttl parameters and honor them. * tests/publish.scm ("with cache"): Check the 'cache-control' header on of the 404 response.
* scripts: Warn about old distro.Ludovic Courtès2017-05-10
| | | | | | | | | | | Fixes <http://bugs.gnu.org/25852>. Suggested by Mark H Weaver <mhw@netris.org>. * guix/scripts.scm (%distro-age-warning): New variable. (warn-about-old-distro): New procedure. * guix/scripts/package.scm (process-actions): Call 'warn-about-old-distro'. * guix/scripts/system.scm (process-action): Likewise.
* pull: Use 'with-store'.Ludovic Courtès2017-05-09
| | | | | * guix/scripts/pull.scm (guix-pull): Remove call to 'open-connection'. Use 'with-store' instead.
* pull: Honor the standard build options.Ludovic Courtès2017-05-09
| | | | | | | | | | | | | Reported by Niall Dooley <dooleyn@gmail.com> in <https://lists.gnu.org/archive/html/help-guix/2017-05/msg00038.html>. * guix/scripts/pull.scm (%options): Add --dry-run and all of %STANDARD-BUILD-OPTIONS. (show-help): Add call to 'show-build-options-help'. (%default-options): Add 'system', 'substitutes?', 'graft?', 'max-silent-time', and 'verbosity'. (guix-pull)[parse-options]: Remove. Use 'parse-command-line' instead. Honor --dry-run.
* scripts: Remove profile-grub-entries.Danny Milosavljevic2017-05-05
| | | | * guix/scripts/system.scm (profile-grub-entries): Delete variable.
* system: grub: Use boot-parameters instead of menu-entry where possible.Danny Milosavljevic2017-05-05
| | | | | | | | | * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters instead of menu-entry where possible. * guix/scripts/system.scm (profile-boot-parameters): Update docstring. (reinstall-grub): Use profile-boot-parameters. (perform-action): Use profile-boot-parameters.
* scripts: Make boot-parameters label include generation number and time.Danny Milosavljevic2017-05-05
| | | | | * guix/scripts/system.scm (system->boot-parameters): Make label include generation number and time.
* system: Introduce read-boot-parameters-file.Danny Milosavljevic2017-05-05
| | | | | | | | | | * gnu/system.scm (read-boot-parameters): Remove export. (read-boot-parameters-file): New variable. Export it. * guix/scripts/system.scm (profile-boot-parameters): Use read-boot-parameters-file. (profile-grub-entries): Use read-boot-parameters-file. (reinstall-grub): Use read-boot-parameters-file. (display-system-generation): Use read-boot-parameters-file.
* environment: Correct typo.Tobias Geerinckx-Rice2017-05-04
| | | | * guix/scripts/environment.scm (create-environment): Fix typo.
* refresh: Use (guix discovery).Ludovic Courtès2017-05-03
| | | | | | | * guix/scripts/refresh.scm (maybe-updater, list-updaters): Remove. (importer-modules): New procedure. (%updaters): Define using 'fold-module-public-variables'. Turn into a promise and adjust users.
* ui: Rename '_' to 'G_'.Ludovic Courtès2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids collisions with '_' when the latter is used as a 'match' pattern for instance. See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>. * guix/ui.scm: Rename '_' to 'G_'. * po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly. * build-aux/compile-all.scm (warnings): Remove 'format'. * gnu/packages.scm, gnu/services.scm, gnu/services/shepherd.scm, gnu/system.scm, gnu/system/shadow.scm, guix/gnupg.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/elpa.scm, guix/import/pypi.scm, guix/nar.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/container.scm, guix/scripts/container/exec.scm, guix/scripts/copy.scm, guix/scripts/download.scm, guix/scripts/edit.scm, guix/scripts/environment.scm, guix/scripts/gc.scm, guix/scripts/graph.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/import/cpan.scm, guix/scripts/import/cran.scm, guix/scripts/import/crate.scm, guix/scripts/import/elpa.scm, guix/scripts/import/gem.scm, guix/scripts/import/gnu.scm, guix/scripts/import/hackage.scm, guix/scripts/import/nix.scm, guix/scripts/import/pypi.scm, guix/scripts/import/stackage.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/perform-download.scm, guix/scripts/publish.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/scripts/system.scm, guix/ssh.scm, guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".
* substitute: Validate substitute URLs.Ludovic Courtès2017-05-02
| | | | | | | | Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com> at <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00548.html>. * guix/scripts/substitute.scm (validate-uri): New procedure. (guix-substitute): Use it.
* publish: Use a larger zlib buffer for compression with '--cache'.Ludovic Courtès2017-05-02
| | | | | * guix/scripts/publish.scm (bake-narinfo+nar): Pass #:buffer-size to 'call-with-gzip-output-port'.
* publish: Produce a "FileSize" narinfo field when possible.Ludovic Courtès2017-05-01
| | | | | | | | | | * guix/scripts/publish.scm (narinfo-string): Add #:file-size parameter. Produce a "FileSize" field when COMPRESSION is eq? to '%no-compression' or when FILE-SIZE is true. (bake-narinfo+nar): Pass #:file-size. * tests/publish.scm ("/*.narinfo") ("/*.narinfo with properly encoded '+' sign") ("with cache"): Check for "FileSize".
* refresh: Report packages using the "@" syntax.Ludovic Courtès2017-05-01
| | | | | | * guix/scripts/refresh.scm (list-dependents)[full-name]: New procedure. Use 'full-name' instead of 'package-full-name'. * doc/guix.texi (Invoking guix refresh): Adjust example accordingly.
* ssh: Move 'open-ssh-session' to (guix ssh).Ludovic Courtès2017-04-21
| | | | | | * guix/scripts/copy.scm (%compression, open-ssh-session): Move to... * guix/ssh.scm: ... here. Use '&message' conditions instead of calling 'leave'.
* offload: Avoid using '_' as a 'match' pattern.Ludovic Courtès2017-04-21
| | | | | * guix/scripts/offload.scm (host-key->type+key, machine-load) (process-request, guix-offload): Do not use '_' as a 'match' pattern.
* publish: Add a handler for / and /index.html.Ludovic Courtès2017-04-19
| | | | | | | | Suggested by Quiliro <quiliro@riseup.net> in <https://bugs.gnu.org/26567>. * guix/scripts/publish.scm (render-home-page): New procedure. (make-request-handler): Handle it.
* publish: Remove expired cache entries when '--ttl' is used.Ludovic Courtès2017-04-18
| | | | | | | | * guix/scripts/publish.scm (narinfo-files): New procedure. (render-narinfo/cached)[delete-file]: New procedure. Add call to 'maybe-remove-expired-cache-entries'. * doc/guix.texi (Invoking guix publish): Document the interation between --cache and --ttl.
* Add (guix cache) and use it in (guix scripts substitute).Ludovic Courtès2017-04-18
| | | | | | | | | | | | | | | * guix/cache.scm, tests/cache.scm: New files. * Makefile.am (MODULES, SCM_TESTS): Add them. * guix/scripts/substitute.scm (obsolete?): Remove. (remove-expired-cached-narinfos): Rename to... (cached-narinfo-expiration-time): ... this. Remove the removal part and only keep the expiration time part. (narinfo-cache-directories): Add optional 'directory' parameter and honor it. (maybe-remove-expired-cached-narinfo): Remove. (cached-narinfo-files): New procedure. (guix-substitute): Use 'maybe-remove-expired-cache-entries' instead of 'maybe-remove-expired-cached-narinfo'.
* publish: Add '--cache' and '--workers'.Ludovic Courtès2017-04-18
| | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/26201>. Reported by <dian_cecht@zoho.com>. These options allow nars to be "baked" off-line and cached instead of being compressed on the fly. As a side-effect, this allows us to provide a 'Content-Length' header for nars. * guix/scripts/publish.scm (show-help, %options): Add '--cache' and '--workers'. (%default-options): Add 'workers'. (nar-cache-file, narinfo-cache-file, run-single-baker): New procedures. (single-baker): New macro. (render-narinfo/cached, bake-narinfo+nar) (render-nar/cached): New procedures. (make-request-handler): Add #:cache and #:pool parameters and honor them. (run-publish-server): Likewise. (guix-publish): Honor '--cache' and '--workers'. * tests/publish.scm ("with cache"): New test. * doc/guix.texi (Invoking guix publish): Document it.
* publish: Use 'sendfile' when possible.Ludovic Courtès2017-04-18
| | | | | | * guix/scripts/publish.scm (http-write): In the 'application/octet-stream' case, use 'sendfile' when OUTPUT is a file port.
* publish: Introduce 'actual-compression'.Ludovic Courtès2017-04-18
| | | | | * guix/scripts/publish.scm (actual-compression): New procedure. (narinfo-string): Use it.
* scripts: system: Rename --no-grub option to --no-bootloader.Mathieu Othacehe2017-04-17
| | | | | | | * guix/scripts/system.scm (%options, show-help): Adjust accordingly. Keep "--no-grub" for compatibility reasons, but do not mention it in the help. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* lint: Avoid non-literal format strings.Ludovic Courtès2017-04-16
| | | | | | | | | | | Reported by Mathieu Othacehe <m.othacehe@gmail.com> at <http://bugs.gnu.org/26498>. * guix/scripts/lint.scm (warn-if-package-has-input): Rename to... (package-input-intersection): ... this. Remove 'linted' and 'message' parameters. Return a list of inputs. (check-inputs-should-be-native): Adjust accordingly. (check-inputs-should-not-be-an-input-at-all): Likewise.
* services: 'service-parameters' becomes 'service-value'.Ludovic Courtès2017-04-16
| | | | | | | | | * gnu/services.scm (<service>)[parameters]: Rename to... [value]: ... this. Change calls to 'service-parameters' to 'service-value'. * gnu/system.scm, gnu/tests/base.scm, guix/scripts/system.scm, tests/services.scm: Likewise. * doc/guix.texi (Service Reference): Adjust accordingly.
* system: Make grub use <menu-entry> instead of <boot-parameters> again.Danny Milosavljevic2017-04-15
| | | | | | | | * gnu/system/grub.scm: Remove boot-parameters->menu-entry. (grub-configuration): Don't use boot-parameters->menu-entry. * gnu/system.scm (operating-system-bootcfg): Use menu-entry. * guix/scripts/system.scm (reinstall-grub): Use profile-grub-entries. (perform-action): Use profile-grub-entries.
* scripts: system: Introduce profile-boot-parameters.Danny Milosavljevic2017-04-15
| | | | | | | | * guix/scripts/system.scm (profile-boot-parameters): New variable. (reinstall-grub): Use profile-boot-parameters. (perform-action): Use profile-boot-parameters. Follow-up to 2e58e05bb68d4b747882cfa2b460b132d456f54a.
* scripts: system: Rename grub? and install-grub? to bootloader? and ↵Mathieu Othacehe2017-04-15
| | | | | | | | | install-bootloader?. * guix/scripts/system.scm (perform-action): Rename grub? to bootloader, (%options): rename install-grub? to install-bootloader?, (%default-options): ditto, (process-action): reindent and rename grub? to bootloader?.
* system: Rename operating-system-grub.cfg to operating-system-bootcfg.Mathieu Othacehe2017-04-15
| | | | | | | | | | | * gnu/system.scm (operating-system-grub.cfg): Rename to... (operating-system-bootcfg): ... this. * gnu/system/vm.scm (system-disk-image): Use operating-system-bootcfg. (system-qemu-image): Use operating-system-bootcfg. (system-qemu-image/shared-store): Use operating-system-bootcfg. * guix/scripts/system.scm (perform-action): Use operating-system-bootcfg. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* scripts: system: Back out operating-system-bootcfg change.Danny Milosavljevic2017-04-15
| | | | | | | Follow-up to 475e2ce211ac05a814c1f1bc2b9648baa17ad369. * guix/scripts/system.scm (perform-action): Back out operating-system-bootcfg change.
* scripts: system: Move save-load-path-excursion and ↵Danny Milosavljevic2017-04-15
| | | | | | | | | | save-environment-excursion macros to the top. * guix/scripts/system.scm (save-load-path-excursion, save-environment-excursion): Move definitions to the top of the file. It allows to use them in the whole file. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* scripts: system: Move save-load-path-excursion and ↵Mathieu Othacehe2017-04-15
| | | | | | | | | | save-environment-excursion macros to the top. * guix/scripts/system.scm (save-load-path-excursion, save-environment-excursion): Move definitions to the top of the file. It allows to use them in the whole file. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* pack: Add '--expression'.Ludovic Courtès2017-04-07
| | | | | | | * guix/scripts/pack.scm (%options, show-help): Add '--expression'. (guix-pack)[maybe-package-argument]: New procedure. Use it, and remove variable 'specs'. * doc/guix.texi (Invoking guix pack): Document '--expression'.