GNU bug report logs -
#78649
(recursive? #t) doesn't seem to be part of the source hash
Previous Next
Full log
View this message in rfc822 format
Hi!
I'm currently working on a package definition and again stumbled upon an
issue:
I had the flag `(recursive? #t)` added to `source`:
```scheme
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openscad/openscad")
(commit commit)
(recursive? #t)))
(sha256
(base32 "1bkzrjjp0qvfg7pj24j5pa0i6zj0zsqjb5z4w3l6pjdb5q9in0qi"))
(file-name (git-file-name name version))))
```
I then removed the recursive flag and continued on working on my
package, which is based on a commit-ID of the upstream project. Once I
switched to a newer commit, I got strange build errors from cmake. I
switched back the original commit, everything worked again.
It took me a while to remember, that in such a case, guix is not
re-downloading the source as the source hash doesn't change.
IMHO this hash should also contain flags like recursive.
When `git clone foo` is changed to `git clone --recursive foo` the
source has obviously changed (unless the repo doesn't have submodules
perhaps), so it doesn't make sense that the sha256 hash stays the same.
Is this something we can address?
Or is this an issue as it would invalidate all current source hashes at
once?
Thanks
nomike
This bug report was last modified 4 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.