Browse Source

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.
gn-latest-20200428
Ludovic Courtès 5 years ago
parent
commit
2c74fde00e
12 changed files with 60 additions and 60 deletions
  1. +1
    -1
      .gitignore
  2. +2
    -2
      Makefile.am
  3. +2
    -2
      config-daemon.ac
  4. +1
    -1
      daemon.am
  5. +6
    -6
      guix/scripts/substitute.scm
  6. +2
    -2
      guix/tests.scm
  7. +1
    -1
      guix/ui.scm
  8. +0
    -11
      nix/scripts/substitute-binary.in
  9. +11
    -0
      nix/scripts/substitute.in
  10. +1
    -1
      pre-inst-env.in
  11. +5
    -5
      tests/store.scm
  12. +28
    -28
      tests/substitute.scm

+ 1
- 1
.gitignore View File

@@ -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


+ 2
- 2
Makefile.am View File

@@ -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 \


+ 2
- 2
config-daemon.ac View File

@@ -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],


+ 1
- 1
daemon.am View File

@@ -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



guix/scripts/substitute-binary.scm → guix/scripts/substitute.scm View File

@@ -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

+ 2
- 2
guix/tests.scm View File

@@ -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))))


+ 1
- 1
guix/ui.scm View File

@@ -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"))


+ 0
- 11
nix/scripts/substitute-binary.in View File

@@ -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

+ 11
- 0
nix/scripts/substitute.in View File

@@ -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

+ 1
- 1
pre-inst-env.in View File

@@ -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'



+ 5
- 5
tests/store.scm View File

@@ -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)


tests/substitute-binary.scm → tests/substitute.scm View File

@@ -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))

Loading…
Cancel
Save