[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#43893: [PATCH] maint: update-guix-package: Ensure sources are clean.
From: |
Danny Milosavljevic |
Subject: |
bug#43893: [PATCH] maint: update-guix-package: Ensure sources are clean. |
Date: |
Sat, 10 Oct 2020 23:14:16 +0200 |
Hi Ludo,
On Sat, 10 Oct 2020 22:08:19 +0200
Ludovic Courtès <ludo@gnu.org> wrote:
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
> > #FIXME: This doesn't work (recursion?)
> > ./pre-inst-env guix build guix --with-git-url=guix=file://$PWD
>
> Works for me, please open a separate bug report. :-)
Doesn't work for me on x86_64, using a checkout of guix at commit
93d3cfec32bbbe1dfbe0be686b371973545b35b8.
$ guix environment --pure guix --ad-hoc git guile-readline guile-json nano
guile-zlib guile-lzlib bash -- ./pre-inst-env guix build guix
--with-git-url=guix=file://$PWD
I get:
[...]
updating checkout of 'file:///home/dannym/src/guix-master/guix'...
retrieved commit 93d3cfec32bbbe1dfbe0be686b371973545b35b8
[...]
test-name: channel-instances->manifest
location:
/tmp/guix-build-guix-1.1.0-30.5918cb5.drv-0/source/tests/channels.scm:233
source:
+ (test-assert
+ "channel-instances->manifest"
+ (let* ((spec (lambda deps
+ `(channel
+ (version 0)
+ (dependencies
+ ,@(map (lambda (dep)
+ `(channel
+ (name ,dep)
+ (url "http://example.org")))
+ deps)))))
+ (guix (make-instance #:name 'guix))
+ (instance0 (make-instance #:name 'a))
+ (instance1
+ (make-instance #:name 'b #:spec (spec 'a)))
+ (instance2
+ (make-instance #:name 'c #:spec (spec 'b)))
+ (instance3
+ (make-instance #:name 'd #:spec (spec 'c 'a))))
+ (%graft? #f)
+ (let ((source (channel-instance-checkout guix)))
+ (mkdir (string-append source "/build-aux"))
+ (call-with-output-file
+ (string-append
+ source
+ "/build-aux/build-self.scm")
+ (lambda (port)
+ (write '(begin
+ (use-modules (guix) (gnu packages bootstrap))
+ (lambda _ (package->derivation %bootstrap-guile)))
+ port))))
+ (with-store
+ store
+ (let ()
+ (define manifest
+ (run-with-store
+ store
+ (channel-instances->manifest
+ (list guix
+ instance0
+ instance1
+ instance2
+ instance3))))
+ (define entries (manifest-entries manifest))
+ (define (depends? drv in out)
+ (let ((set (list->set
+ (requisites
+ store
+ (list (derivation-file-name drv)))))
+ (in (map derivation-file-name in))
+ (out (map derivation-file-name out)))
+ (and (every (cut set-contains? set <>) in)
+ (not (any (cut set-contains? set <>) out)))))
+ (define (lookup name)
+ (run-with-store
+ store
+ (lower-object
+ (manifest-entry-item
+ (manifest-lookup
+ manifest
+ (manifest-pattern (name name)))))))
+ (let ((drv-guix (lookup "guix"))
+ (drv0 (lookup "a"))
+ (drv1 (lookup "b"))
+ (drv2 (lookup "c"))
+ (drv3 (lookup "d")))
+ (and (depends?
+ drv-guix
+ '()
+ (list drv0 drv1 drv2 drv3))
+ (depends? drv0 (list) (list drv1 drv2 drv3))
+ (depends? drv1 (list drv0) (list drv2 drv3))
+ (depends? drv2 (list drv1) (list drv3))
+ (depends? drv3 (list drv2 drv0) (list))))))))
actual-value: #f
actual-error:
+ (wrong-type-arg
+ "struct-vtable"
+ "Wrong type argument in position 1 (expecting struct): ~S"
+ (#f)
+ (#f))
result: FAIL
[...]
command "make" "check" failed with status 2
builder for
`/gnu/store/csagsyh01rq7ilqkcpaa2d7vp1bn41w3-guix-1.1.0-30.5918cb5.drv' failed
with exit code 1
build of /gnu/store/csagsyh01rq7ilqkcpaa2d7vp1bn41w3-guix-1.1.0-30.5918cb5.drv
failed
View build log at
'/var/log/guix/drvs/cs/agsyh01rq7ilqkcpaa2d7vp1bn41w3-guix-1.1.0-30.5918cb5.drv.bz2'.
guix build: error: build of
`/gnu/store/csagsyh01rq7ilqkcpaa2d7vp1bn41w3-guix-1.1.0-30.5918cb5.drv' failed
I didn't even RUN update-guix-package or apply this patch--and the above still
fails.
This is reproducible every time--both on my laptop and on a x86_64 build host.
So I'm confused how there's a substitute for the package "guix" available. How
was it built? O_o.
pgp0dZujWj8lW.pgp
Description: OpenPGP digital signature
- bug#43893: make update-guix-package produced an incorrect hash, Maxim Cournoyer, 2020/10/09
- bug#43893: make update-guix-package produced an incorrect hash, Danny Milosavljevic, 2020/10/09
- bug#43893: [PATCH] maint: update-guix-package: Ensure sources are clean., Maxim Cournoyer, 2020/10/10
- bug#43893: [PATCH] maint: update-guix-package: Ensure sources are clean., Maxim Cournoyer, 2020/10/11
- bug#43893: [PATCH] maint: update-guix-package: Ensure sources are clean., Ludovic Courtès, 2020/10/12
- bug#43893: [PATCH] maint: update-guix-package: Ensure sources are clean., Maxim Cournoyer, 2020/10/12
bug#43893: [PATCH v2] maint: update-guix-package: Prevent accidentally breaking guix pull., Maxim Cournoyer, 2020/10/11