Rename 'guix substitute-binary' to 'guix substitute'.
* 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.master
parent
c3a450fb49
commit
2c74fde00e
|
@ -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))
|
Reference in New Issue