From unknown Wed Jun 18 23:08:10 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#78649 <78649@debbugs.gnu.org> To: bug#78649 <78649@debbugs.gnu.org> Subject: Status: (recursive? #t) doesn't seem to be part of the source hash Reply-To: bug#78649 <78649@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:08:10 +0000 retitle 78649 (recursive? #t) doesn't seem to be part of the source hash reassign 78649 guix submitter 78649 "nomike (they/them)" severity 78649 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri May 30 18:56:24 2025 Received: (at submit) by debbugs.gnu.org; 30 May 2025 22:56:25 +0000 Received: from localhost ([127.0.0.1]:52105 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uL8eG-0007dV-41 for submit@debbugs.gnu.org; Fri, 30 May 2025 18:56:24 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40076) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uL8eD-0007cY-48 for submit@debbugs.gnu.org; Fri, 30 May 2025 18:56:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uL8e7-0007ES-Gu for bug-guix@gnu.org; Fri, 30 May 2025 18:56:15 -0400 Received: from cyan.elm.relay.mailchannels.net ([23.83.212.47]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uL8e2-0002Rh-Fs for bug-guix@gnu.org; Fri, 30 May 2025 18:56:13 -0400 X-Sender-Id: dreamhost|x-authsender|nomike@nomike.com Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 5AE314E5B98 for ; Fri, 30 May 2025 22:56:07 +0000 (UTC) Received: from pdx1-sub0-mail-a225.dreamhost.com (trex-green-6.trex.outbound.svc.cluster.local [100.126.10.237]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 00FA54E57E3 for ; Fri, 30 May 2025 22:56:06 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1748645767; a=rsa-sha256; cv=none; b=tUgmvQesUccuyGeeidyPeRe9MKbvlgIhF6lDYxjBuhNyMOOwtIj1Xm8ZiexBgSbEX2/Bnh YDtaYZI63HoPlS/W9167hSusfYu56kw7JdnFBe/dZGH2BlTwutuDzTPDwLO8KnL6i1fa5+ a/90S8e726ks+ET798+R3ttdDofgiPLJZYQDwIQrMRTKIQz4l35ZDrsPhsBRV7eUJCLFYf sIpLLby8bqppaeqhkERd953gwWAFj4GYYfP3Qouho3B6IwsaZeb8XhNwHftFGLUdnOCSPp jY8x4xT0O9X9S5sRZ/ih2xxXithtZ4PkTLR31IhyIk3sf2ThUzH+piB6C6PIHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1748645767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:dkim-signature:autocrypt:autocrypt; bh=Xl8LW0o6y2/5/Z+mUapAMRtsrfMeLeLPZbnNHsn2eww=; b=xR5dmofRqKXLxBULaduBLM2TQgFghnM4ViOf740XzpfxuuDs2SdDuB1MUPFebRW7hQ2GLh dJIYKDgiOgOdm/8327B2qdZUwL5wv3ghY0FFqW3ZfxF+DNq6vz1GdSCWWl6QlnmJCD2ExQ 10ziffpeJwsILtf5Zd0SeVtXCDQFsJL8Z6P9mcYii5HkjtEsGDyU2rOxCval5e6jZxJN6r OwIZBDTOVJo4VKCheKU3Plo6GMWOydHVDF2yq+XUUFXqkRKrLjmQbRVsbOiIy0q7LlM5eb 8XZ9s3UwJ0JgwYcxviYkU6Pxhi5pgVRmBPiN0nZHpEz3jaqeT9fJv2WPCah9lw== ARC-Authentication-Results: i=1; rspamd-cc9cfccc-5vpz5; auth=pass smtp.auth=dreamhost smtp.mailfrom=nomike@nomike.com X-Sender-Id: dreamhost|x-authsender|nomike@nomike.com X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|nomike@nomike.com X-MailChannels-Auth-Id: dreamhost X-Wide-Eyed-Invention: 38f1daa316278bea_1748645767213_2873291327 X-MC-Loop-Signature: 1748645767213:766440223 X-MC-Ingress-Time: 1748645767212 Received: from pdx1-sub0-mail-a225.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.126.10.237 (trex/7.0.3); Fri, 30 May 2025 22:56:07 +0000 Received: from [10.31.0.156] (84-112-221-106.cable.dynamic.surfer.at [84.112.221.106]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nomike@nomike.com) by pdx1-sub0-mail-a225.dreamhost.com (Postfix) with ESMTPSA id 4b8JWB3QTTz3P for ; Fri, 30 May 2025 15:56:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nomike.com; s=dreamhost; t=1748645766; bh=Xl8LW0o6y2/5/Z+mUapAMRtsrfMeLeLPZbnNHsn2eww=; h=Date:To:From:Subject:Content-Type:Content-Transfer-Encoding; b=EjKM83Zr2U4bVmnQpyCqk/cBhKBm4w6a9mz1WHCrBcGms4RzY2PkDcxSQrwJvyLsE TrtrQVBDKCvf6lfiDPM28ST2bH11lDF11IQFCYyvEpgbT0ekDvT1ocDylf2kHYABnK iJCMBm0jss7nZyLusJBi/Db1+zrvUcqeq/8Q/Vxsz5ygBHUF/u8HjWnZCYu+3811RA LnOtaruD2Jjs7ecusW9tu+5XlDPikB6aCr+e1XTx2KX/QHhle7ONrP/LJjY+Av2opP 8PXlwvUkKVXnwVa7kcK7/fIgv+LZBbw1nL8qn11QhTTdGG8pGxg9wtqvFDpqmk32KG ikpqcpnC0oaZw== Message-ID: <331afb8a-fa7f-4935-b990-ebd6f5268b58@nomike.com> Date: Sat, 31 May 2025 00:56:03 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: bug-guix@gnu.org From: "nomike (they/them)" Subject: (recursive? #t) doesn't seem to be part of the source hash Autocrypt: addr=nomike@nomike.com; keydata= xjMEZ+8bGhYJKwYBBAHaRw8BAQdAnX/6ThbmnmGYDNklZjA0bz600QNUdP+ajuwTe4TVe4PN L25vbWlrZSBQb3N0bWFubiAodGhleS90aGVtKSA8bm9taWtlQG5vbWlrZS5jb20+wpkEExYK AEECGwMFCQWjmoACHgcCF4AWIQRDQfMGyihCx53NO0tbWPztpJIHVwUCZ+8vPgULCQgHAgIi AgYVCgkICwIEFgIDAQAKCRBbWPztpJIHV6A3APoCTSYs7uR0ZoxGMoEFdDUdgbdmPFNZSNoA 3J5js9FQwgD/UUGwD9PCILmGZTeyG1BmUUFIDshW/NlKtgzc38AeRQ3OOARn7xsaEgorBgEE AZdVAQUBAQdAQYFr4LDmq9tDyrJ1hmbnQ18nN/TEzmM+X0Dc84f+51UDAQgHwn4EGBYKACYW IQRDQfMGyihCx53NO0tbWPztpJIHVwUCZ+8bGgIbDAUJBaOagAAKCRBbWPztpJIHV549AQCo MLaLPJ8OhIRvEJkvS2nVEn+D/DKG7bxxbyvB5gwaqgEA3aVP643HUqWDp2u9q+57SCycExVI mOW3VG9jxDNJlAc= Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=23.83.212.47; envelope-from=nomike@nomike.com; helo=cyan.elm.relay.mailchannels.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) 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 From debbugs-submit-bounces@debbugs.gnu.org Sat May 31 06:13:23 2025 Received: (at 78649) by debbugs.gnu.org; 31 May 2025 10:13:23 +0000 Received: from localhost ([127.0.0.1]:55879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uLJDP-0001U4-3u for submit@debbugs.gnu.org; Sat, 31 May 2025 06:13:23 -0400 Received: from ditigal.xyz ([2a01:4f8:1c1b:6a1c::]:53016 helo=mail.ditigal.xyz) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uLJDK-0001TH-8W for 78649@debbugs.gnu.org; Sat, 31 May 2025 06:13:21 -0400 Received: by cerebrum (OpenSMTPD) with ESMTPSA id 7e93040b (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sat, 31 May 2025 10:13:10 +0000 (UTC) From: Rutherther To: 78649@debbugs.gnu.org Subject: Re: (recursive? #t) doesn't seem to be part of the source hash In-Reply-To: <331afb8a-fa7f-4935-b990-ebd6f5268b58@nomike.com> Date: Sat, 31 May 2025 12:13:08 +0200 Message-ID: <87v7phay17.fsf@ditigal.xyz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ditigal.xyz; i=@ditigal.xyz; q=dns/txt; s=20240917; t=1748686390; h=from : to : cc : subject : in-reply-to : date : message-id : mime-version : content-type : content-transfer-encoding : from; bh=qARculJpzgmEuCMpNg+3DRARG3xavyKJ8YXTc1pnoRQ=; b=LdD2n7Y9zTW2HDpD+whDXKPZDOK87C1Y8RhA5jzWsc9StSXG3I8YM57XIeb/j0lXT0Mfg yE1sb4MXMYWfRUGiS4Z9Rfn89RyThXOvZTMARfawSTzT2O3Sr+daSRFi/n71t2KXOdiLiqQ HTXonLTHgIuuFwXSWFSA6sM3qVDFN5s= X-Spam-Score: 2.5 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi nomike, > 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 >  à [...] Content analysis details: (2.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: ditigal.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.5 FROM_SUSPICIOUS_NTLD From abused NTLD X-Debbugs-Envelope-To: 78649 Cc: "nomike \(they/them\)" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.5 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi nomike, > 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 >  à [...] Content analysis details: (2.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: ditigal.xyz (xyz)] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 BULK_RE_SUSP_NTLD Precedence bulk and RE: from a suspicious TLD 0.5 FROM_SUSPICIOUS_NTLD From abused NTLD -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager DQpIaSBub21pa2UsDQoNCj4gSGkhDQo+IA0KPiBJJ20gY3VycmVudGx5IHdvcmtpbmcgb24gYSBw YWNrYWdlIGRlZmluaXRpb24gYW5kIGFnYWluIHN0dW1ibGVkIHVwb24gYW4gDQo+IGlzc3VlOg0K PiANCj4gSSBoYWQgdGhlIGZsYWcgYChyZWN1cnNpdmU/ICN0KWAgYWRkZWQgdG8gYHNvdXJjZWA6 DQo+IA0KPiBgYGBzY2hlbWUNCj4gIMOCwqDDgsKgw4LCoMOCwqDDgsKgIChzb3VyY2UNCj4gIMOC wqDDgsKgw4LCoMOCwqDDgsKgw4LCoCAob3JpZ2luDQo+ICDDgsKgw4LCoMOCwqDDgsKgw4LCoMOC wqDDgsKgw4LCoCAobWV0aG9kIGdpdC1mZXRjaCkNCj4gIMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LC oMOCwqDDgsKgICh1cmkgKGdpdC1yZWZlcmVuY2UNCj4gIMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LC oMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LCoMOCwqDDgsKgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNv bS9vcGVuc2NhZC9vcGVuc2NhZCIpDQo+ICDDgsKgw4LCoMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LC oMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LCoCAoY29tbWl0IGNvbW1pdCkNCj4gIMOCwqDDgsKgw4LC oMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LCoMOCwqDDgsKgIChyZWN1cnNpdmU/ ICN0KSkpDQo+ICDDgsKgw4LCoMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LCoCAoc2hhMjU2DQo+ICDD gsKgw4LCoMOCwqDDgsKgw4LCoMOCwqDDgsKgw4LCoMOCwqAgKGJhc2UzMiAiMWJrenJqanAwcXZm ZzdwajI0ajVwYTBpNnpqMHpzcWpiNXo0dzNsNnBqZGI1cTlpbjBxaSIpKQ0KPiAgw4LCoMOCwqDD gsKgw4LCoMOCwqDDgsKgw4LCoMOCwqAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl cnNpb24pKSkpDQo+IGBgYA0KPiANCj4gSSB0aGVuIHJlbW92ZWQgdGhlIHJlY3Vyc2l2ZSBmbGFn IGFuZCBjb250aW51ZWQgb24gd29ya2luZyBvbiBteSANCj4gcGFja2FnZSwgd2hpY2ggaXMgYmFz ZWQgb24gYSBjb21taXQtSUQgb2YgdGhlIHVwc3RyZWFtIHByb2plY3QuIE9uY2UgSSANCj4gc3dp dGNoZWQgdG8gYSBuZXdlciBjb21taXQsIEkgZ290IHN0cmFuZ2UgYnVpbGQgZXJyb3JzIGZyb20g Y21ha2UuIEkgDQo+IHN3aXRjaGVkIGJhY2sgdGhlIG9yaWdpbmFsIGNvbW1pdCwgZXZlcnl0aGlu ZyB3b3JrZWQgYWdhaW4uDQo+IEl0IHRvb2sgbWUgYSB3aGlsZSB0byByZW1lbWJlciwgdGhhdCBp biBzdWNoIGEgY2FzZSwgZ3VpeCBpcyBub3QgDQo+IHJlLWRvd25sb2FkaW5nIHRoZSBzb3VyY2Ug YXMgdGhlIHNvdXJjZSBoYXNoIGRvZXNuJ3QgY2hhbmdlLg0KPiANCj4gSU1ITyB0aGlzIGhhc2gg c2hvdWxkIGFsc28gY29udGFpbiBmbGFncyBsaWtlIHJlY3Vyc2l2ZS4NCj4gDQo+IFdoZW7DgsKg IGBnaXQgY2xvbmUgZm9vYCBpcyBjaGFuZ2VkIHRvIGBnaXQgY2xvbmUgLS1yZWN1cnNpdmUgZm9v YCB0aGUgDQo+IHNvdXJjZSBoYXMgb2J2aW91c2x5IGNoYW5nZWQgKHVubGVzcyB0aGUgcmVwbyBk b2Vzbid0IGhhdmUgc3VibW9kdWxlcyANCj4gcGVyaGFwcyksIHNvIGl0IGRvZXNuJ3QgbWFrZSBz ZW5zZSB0aGF0IHRoZSBzaGEyNTYgaGFzaCBzdGF5cyB0aGUgc2FtZS4NCj4gDQo+IElzIHRoaXMg c29tZXRoaW5nIHdlIGNhbiBhZGRyZXNzPw0KDQpJIGRvbid0IHRoaW5rIHNvLiBGb3IgRk9EIHRo ZSBzdG9yZSBwYXRoIGlzIGNyZWF0ZWQgZnJvbToNCi0gcGF0aCB0byBnbnUgc3RvcmUNCi0gaGFz aCBvZiB0aGUgZGVyaXZhdGlvbg0KLSBuYW1lIG9mIHRoZSBwYWNrYWdlDQoNClNvIHdoZW4gc3Bl YWtpbmcgYWJvdXQgb3JpZ2luLCB1cmkgZG9lc24ndCBtYXR0ZXIgYXQgYWxsLiBPbmx5IGZpbGUt bmFtZQ0KYW5kIHNoYTI1NiBkb2VzLg0KDQpUaGF0IG1lYW5zIGl0IGlzIHJlc3BvbnNpYmlsaXR5 IG9mIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGUgaGFzaCB0byBhIG5ldw0Kb25lIHdoZW4gbm90aGlu ZyBmcm9tIHRob3NlIGNoYW5nZXMsIGJ1dCB0aGUgc291cmNlIGlzIHN1cHBvc2VkIHRvDQpjaGFu Z2UuIEllLiBpZiBjb21taXQgaXMgY2hhbmdlZCB0byBkaWZmZXJlbnQgb25lIHdpdGhvdXQgaGF2 aW5nIGl0IGluDQp0aGUgZmlsZS1uYW1lLCBpZiByZWN1cnNpdmUgaXMgY2hhbmdlZC4uLg0KDQpX aGVuIHlvdSBjaGFuZ2UgdGhlIHNvdXJjZSwgYWxzbyBjaGFuZ2UgdGhlIGhhc2ggdG8gYSBjb3Jy ZWN0IG9uZSAob3IgYW4NCmludmFsaWQgb25lIGFuZCBsZXQgaXQgZmFpbCB0byB0ZWxsIHlvdSBu ZXcgaGFzaCkNCg0KPiANCj4gT3IgaXMgdGhpcyBhbiBpc3N1ZSBhcyBpdCB3b3VsZCBpbnZhbGlk YXRlIGFsbCBjdXJyZW50IHNvdXJjZSBoYXNoZXMgYXQgDQo+IG9uY2U/DQoNCkNoYW5nZSBsaWtl IGFkZGluZyB0aGUgdXJpIHRvIHRoZSBjcmVhdGlvbiBvZiB0aGUgaGFzaCB3b3VsZCBkZWZpbml0 ZWx5DQppbnZhbGlkYXRlIGFsbCBzb3VyY2UgaGFzaGVzLiBCdXQgaXQgaXMgZXhhY3RseSB0aGUg cG9pbnQgb2YgRk9EIHRvIG5vdA0KZGVwZW5kIG9uIHRoZSB1cmkuIElmIHVyaSBpcyBjaGFuZ2Vk LCBidXQgc2hhMjU2IHN0YXlzIHRoZSBzYW1lLCB0aGF0DQppbXBsaWVzIHRoZSBuZXcgdXJpIGlz IHN1cHBvc2VkIHRvIGZldGNoIHRoZSBzYW1lIHNvdXJjZSA9PiBubyBuZWVkIGZvcg0KYSByZWRv d25sb2FkLg0KIA0KPiANCj4gVGhhbmtzDQo+IA0KPiBub21pa2UNCg0KUnV0aGVydGhlcg0K From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 13 12:13:47 2025 Received: (at 78649) by debbugs.gnu.org; 13 Jun 2025 16:13:47 +0000 Received: from localhost ([127.0.0.1]:48638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uQ72D-0003mV-96 for submit@debbugs.gnu.org; Fri, 13 Jun 2025 12:13:46 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:60910) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uQ70x-0003b5-Cr for 78649@debbugs.gnu.org; Fri, 13 Jun 2025 12:12:41 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so30114365e9.1 for <78649@debbugs.gnu.org>; Fri, 13 Jun 2025 09:12:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749831136; x=1750435936; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=KNEaD5txKawu1StqV0Q8c+MXc1wlUr0xLTngUr5P9A0=; b=LBBBrabKWa/wtw2LuX50xENtsXhInGyqiHD6HZEpjNHsKlbYyuL0klYD1NLNI9PW1G K333sicqPOxWS0KhWgTG5J/suBaTDTQbe7Bqbf5XsC3X5+7SWYxaAWtocuo9AJqBb/5A bYC/dIrgduCY5v0u7WlLsfq5fOgXmRNIAD7VPlgTw01Svk3j6nI8T7hURY18SelIVG04 RV+JYjbfwU5LHsVdY9Apx5cDu4ZEINcyb6CkQfe/JAqPmPZ0AzluzdWKrP68eHYrvUNE Cl8iycJCugj8GAHZPte++2pCZPU19Xh3q2y9S8vlpjFHajeI9KPeAFwmIk5YwxDtJDRr XnQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749831136; x=1750435936; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=KNEaD5txKawu1StqV0Q8c+MXc1wlUr0xLTngUr5P9A0=; b=knIU1gcbbIRr8RYV3tgwIiEPPW91yScDBMbUGxBRaP6HKyWiMRd7NniqHhaiFOH66G RfhGFO32RSXW6duDldU6WePzPh3t7G7RpzQH4NpXsp+xyTNQVM2nFH5CXJEUdXafoic8 rpvNyAa/XhyzkCnkXwj8vzMRNyAm+kEFgCUo1hoZEDJmw2bF9X/CrYAlmYngQJF7ThPw EMk0ILD32MTRvC4M0upY8qR0rCk8W6IZMsDZSZpMbJQ6sGUnbijM18X4HQMUG4uv3pAq X11TLrCUnT/ZW36kEqGKFzhtzkOLsacbJXKS0FwhvYX09m3bosUGta9cJnk5fVZ4r1BK rsuw== X-Forwarded-Encrypted: i=1; AJvYcCWrUhqJ0dNCvoNCdA4RvhuGd9pA5/m3BhzE7lMHanryJXqa6jn+vmcTTGLXZ002GoLxcUzFXQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzUV+oAlVdy324QBL/W9+rvi2jZ3d3U57MQ3SoO3mx6z6MPGn1Z /DfWr1I2f71kCmZo6eNRdts+L9FO51LyLFsqZTM5PfOrRC08kkKdz56KoXhq6A== X-Gm-Gg: ASbGncuxTAT7JjzZCkzj6GMbQf8asUxCagSMQsOEUzz0+S7M6A3iEZKEl3PNgTS5j5A 8nGhNdJCy6vB9F93ZH0hNsDqMGjW5Ci4UZ1Zz0doCGBnXAkiqfxfuGBcCHAu6ufLYO/WnhUzm0U 6pPqHDlAOFKXyqf/lHhThSuITm/XIoi/U83BMegHkQ1x3FumH5kQENc+ws6bqFplCLzsz8XfSmA cTFbIb3aUoiFwFd/4S3DYNnXwfIcV6ppkvT6zy7PrVx+FgPi2aByALoWjPqZtyyAy1TExcRTEVY RRs2DlWUxgMrFPxNtSjpQEK96Q6QTYTYD2B9DpBjGnlpFoYWJW5JfFBsM6oCNueVGjywWLbIUdo 7snEwsbKlD4rsG7aX/0+AHJ4= X-Google-Smtp-Source: AGHT+IEh7dHWTPAXiN0aprinMh/jSibdtN9GqmTD3KRmx7qVs1LdarBbj1NuEEhsPnTEP2kNwJ7+fA== X-Received: by 2002:a05:600c:8288:b0:440:6a1a:d89f with SMTP id 5b1f17b1804b1-4533ca946e2mr2111095e9.4.1749831135847; Fri, 13 Jun 2025 09:12:15 -0700 (PDT) Received: from lili (nat-dsi-209.net.univ-paris-diderot.fr. [81.194.30.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4532e184724sm55896165e9.39.2025.06.13.09.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 09:12:15 -0700 (PDT) From: Simon Tournier To: "nomike (they/them)" , 78649@debbugs.gnu.org Subject: Re: bug#78649: (recursive? #t) doesn't seem to be part of the source hash In-Reply-To: <331afb8a-fa7f-4935-b990-ebd6f5268b58@nomike.com> References: <331afb8a-fa7f-4935-b990-ebd6f5268b58@nomike.com> Date: Fri, 13 Jun 2025 17:46:56 +0200 Message-ID: <87sek3myof.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78649 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, On Sat, 31 May 2025 at 00:56, "nomike (they/them)" wrot= e: > IMHO this hash should also contain flags like recursive. The hash contains the recursive flag. :-) As Rutherther said, the store item hash (path in /gnu/store) of the source of a package only depends on the checksum hash. It=E2=80=99s named a fixed-output derivation. Concretely, compare --8<---------------cut here---------------start------------->8--- Derive ([("out","/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-checkou= t","r:sha256","a8e5f0fca1addc3c9640605efe96ccba34084c2308b47a1bc6e2bed6bd34= 648b")] ,[] ,[] ,"x86_64-linux","builtin:git-download",[] ,[("commit","1.5.1_Linux") ,("impureEnvVars","http_proxy https_proxy LC_ALL LC_MESSAGES LANG COLUMN= S") ,("out","/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-check= out") ,("preferLocalBuild","1") ,("recursive?","#t") ,("url","\"https://github.com/meganz/MEGAcmd\"")]) --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- Derive ([("out","/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-checkou= t","r:sha256","a8e5f0fca1addc3c9640605efe96ccba34084c2308b47a1bc6e2bed6bd34= 648b")] ,[] ,[] ,"x86_64-linux","builtin:git-download",[] ,[("commit","1.5.1_Linux") ,("impureEnvVars","http_proxy https_proxy LC_ALL LC_MESSAGES LANG COLUMN= S") ,("out","/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-check= out") ,("preferLocalBuild","1") ,("recursive?","#f") ,("url","\"https://github.com/meganz/MEGAcmd\"")]) --8<---------------cut here---------------end--------------->8--- One have the flag recursive set to #t and the other to #f. But the path /gnu/store/dsngr=E2=80=A6-checkout is the same. That=E2=80=99s because the= hash =E2=80=99dsngr=E2=80=A6=E2=80=99 is computed using only the other hash =E2= =80=99a8e5f0fc=E2=80=A6=E2=80=99 =E2=80=93 which is another representation (hex format) of the checksum integrity (nix-base32 format): (sha256 (base32 "12v46jyxdgp2qqdpmd084d60hd5srjbgwpk082b3rp5dl7yg1rd8")) One way to see it: --8<---------------cut here---------------start------------->8--- $ guix hash -S nar -H sha256 -f hex $(guix build -S megacmd) a8e5f0fca1addc3c9640605efe96ccba34084c2308b47a1bc6e2bed6bd34648b $ guix hash -S nar -H sha256 -f nix-base32 $(guix build -S megacmd) 12v46jyxdgp2qqdpmd084d60hd5srjbgwpk082b3rp5dl7yg1rd8 --8<---------------cut here---------------end--------------->8--- Therefore, if you change the recursive flag without changing the integrity checksum, then indeed you might have bad surprise. An example: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build -S megacmd=20 /gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-checkout $ git --no-pager diff -- gnu/packages/sync.scm diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index e0369f32e13..dd45249cee3 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -231,7 +231,7 @@ (define-public megacmd (uri (git-reference (url "https://github.com/meganz/MEGAcmd") (commit (string-append version "_Linux")) - (recursive? #t))) + (recursive? #f))) (sha256 (base32 "12v46jyxdgp2qqdpmd084d60hd5srjbgwpk082b3rp5dl7yg1rd8")) $ ./pre-inst-env guix build -S megacmd=20 ;;; note: source file /home/simon/src/guix/guix/gnu/packages/sync.scm ;;; newer than compiled /home/simon/src/guix/guix/gnu/packages/sync.go ;;; note: source file /home/simon/src/guix/guix/gnu/packages/sync.scm ;;; newer than compiled /home/simon/.guix-profile/lib/guile/3.0/site-= ccache/gnu/packages/sync.go /gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-checkout --8<---------------cut here---------------end--------------->8--- The recursive flag might appear ineffective but it=E2=80=99s just because G= uix does not recompute all. As Rutherther said: =C2=AB That means it is responsibility of the user to change the hash to a new one =C2=BB. :-) Well, you see it when using the option --check. --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build -S megacmd /gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-checkout $ ./pre-inst-env guix build -S megacmd --check The following derivation will be built: /gnu/store/58pgh0lqy4mw99hxhwi3wbxsaykqi3hy-megacmd-1.5.1-checkout.drv building /gnu/store/58pgh0lqy4mw99hxhwi3wbxsaykqi3hy-megacmd-1.5.1-checkout= .drv... Initialized empty Git repository in /gnu/store/1f254hay097h781ildhp498id55m= j1pf-megacmd-1.5.1-checkout/.git/ >From https://github.com/meganz/MEGAcmd [...] HEAD is now at 7886433 Remove unneded Qt plugins Submodule 'sdk' (https://github.com/meganz/sdk.git) registered for path 'sd= k' Cloning into '/gnu/store/1f254hay097h781ildhp498id55mj1pf-megacmd-1.5.1-che= ckout/sdk'... Submodule path 'sdk': checked out 'a1d391d6a9b747892e8033d60ce1f795d181df3c' warning: rewriting hashes in `/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-m= egacmd-1.5.1-checkout'; cross fingers successfully built /gnu/store/58pgh0lqy4mw99hxhwi3wbxsaykqi3hy-megacmd-1.5.= 1-checkout.drv /gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-megacmd-1.5.1-checkout $ git --no-pager diff -- gnu/packages/sync.scm diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index e0369f32e13..dd45249cee3 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -231,7 +231,7 @@ (define-public megacmd (uri (git-reference (url "https://github.com/meganz/MEGAcmd") (commit (string-append version "_Linux")) - (recursive? #t))) + (recursive? #f))) (sha256 (base32 "12v46jyxdgp2qqdpmd084d60hd5srjbgwpk082b3rp5dl7yg1rd8")) $ ./pre-inst-env guix build -S megacmd --check ;;; note: source file /home/simon/src/guix/guix/gnu/packages/sync.scm ;;; newer than compiled /home/simon/src/guix/guix/gnu/packages/sync.go ;;; note: source file /home/simon/src/guix/guix/gnu/packages/sync.scm ;;; newer than compiled /home/simon/.guix-profile/lib/guile/3.0/site-= ccache/gnu/packages/sync.go The following derivation will be built: /gnu/store/h8kbb614pqm0385mhvwa54bszssx2wid-megacmd-1.5.1-checkout.drv building /gnu/store/h8kbb614pqm0385mhvwa54bszssx2wid-megacmd-1.5.1-checkout= .drv... Initialized empty Git repository in /gnu/store/1krjpms2pwp1p4269fg3jzdpg3p4= 5h8h-megacmd-1.5.1-checkout/.git/ >From https://github.com/meganz/MEGAcmd [...] HEAD is now at 7886433 Remove unneded Qt plugins warning: rewriting hashes in `/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-m= egacmd-1.5.1-checkout'; cross fingers r:sha256 hash mismatch for /gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-mega= cmd-1.5.1-checkout: expected hash: 12v46jyxdgp2qqdpmd084d60hd5srjbgwpk082b3rp5dl7yg1rd8 actual hash: 0in141v0lqgy5ywi00c8bg0c7yisxrnmmfyafc5gam0dl21wybvj hash mismatch for store item '/gnu/store/dsngrwg5li7byxfr5bagn8m8yzhalw4d-m= egacmd-1.5.1-checkout' build of /gnu/store/h8kbb614pqm0385mhvwa54bszssx2wid-megacmd-1.5.1-checkout= .drv failed Could not find build log for '/gnu/store/h8kbb614pqm0385mhvwa54bszssx2wid-m= egacmd-1.5.1-checkout.drv'. guix build: error: build of `/gnu/store/h8kbb614pqm0385mhvwa54bszssx2wid-me= gacmd-1.5.1-checkout.drv' failed --8<---------------cut here---------------end--------------->8--- As you see with the line: Submodule path 'sdk': checked out 'a1d391d6a9b747892e8033d60ce1f795d181= df3c' it runs =E2=80=9Cgit clone --recurse-submodules=E2=80=9D. :-) For example, if you have another package inheriting =E2=80=99megacmd=E2=80= =99 but setting the recursive flag to #f $ git --no-pager diff -- gnu/packages/sync.scm diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index e0369f32e13..4b1a8d34074 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -269,6 +269,23 @@ (define-public megacmd distributions.") (license (list license:bsd-2 license:gpl3+)))) +(define-public megacmd-bis + (package + (inherit megacmd) + (name "megacmd-bis") + (version "1.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/meganz/MEGAcmd") + (commit (string-append version "_Linux")) + (recursive? #f))) + (sha256 + (base32 + "0in141v0lqgy5ywi00c8bg0c7yisxrnmmfyafc5gam0dl21wybvj")) + (file-name (git-file-name name version)))))) Then, you will see that: --8<---------------cut here---------------start------------->8--- $ ls -a $(guix build -S megacmd)/sdk/ . .gitlab CREDITS.md Makefile.win32 bindings contrib includ= e m4 tests .. .travis.yml LICENSE README.md clean.sh doc libmega.pc.in= patches third_party .gitignore CMakeLists.txt Makefile.am autogen.sh configure.ac examples= logo.png src $ ls -a $(./pre-inst-env guix build -S megacmd-bis)/sdk/ . .. --8<---------------cut here---------------end--------------->8--- When using the recursive flag to #t, the submodule is there and the content is part of the integrity checksum, while the other is not. HTH. Cheers, simon