summaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Collapse)AuthorAge
...
| * pull: '-l' displays channel news.Ludovic Courtès2019-09-23
| | | | | | | | | | | | * guix/scripts/pull.scm (display-channel-news): Make 'previous' a parameter. (process-query)[list-generations]: Call 'display-channel-news'.
| * pull: Display channel news.Ludovic Courtès2019-09-23
| | | | | | | | | | | | | | | | * guix/scripts/pull.scm (display-news-entry) (display-channel-specific-news): New procedures. (display-channel-news): Call it. (display-new/upgraded-packages): Adjust hint message. * doc/guix.texi (Invoking guix pull): Mention it.
| * pull: '--news' shows the list of channels added or removed.Ludovic Courtès2019-09-23
| | | | | | | | | | | | * guix/scripts/pull.scm (display-channel, channel=?) (display-channel-news, display-news): New procedures. (process-query): Call 'display-news' instead of 'display-profile-news'.
| * guix package: '--show' ignores deprecated packages.Ludovic Courtès2019-09-21
| | | | | | | | | | | | * guix/scripts/package.scm (process-query) <'show>: Remove superseded packages. * tests/guix-package-aliases.sh: Add test.
| * guix package: Add 'guix show' alias.zimoun2019-09-21
| | | | | | | | | | | | | | | | | | | | * guix/scripts/show.scm: New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Add it. * tests/guix-package-aliases.sh: Add test. * doc/guix.texi (Invoking guix package): Document it and use it in a example. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: pull: Add options for generation managementKonrad Hinsen2019-09-18
| | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (%options) Add --roll-back, --switch-generation, --delete-generations (process-generation-change): New function (guix-pull): Execute generation management operations * doc/guix.texi: Document the generation management operations Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * pull: Work around Ubuntu's 'sudo'.Ludovic Courtès2019-09-18
| | | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/36785>. Reported by Julien Lepiller <julien@lepiller.eu>. * guix/scripts/pull.scm (ensure-default-profile): Do not call 'migrate-generations' when "SUDO_USER" is set.
| * guix package: "guix package -f FILE" ensures FILE returns a package.Ludovic Courtès2019-09-18
| | | | | | | | | | | | * guix/scripts/package.scm (options->installable): Add clause for 'install option with a non-package object. * tests/guix-package.sh: Add test.
* | Merge branch 'master' into core-updatesLudovic Courtès2019-09-17
|\|
| * pack: Provide a meaningful "repository name" for Docker.Ludovic Courtès2019-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, images produced by 'guix pack -f docker' would always show up as "profile" in the output of 'docker images'. With this change, 'docker images' shows a name constructed from the packages found in the image--e.g., "bash-coreutils-grep-sed". * guix/docker.scm (canonicalize-repository-name): New procedure. (generate-tag): Remove. (manifest): Add optional 'tag' parameter and honor it. (repositories): Likewise. (build-docker-image): Add #:repository parameter and pass it to 'manifest' and 'repositories'. * guix/scripts/pack.scm (docker-image)[build]: Compute 'tag' and pass it as #:repository to 'build-docker-image'.
| * pack: Add packages in the order in which they appear on the command line.Ludovic Courtès2019-09-16
| | | | | | | | | | * guix/scripts/pack.scm (guix-pack)[manifest-from-args](packages): Reverse order of packages taken from OPTS.
| * file-systems: Add /var/run/nscd to '%network-file-mappings'.Ludovic Courtès2019-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows containers created by "guix environment -CN" or by "guix system container -N" to talk to the host nscd. * gnu/system/file-systems.scm (%network-file-mappings): Add "/var/run/nscd". * gnu/build/shepherd.scm (default-mounts)[nscd-socket]: Remove. * gnu/system/linux-container.scm (container-script)[nscd-run-directory] [nscd-mapping, nscd-os, nscd-specs]: Remove. [script]: Filter out from SPECS bind-mounts where the device does not exist. * guix/scripts/environment.scm (launch-environment/container) [optional-mapping->fs]: New procedure. [mappings]: Remove %NETWORK-FILE-MAPPINGS. [file-systems]: Add %NETWORK-FILE-MAPPINGS here, filtered through 'optional-mapping->fs'.
| * import: crate: Allow imports of a specific version.Martin Becze2019-09-10
| | | | | | | | | | | | | | | | | | | | | | * guix/import/crate.scm (crate->guix-package): Add optional 'version' argument and honor it. * guix/scripts/import/crate.scm (guix-import-crate): Assume the first argument is a spec and destructure it with 'package-name->name+version'. Pass both to 'crate->guix-package'. * doc/guix.texi (Invoking guix import): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| * refresh: Distinguish between "no updater" and "failing updater".Ludovic Courtès2019-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, something like "guix refresh texmacs" would report "no updater". Now, it reports that the 'gnu-ftp' updater failed to list releases. * guix/upstream.scm (lookup-updater): Use 'find' instead of 'any' to return the <upstream-updater>. (package-latest-release): Adjust accordingly. * guix/scripts/refresh.scm (check-for-package-update): When 'package-latest-release' returns #f, distinguish between "no updater" and "failing updater".
| * daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.Ludovic Courtès2019-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * nix/scripts/list-runtime-roots.in: Remove. * guix/store/roots.scm (%proc-directory): New variable. (proc-file-roots, proc-exe-roots, proc-cwd-roots) (proc-fd-roots, proc-maps-roots, proc-environ-roots) (referenced-files, canonicalize-store-item, busy-store-items): New procedures, taken from 'list-runtime-roots.in'. * nix/libstore/globals.hh (Settings)[guixProgram]: New field. * nix/libstore/globals.cc (Settings::processEnvironment): Initialize 'guixProgram'. * nix/libstore/gc.cc (addAdditionalRoots): Drop code related to 'NIX_ROOT_FINDER'. Run "guix gc --list-busy". * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove 'scripts/list-runtime-roots'. * config-daemon.ac: Don't output nix/scripts/list-runtime-roots. * build-aux/pre-inst-env.in: Don't set 'NIX_ROOT_FINDER'. Set 'GUIX'. * doc/guix.texi (Invoking guix gc): Document '--list-busy'. * guix/scripts/gc.scm (show-help, %options): Add "--list-busy". (guix-gc)[list-busy]: New procedure. Handle the 'list-busy' action.
* | Merge branch 'master' into core-updatesMark H Weaver2019-09-06
|\|
| * deploy: Add missing store options.Ludovic Courtès2019-09-04
| | | | | | | | | | * guix/scripts/deploy.scm (%default-options): Add missing options such as 'print-build-trace?', etc.
| * guix system: Reinstalling the bootloader preserves extra menu entries.Ludovic Courtès2019-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36876>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. Previously 'guix system delete-generations' or 'switch-generation' would lose the extra bootloader menu entries specified in the current system's configuration. This fixes that. * guix/scripts/system.scm (reinstall-bootloader): Turn PARAMS into a single <boot-parameters>. Adjust ENTRIES to include extra menu entries specified in PARAMS.
* | Merge branch 'master' into core-updatesMark H Weaver2019-08-29
|\|
| * import: cran: Add support for git repositories.Ricardo Wurmus2019-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/cran.scm (vcs-file?): New procedure. (download): Support downloading from git. (fetch-description): Add a clause for the 'git repository type. (files-match-pattern?): New procedure. (tarball-files-match-pattern?): Implement in terms of FILES-MATCH-PATTERN?. (directory-needs-fortran?, directory-needs-zlib?, directory-needs-pkg-config?): New procedures. (needs-fortran?, needs-zlib?, needs-pkg-config?): Rename these procedures... (tarball-needs-fortran?, tarball-needs-zlib?, tarball-needs-pkg-config?): ...to this, and use them. (file-hash): New procedure. (description->package): Handle the 'git repository type. * guix/import/utils.scm (package->definition): Handle package expression inside of a let. * guix/scripts/import.scm (guix-import): Handle let expressions. * doc/guix.texi (Invoking guix import): Document it.
| * import: cran: guix-import-cran: Use (guix import utils).Ricardo Wurmus2019-08-29
| | | | | | | | | | * guix/scripts/import/cran.scm (guix-import-cran): Use PACKAGE->DEFINITION from (guix import utils) instead of custom procedure.
| * deploy: Do not quote error messages.Ludovic Courtès2019-08-28
| | | | | | | | * guix/scripts/deploy.scm (guix-deploy): Do not quote the message.
| * lint: Log diagnostics with 'info', not 'warning'.Ludovic Courtès2019-08-28
| | | | | | | | | | | | * guix/scripts/lint.scm (emit-warnings): Use 'info', not 'warning'. This removes the unhelpful "warning:" prefix that commit 3d33c93cef67d88bdc9409959f3c1f3857af09cf introduced.
| * pack: Create /tmp in Docker images.Ludovic Courtès2019-08-27
| | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/37161>. * guix/scripts/pack.scm (docker-image)[build]: Add a 'directory' entry for "/tmp" to DIRECTIVES. * tests/pack.scm ("docker-image + localstatedir"): Test the presence of /tmp. * gnu/tests/docker.scm (run-docker-test)["Load docker image and run it"]: Test the presence and permission bits of "/tmp".
| * docker: Take a list of directives instead of a list of symlinks.Ludovic Courtès2019-08-27
| | | | | | | | | | | | | | | | | | | | | | * guix/docker.scm (symlink-source, topmost-component): Remove. (directive-file): New procedure. (build-docker-image): Remove #:symlinks and add #:extra-files. Make a sub-directory "extra" and call 'evaluate-populate-directive' for EXTRA-FILES in that directory. * guix/scripts/pack.scm (docker-image)[build](symlink->directives, directives): New procedures. Pass #:extra-files instead of #:symlinks to 'build-docker-image'.
| * pack: '-R' honors the requested output.Ludovic Courtès2019-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36925>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. * guix/scripts/pack.scm (wrapped-package): Add 'output*' parameter. [build]: Define 'input' and 'target'; use them instead of #$package and #$output, respectively. (wrapped-manifest-entry): New procedure. (map-manifest-entries): Call PROC directly. (guix-pack): Pass WRAPPED-MANIFEST-ENTRY to 'map-manifest-entries'.
* | Merge branch 'master' into core-updatesMark H Weaver2019-08-22
|\|
| * refresh: Use the standard diagnostic procedures.Ludovic Courtès2019-08-17
| | | | | | | | | | | | * guix/scripts/refresh.scm (warn-no-updater): Use 'warning' instead of 'format'. (update-package): Use 'info' and 'warning' instead of 'format'.
| * channels: Add 'profile-channels'.Ludovic Courtès2019-08-16
| | | | | | | | | | | | * guix/channels.scm (profile-channels): New procedure. * guix/scripts/describe.scm (display-profile-info)[channels]: Define in terms of 'profile-channels'.
| * machine: Implement 'roll-back-machine'.Jakob L. Kreuze2019-08-15
| | | | | | | | | | | | | | | | | | * gnu/machine.scm (roll-back-machine, &deploy-error, deploy-error?) (deploy-error-should-roll-back) (deploy-error-captured-args): New variable. * gnu/machine/ssh.scm (roll-back-managed-host): New variable. * guix/scripts/deploy.scm (guix-deploy): Roll-back systems when a deployment fails.
| * remote: Remove '--system' argument.Jakob L. Kreuze2019-08-14
| | | | | | | | | | | | | | | | * gnu/services.scm (activation-script): Return a <program-file> rather than a <scheme-file>. * gnu/deploy.scm (guix-deploy): Remove handling for '--system'. (show-help): Remove documentation for '--system'. (%default-options): Remove default setting for 'system'.
* | Merge branch 'master' into core-updatesMarius Bakke2019-08-13
|\|
| * deploy: Use all machine modules when loading deploymentJakob L. Kreuze2019-08-07
| | | | | | | | | | | | * guix/scripts/deploy.scm (load-source-file): Enumerate and include all submodules of (gnu machine) when loading the provided deployment specification.
| * reconfigure: Fix GC root installation.Jakob L. Kreuze2019-08-06
| | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36942>. Reported by ison <ison@airmail.cc>. guix/scripts/system/reconfigure.scm (install-bootloader-program): Switch new symlink to the canonical bootloader configuration file. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| * reconfigure: Reload all shepherd files when upgrading services.Jakob L. Kreuze2019-08-02
| | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36878>. Reported by Robert Vollmert <rob@vllmrt.net>. * guix/scripts/system/reconfigure.scm (upgrade-shepherd-services): Load all service files, rather than just those of services to be started. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* | Merge branch 'master' into core-updatesMarius Bakke2019-07-31
|\|
| * guix system: Reimplement 'reconfigure'.Jakob L. Kreuze2019-07-26
| | | | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (switch-to-system) (upgrade-shepherd-services, install-bootloader): Delete variable. (local-eval): New variable. (install): Remove 'bootloader-installer' and 'bootcfg-file' parameters. (install): Add 'bootloader' parameter. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * guix system: Add 'reconfigure' module.Jakob L. Kreuze2019-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/system/reconfigure.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/system.scm (bootloader-installer-script): Export variable. * gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services) (install-bootloader): Delete variable. * gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure. * gnu/services/herd.scm (live-service): Export variable. * gnu/services/herd.scm (live-service-canonical-name): New variable. * tests/services.scm (live-service): Delete variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * guix build: '--with-commit' recognizes "v[0-9]" tags.Ludovic Courtès2019-07-26
| | | | | | | | | | * guix/scripts/build.scm (transform-package-source-commit)[replace]: Special case COMMIT that starts with "v[0-9]".
| * maint: Switch to Guile-JSON 3.x.Ludovic Courtès2019-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro. * configure.ac: Use it. * doc/guix.texi (Requirements): Mention the Guile-JSON version. * guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3. * guix/import/cpan.scm (string->license): Expect vectors instead of lists. (module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'. (cpan-fetch): Likewise. * guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list' for DEPS. * guix/import/gem.scm (rubygems-fetch): Likewise. * guix/import/json.scm (json-fetch-alist): Remove. * guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (latest-source-release, latest-wheel-release): Call 'vector->list' on RELEASES. * guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (lts-package-version): Use 'vector->list'. * guix/import/utils.scm (hash-table->alist): Remove. (alist->package): Pass 'vector->list' on the inputs fields, and default to the empty vector. * guix/scripts/import/json.scm (guix-import-json): Remove call to 'hash-table->alist'. * guix/swh.scm (define-json-reader): Expect pair? or null? instead of hash-table?. [extract-field]: Use 'assoc-ref' instead of 'hash-ref'. (json->branches): Use 'map' instead of 'hash-map->list'. (json->checksums): Likewise. (json->directory-entries, origin-visits): Call 'vector->list' on the result of 'json->scm'. * tests/import-utils.scm ("alist->package with dependencies"): New test. * gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3. * gnu/installer.scm (installer-program)[installer-builder]: Likewise. * gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref' instead of 'hash-ref', and pass vectors through 'vector->list'. (iso3166->iso3166-territories): Likewise. * gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3. * guix/docker.scm (manifest, config): Adjust for Guile-JSON 3. * guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3. * guix/import/github.scm (fetch-releases-or-tags): Update docstring. (latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass the result of 'fetch-releases-or-tags' to 'vector->list'. * guix/import/launchpad.scm (latest-released-version): Likewise.
| * deploy: Handle the '--system' command line option.宋文武2019-07-24
| | | | | | | | | | | | * guix/scripts/deploy.scm (show-help): Add help for '--system'. (%options): Add '-s' and '--system'. (guix-deploy): Parameterize %current-system.
| * deploy: Honor '--no-grafts'.宋文武2019-07-24
| | | | | | | | * guix/scripts/deploy.scm (guix-deploy): Parameterize '%graft?'.
* | Merge branch 'master' into core-updatesMarius Bakke2019-07-22
|\|
| * pack: Pass a list as the entry point for 'build-docker-image'.Ludovic Courtès2019-07-22
| | | | | | | | | | * guix/scripts/pack.scm (docker-image)[build]: Pass a list as #:entry-point, not a string.
| * lint: Use the 'warning' procedure for messages.Ludovic Courtès2019-07-20
| | | | | | | | | | * guix/scripts/lint.scm (emit-warnings): Use 'warning' instead of 'format'.
| * guix archive: Use (gcrypt common).Ludovic Courtès2019-07-19
| | | | | | | | | | * guix/scripts/archive.scm: Use (gcrypt common) for 'error-source' and 'error-string'.
* | Merge branch 'master' into core-updatesMarius Bakke2019-07-19
|\|
| * pull: Pass #:use-substitutes? to 'show-what-to-build'.Ludovic Courtès2019-07-18
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36509>. Reported by Robert Vollmert <rob@vllmrt.net>. * guix/scripts/pull.scm (build-and-install): Add #:use-substitutes? parameter and pass it to UPDATE-PROFILE. (guix-pull): Pass #:use-substitutes? to 'build-and-install'.
| * pull: Use (ice-9 format).Ludovic Courtès2019-07-18
| | | | | | | | | | * guix/scripts/pull.scm (guix): Use (ice-9 format), as reported by '-Wformat'.
| * pull: Remove unused procedures.Ludovic Courtès2019-07-18
| | | | | | | | * guix/scripts/pull.scm (what-to-build, indirect-root-added): Remove.