GNU bug report logs - #78649
(recursive? #t) doesn't seem to be part of the source hash

Previous Next

Package: guix;

Reported by: "nomike (they/them)" <nomike <at> nomike.com>

Date: Fri, 30 May 2025 22:57:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim <at> guixotic.coop>

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Maxim Cournoyer <maxim <at> guixotic.coop>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#78649: closed ((recursive? #t) doesn't seem to be part of the
 source hash)
Date: Sat, 26 Jul 2025 12:27:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 26 Jul 2025 21:25:51 +0900
with message-id <87h5yz87g0.fsf <at> guixotic.coop>
and subject line Re: bug#78649: (recursive? #t) doesn't seem to be part of the source hash
has caused the debbugs.gnu.org bug report #78649,
regarding (recursive? #t) doesn't seem to be part of the source hash
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
78649: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78649
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "nomike (they/them)" <nomike <at> nomike.com>
To: bug-guix <at> gnu.org
Subject: (recursive? #t) doesn't seem to be part of the source hash
Date: Sat, 31 May 2025 00:56:03 +0200
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




[Message part 3 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim <at> guixotic.coop>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: 78649-done <at> debbugs.gnu.org, "nomike \(they/them\)" <nomike <at> nomike.com>
Subject: Re: bug#78649: (recursive? #t) doesn't seem to be part of the
 source hash
Date: Sat, 26 Jul 2025 21:25:51 +0900
Hi,

Thoroughly answered by Simon :-).

Closing.

-- 
Thanks,
Maxim


This bug report was last modified 26 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.