* guix/scripts/substitute-binary.scm: Rename to... * guix/scripts/substitute.scm: ... this. Adjust module name, entry point, comments, and help string accordingly. * nix/scripts/substitute-binary.in: Rename to... * nix/scripts/substitute.in: ... this. * pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly. * tests/substitute-binary.scm: Rename to... * tests/substitute.scm: ... this. Adjust references to (guix scripts substitute) accordingly. * guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to "substitute". * Makefile.am (MODULES, SCM_TESTS): Adjust to file renames. * daemon.am (nodist_pkglibexec_SCRIPTS): Likewise. * config-daemon.ac: Likewise. * guix/tests.scm (call-with-derivation-narinfo): Adjust comments and docstring.gn-latest-20200428
@@ -96,7 +96,7 @@ stamp-h[0-9] | |||
/doc/guix.tp | |||
/doc/guix.vr | |||
/doc/guix.vrs | |||
/nix/scripts/substitute-binary | |||
/nix/scripts/substitute | |||
/doc/images/bootstrap-graph.png | |||
/doc/images/bootstrap-graph.eps | |||
/guix-register | |||
@@ -96,7 +96,7 @@ MODULES = \ | |||
guix/scripts/gc.scm \ | |||
guix/scripts/hash.scm \ | |||
guix/scripts/pull.scm \ | |||
guix/scripts/substitute-binary.scm \ | |||
guix/scripts/substitute.scm \ | |||
guix/scripts/authenticate.scm \ | |||
guix/scripts/refresh.scm \ | |||
guix/scripts/system.scm \ | |||
@@ -162,7 +162,7 @@ SCM_TESTS = \ | |||
tests/pk-crypto.scm \ | |||
tests/pki.scm \ | |||
tests/sets.scm \ | |||
tests/substitute-binary.scm \ | |||
tests/substitute.scm \ | |||
tests/builders.scm \ | |||
tests/derivations.scm \ | |||
tests/ui.scm \ | |||
@@ -133,8 +133,8 @@ if test "x$guix_build_daemon" = "xyes"; then | |||
AC_CONFIG_FILES([nix/scripts/list-runtime-roots], | |||
[chmod +x nix/scripts/list-runtime-roots]) | |||
AC_CONFIG_FILES([nix/scripts/substitute-binary], | |||
[chmod +x nix/scripts/substitute-binary]) | |||
AC_CONFIG_FILES([nix/scripts/substitute], | |||
[chmod +x nix/scripts/substitute]) | |||
AC_CONFIG_FILES([nix/scripts/guix-authenticate], | |||
[chmod +x nix/scripts/guix-authenticate]) | |||
AC_CONFIG_FILES([nix/scripts/offload], | |||
@@ -165,7 +165,7 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql | |||
nodist_pkglibexec_SCRIPTS = \ | |||
nix/scripts/list-runtime-roots \ | |||
nix/scripts/substitute-binary | |||
nix/scripts/substitute | |||
if BUILD_DAEMON_OFFLOAD | |||
@@ -17,7 +17,7 @@ | |||
;;; You should have received a copy of the GNU General Public License | |||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |||
(define-module (guix scripts substitute-binary) | |||
(define-module (guix scripts substitute) | |||
#:use-module (guix ui) | |||
#:use-module (guix store) | |||
#:use-module (guix utils) | |||
@@ -53,7 +53,7 @@ | |||
#:export (narinfo-signature->canonical-sexp | |||
read-narinfo | |||
write-narinfo | |||
guix-substitute-binary)) | |||
guix-substitute)) | |||
;;; Comment: | |||
;;; | |||
@@ -675,7 +675,7 @@ PORT. REPORT-PROGRESS is a two-argument procedure such as that returned by | |||
;;; | |||
(define (show-help) | |||
(display (_ "Usage: guix substitute-binary [OPTION]... | |||
(display (_ "Usage: guix substitute [OPTION]... | |||
Internal tool to substitute a pre-built binary to a local build.\n")) | |||
(display (_ " | |||
--query report on the availability of substitutes for the | |||
@@ -761,7 +761,7 @@ found." | |||
;; daemon. | |||
"http://hydra.gnu.org"))) | |||
(define (guix-substitute-binary . args) | |||
(define (guix-substitute . args) | |||
"Implement the build daemon's substituter protocol." | |||
(mkdir-p %narinfo-cache-directory) | |||
(maybe-remove-expired-cached-narinfo) | |||
@@ -882,7 +882,7 @@ substituter disabled~%") | |||
(every (compose zero? cdr waitpid) pids)))) | |||
(("--version") | |||
(show-version-and-exit "guix substitute-binary")) | |||
(show-version-and-exit "guix substitute")) | |||
(("--help") | |||
(show-help)) | |||
(opts | |||
@@ -893,4 +893,4 @@ substituter disabled~%") | |||
;;; eval: (put 'with-timeout 'scheme-indent-function 1) | |||
;;; End: | |||
;;; substitute-binary.scm ends here | |||
;;; substitute.scm ends here |
@@ -126,7 +126,7 @@ Deriver: ~a~%" | |||
(define* (call-with-derivation-narinfo drv thunk | |||
#:key (sha256 (make-bytevector 32 0))) | |||
"Call THUNK in a context where fake substituter data, as read by 'guix | |||
substitute-binary', has been installed for DRV. SHA256 is the hash of the | |||
substitute', has been installed for DRV. SHA256 is the hash of the | |||
expected output of DRV." | |||
(let* ((output (derivation->output-path drv)) | |||
(dir (%substitute-directory)) | |||
@@ -178,7 +178,7 @@ CONTENTS." | |||
(lambda () | |||
(let ((hash (call-with-input-file (string-append dir "/example.nar") | |||
port-sha256))) | |||
;; Create fake substituter data, to be read by `substitute-binary'. | |||
;; Create fake substituter data, to be read by 'guix substitute'. | |||
(call-with-derivation-narinfo drv | |||
thunk | |||
#:sha256 (or sha256 hash)))) | |||
@@ -815,7 +815,7 @@ parameter of 'args-fold'." | |||
(define (show-guix-help) | |||
(define (internal? command) | |||
(member command '("substitute-binary" "authenticate" "offload"))) | |||
(member command '("substitute" "authenticate" "offload"))) | |||
(format #t (_ "Usage: guix COMMAND ARGS... | |||
Run COMMAND with ARGS.\n")) | |||
@@ -1,11 +0,0 @@ | |||
#!@SHELL@ | |||
# A shorthand for "guix substitute-binary", for use by the daemon. | |||
if test "x$GUIX_UNINSTALLED" = "x" | |||
then | |||
prefix="@prefix@" | |||
exec_prefix="@exec_prefix@" | |||
exec "@bindir@/guix" substitute-binary "$@" | |||
else | |||
exec guix substitute-binary "$@" | |||
fi |
@@ -0,0 +1,11 @@ | |||
#!@SHELL@ | |||
# A shorthand for "guix substitute", for use by the daemon. | |||
if test "x$GUIX_UNINSTALLED" = "x" | |||
then | |||
prefix="@prefix@" | |||
exec_prefix="@exec_prefix@" | |||
exec "@bindir@/guix" substitute "$@" | |||
else | |||
exec guix substitute "$@" | |||
fi |
@@ -44,7 +44,7 @@ export PATH | |||
# Daemon helpers. | |||
NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots" | |||
NIX_SUBSTITUTERS="$abs_top_builddir/nix/scripts/substitute-binary" | |||
NIX_SUBSTITUTERS="$abs_top_builddir/nix/scripts/substitute" | |||
NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload" | |||
NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate' | |||
@@ -367,7 +367,7 @@ | |||
(with-store s | |||
(let* ((d (package-derivation s %bootstrap-guile (%current-system))) | |||
(o (derivation->output-path d))) | |||
;; Create fake substituter data, to be read by `substitute-binary'. | |||
;; Create fake substituter data, to be read by 'guix substitute'. | |||
(with-derivation-narinfo d | |||
;; Remove entry from the local cache. | |||
(false-if-exception | |||
@@ -375,7 +375,7 @@ | |||
"/guix/substitute-binary/" | |||
(store-path-hash-part o)))) | |||
;; Make sure `substitute-binary' correctly communicates the above | |||
;; Make sure 'guix substitute' correctly communicates the above | |||
;; data. | |||
(set-build-options s #:use-substitutes? #t) | |||
(and (has-substitutes? s o) | |||
@@ -439,7 +439,7 @@ | |||
(with-derivation-substitute d c | |||
(sha256 => (make-bytevector 32 0)) ;select a hash that doesn't match C | |||
;; Make sure we use `substitute-binary'. | |||
;; Make sure we use 'guix substitute'. | |||
(set-build-options s | |||
#:use-substitutes? #t | |||
#:fallback? #f) | |||
@@ -464,9 +464,9 @@ | |||
#:guile-for-build | |||
(package-derivation s %bootstrap-guile (%current-system)))) | |||
(o (derivation->output-path d))) | |||
;; Create fake substituter data, to be read by `substitute-binary'. | |||
;; Create fake substituter data, to be read by 'guix substitute'. | |||
(with-derivation-narinfo d | |||
;; Make sure we use `substitute-binary'. | |||
;; Make sure we use 'guix substitute'. | |||
(set-build-options s #:use-substitutes? #t) | |||
(and (has-substitutes? s o) | |||
(guard (c ((nix-protocol-error? c) | |||
@@ -1,6 +1,6 @@ | |||
;;; GNU Guix --- Functional package management for GNU | |||
;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org> | |||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> | |||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> | |||
;;; | |||
;;; This file is part of GNU Guix. | |||
;;; | |||
@@ -17,8 +17,8 @@ | |||
;;; You should have received a copy of the GNU General Public License | |||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |||
(define-module (test-substitute-binary) | |||
#:use-module (guix scripts substitute-binary) | |||
(define-module (test-substitute) | |||
#:use-module (guix scripts substitute) | |||
#:use-module (guix base64) | |||
#:use-module (guix hash) | |||
#:use-module (guix serialization) | |||
@@ -95,7 +95,7 @@ version identifier.." | |||
(test-begin "substitute-binary") | |||
(test-begin "substitute") | |||
(test-quit "not a number" | |||
"signature version" | |||
@@ -156,7 +156,7 @@ a file for NARINFO." | |||
(cute write-file | |||
(string-append narinfo-directory "/example.out") <>)) | |||
(set! (@@ (guix scripts substitute-binary) | |||
(set! (@@ (guix scripts substitute) | |||
%allow-unauthenticated-substitutes?) | |||
#f)) | |||
thunk | |||
@@ -166,8 +166,8 @@ a file for NARINFO." | |||
(define-syntax-rule (with-narinfo narinfo body ...) | |||
(call-with-narinfo narinfo (lambda () body ...))) | |||
;; Transmit these options to 'guix substitute-binary'. | |||
(set! (@@ (guix scripts substitute-binary) %cache-url) | |||
;; Transmit these options to 'guix substitute'. | |||
(set! (@@ (guix scripts substitute) %cache-url) | |||
(getenv "GUIX_BINARY_SUBSTITUTE_URL")) | |||
(test-equal "query narinfo without signature" | |||
@@ -180,7 +180,7 @@ a file for NARINFO." | |||
(with-input-from-string (string-append "have " (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
(lambda () | |||
(guix-substitute-binary "--query")))))))) | |||
(guix-substitute "--query")))))))) | |||
(test-equal "query narinfo with invalid hash" | |||
;; The hash in the signature differs from the hash of %NARINFO. | |||
@@ -195,7 +195,7 @@ a file for NARINFO." | |||
(with-input-from-string (string-append "have " (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
(lambda () | |||
(guix-substitute-binary "--query")))))))) | |||
(guix-substitute "--query")))))))) | |||
(test-equal "query narinfo signed with authorized key" | |||
(string-append (%store-prefix) "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
@@ -209,7 +209,7 @@ a file for NARINFO." | |||
(with-input-from-string (string-append "have " (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
(lambda () | |||
(guix-substitute-binary "--query")))))))) | |||
(guix-substitute "--query")))))))) | |||
(test-equal "query narinfo signed with unauthorized key" | |||
"" ; not substitutable | |||
@@ -225,15 +225,15 @@ a file for NARINFO." | |||
(with-input-from-string (string-append "have " (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
(lambda () | |||
(guix-substitute-binary "--query")))))))) | |||
(guix-substitute "--query")))))))) | |||
(test-quit "substitute, no signature" | |||
"lacks a signature" | |||
(with-narinfo %narinfo | |||
(guix-substitute-binary "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"foo"))) | |||
(guix-substitute "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"foo"))) | |||
(test-quit "substitute, invalid hash" | |||
"hash" | |||
@@ -241,10 +241,10 @@ a file for NARINFO." | |||
(with-narinfo (string-append %narinfo "Signature: " | |||
(signature-field "different body") | |||
"\n") | |||
(guix-substitute-binary "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"foo"))) | |||
(guix-substitute "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"foo"))) | |||
(test-quit "substitute, unauthorized key" | |||
"unauthorized" | |||
@@ -253,10 +253,10 @@ a file for NARINFO." | |||
%narinfo | |||
#:public-key %wrong-public-key) | |||
"\n") | |||
(guix-substitute-binary "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"foo"))) | |||
(guix-substitute "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"foo"))) | |||
(test-equal "substitute, authorized key" | |||
"Substitutable data." | |||
@@ -265,15 +265,15 @@ a file for NARINFO." | |||
(dynamic-wind | |||
(const #t) | |||
(lambda () | |||
(guix-substitute-binary "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"substitute-retrieved") | |||
(guix-substitute "--substitute" | |||
(string-append (%store-prefix) | |||
"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") | |||
"substitute-retrieved") | |||
(call-with-input-file "substitute-retrieved" get-string-all)) | |||
(lambda () | |||
(false-if-exception (delete-file "substitute-retrieved")))))) | |||
(test-end "substitute-binary") | |||
(test-end "substitute") | |||
(exit (= (test-runner-fail-count (test-runner-current)) 0)) |