mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Revert "publish: Prevent publication of non-substitutable derivation outputs."
Fixes guix/guix#2450.
This reverts commit b5745a327e
, which introduced
discrepancies in how substitutes are served; in particular, narinfos of
non-substitutable items would still be served, and likewise for narinfos and
nars of dependents of non-substitutable items.
This commit is contained in:
parent
2a42babb2b
commit
e1cf791ddd
2 changed files with 2 additions and 23 deletions
|
@ -61,7 +61,6 @@
|
|||
#:use-module (guix cache)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix scripts)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module ((guix utils)
|
||||
#:select (with-atomic-file-output compressed-file?))
|
||||
#:use-module ((guix build utils)
|
||||
|
@ -694,14 +693,11 @@ requested using POOL."
|
|||
(define* (render-nar store request store-item
|
||||
#:key (compression %no-compression))
|
||||
"Render archive of the store path corresponding to STORE-ITEM."
|
||||
(let* ((store-path (string-append %store-directory "/" store-item))
|
||||
(derivations (map read-derivation-from-file
|
||||
(valid-derivers store store-path)))
|
||||
(substitutable? (every substitutable-derivation? derivations)))
|
||||
(let ((store-path (string-append %store-directory "/" store-item)))
|
||||
;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will
|
||||
;; interpret the byte stream as UTF-8 and arbitrarily change invalid byte
|
||||
;; sequences.
|
||||
(if (and substitutable? (valid-path? store store-path))
|
||||
(if (valid-path? store store-path)
|
||||
(values `((content-type . (application/x-nix-archive
|
||||
(charset . "ISO-8859-1")))
|
||||
(x-nar-compression . ,compression))
|
||||
|
|
|
@ -425,23 +425,6 @@ FileSize: ~a~%"
|
|||
(display "This file is not a valid store item." port)))
|
||||
(response-code (http-get (publish-uri (string-append "/nar/invalid"))))))
|
||||
|
||||
(test-equal "non-substitutable derivation"
|
||||
404
|
||||
(let* ((non-substitutable
|
||||
(run-with-store %store
|
||||
(gexp->derivation "non-substitutable"
|
||||
#~(begin
|
||||
(mkdir #$output)
|
||||
(chdir #$output)
|
||||
(call-with-output-file "foo.txt"
|
||||
(lambda (port)
|
||||
(display "bar" port))))
|
||||
#:substitutable? #f)))
|
||||
(item (derivation->output-path non-substitutable)))
|
||||
(build-derivations %store (list non-substitutable))
|
||||
(response-code (http-get (publish-uri
|
||||
(string-append "/nar/" (basename item)))))))
|
||||
|
||||
(test-equal "/file/NAME/sha256/HASH"
|
||||
"Hello, Guix world!"
|
||||
(let* ((data "Hello, Guix world!")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue