Hi, On Thu, 14 Sep 2023 at 18:46, Simon Tournier <[email protected]> wrote:
> $ guix hash -rx $(guix build > /gnu/store/8gxx74w8pa0fx74lx1ka654rhyyr51cs-fastqc-0.11.9-checkout.drv) > 0jyk90kg6s62w3dn6qjx9nrawjs12qx172lii0yxbvsfylhnx479 > > Oh, it is not the expected result! Instead, I have to omit the option > ’-x’: > > $ guix hash -r $(guix build > /gnu/store/8gxx74w8pa0fx74lx1ka654rhyyr51cs-fastqc-0.11.9-checkout.drv) > 00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk [...] > $ git clone https://github.com/s-andrews/FastQC > $ git -C FastQC checkout v0.11.9 > $ guix hash -rx FastQC > 0jyk90kg6s62w3dn6qjx9nrawjs12qx172lii0yxbvsfylhnx479 [...] > $ mv FastQC/.git bye-bye > $ guix hash -r FastQC > 00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk [...] > Any idea? The issue is from .svn folders. --8<---------------cut here---------------start------------->8--- $ find $(guix build /gnu/store/8gxx74w8pa0fx74lx1ka654rhyyr51cs-fastqc-0.11.9-checkout.drv) \ -type d -name ".svn" -print /gnu/store/5dyvjgylwiixhp8z9a08rnddh53h4cdx-fastqc-0.11.9-checkout/Help/1 Introduction/.svn /gnu/store/5dyvjgylwiixhp8z9a08rnddh53h4cdx-fastqc-0.11.9-checkout/Help/3 Analysis Modules/.svn /gnu/store/5dyvjgylwiixhp8z9a08rnddh53h4cdx-fastqc-0.11.9-checkout/Help/2 Basic Operations/.svn --8<---------------cut here---------------end--------------->8--- The option ’-x’ excludes them; see vcs-file? from (guix hash) module, and let confirm: $ git clone https://github.com/s-andrews/FastQC $ git -C FastQC checkout v0.11.9 $ guix hash -rx FastQC 0jyk90kg6s62w3dn6qjx9nrawjs12qx172lii0yxbvsfylhnx479 $ find FastQC -type d -name ".svn" -exec rm -r "{}" \; $ mv FastQC/.git bye-bye $ guix hash -r FastQC 0jyk90kg6s62w3dn6qjx9nrawjs12qx172lii0yxbvsfylhnx479 Therefore, we have a discrepancy between “guix hash” command-line and checksum verification from ’source’ field. The package definition reads: (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/s-andrews/FastQC") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk")) when this hash contains .svn subfolders that are excluded by ’-x’ command-line option. What do we fix? The procedure vcs-file? or fixed-output computation? Cheers, simon
