summaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Collapse)AuthorAge
* Merge branch 'master' into core-updatesLudovic Courtès2019-10-01
|\
| * pull: Do not use '~*', which 'msgfmt' fails to interpret.Ludovic Courtès2019-10-01
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/37505>. Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>. * guix/scripts/pull.scm (display-channel-news): Use ~a instead of ~* when reporting new channels.
| * offload: Include the port number in the machine lock file name.Ludovic Courtès2019-09-28
| | | | | | | | | | | | | | | | This is useful when a single machine appears several time, with different port numbers. * guix/scripts/offload.scm (machine-slot-file): Add MACHINE's port to the file name.
* | Merge branch 'master' into core-updatesMarius Bakke2019-09-27
|\|
| * guix download: Ensure destination file-name is valid in the store.Hartmut Goebel2019-09-26
| | | | | | | | | | | | | | | | | | | | | | | | Avoid invalid store-file-name by explicitly passing the destination name, replacing any character not allowed in the store-file-name by an underscore. Fixes <http://issues.guix.gnu.org/issue/26175> * guix/scripts/download.scm (safe-naensure-valid-store-file-nameme): New function. (download-to-store*): Use it to generate a "safe" basename of URL.
| * guix package: Add '--list-profiles'.Ludovic Courtès2019-09-26
| | | | | | | | | | | | * guix/scripts/package.scm (show-help, %options): Add '--list-profiles'. (process-query): Honor it. * tests/guix-package.sh: Add test.
| * pull: Dim the commit ID when displaying news.Ludovic Courtès2019-09-25
| | | | | | | | * guix/scripts/pull.scm (display-news-entry): Dim the commit line.
* | Merge branch 'master' into core-updatesLudovic Courtès2019-09-24
|\|
| * pull: Use ~/.cache/guix/checkouts instead of ~/.cache/guix/pull.Ludovic Courtès2019-09-23
| | | | | | | | | | | | | | | | | | Previously 'channel-news-for-commit' would use the former while 'guix pull' would use the latter. Consequently, the first 'guix pull -N' would clone the repository anew. * guix/scripts/pull.scm (guix-pull): Remove 'cache', and leave %REPOSITORY-CACHE-DIRECTORY to its default value.
| * show, search: Add '--load-path'.Ludovic Courtès2019-09-23
| | | | | | | | | | * guix/scripts/search.scm (show-help, %options): Add -L/--load-path. * guix/scripts/show.scm (show-help, %options): Add -L/--load-path.
| * scripts: container: Fix typo.Vagrant Cascadian2019-09-23
| | | | | | | | * guix/scripts/container/exec (show-help): Fix spelling of COMMAND.
| * deploy: Add '--verbosity' and properly interpret build log.Ludovic Courtès2019-09-23
| | | | | | | | | | | | | | This is a followup to 91300526b7d9d775bd98a700ed3758420ef9eac6. * guix/scripts/deploy.scm (show-help, %options): Add '--verbosity'. (guix-deploy): Wrap 'with-store' in 'with-status-verbosity'.
| * pull: Display news titles directly upon 'pull'.Ludovic Courtès2019-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (display-profile-news): Return true when there's more to display. (display-news-entry-title): New procedure. (display-news-entry): Use it. (display-channel-specific-news): Return true when there's more to display. (display-channel-news-headlines): New procedure. (build-and-install): Call it. When 'display-channel-news-headlines' or 'display-profile-news' returns #t, print a hint to run "pull --news". (display-new/upgraded-packages): Return true when there's more to display.
| * 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>