From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id COBZCXr1kWR1bwEASxT56A (envelope-from ) for ; Tue, 20 Jun 2023 20:52:42 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id oHePCHr1kWSgdwEAG6o9tA (envelope-from ) for ; Tue, 20 Jun 2023 20:52:42 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E27F92C021 for ; Tue, 20 Jun 2023 20:52:41 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qBgSZ-0002fj-Ea; Tue, 20 Jun 2023 14:52:11 -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 1qBgSY-0002fR-5L for guix-devel@gnu.org; Tue, 20 Jun 2023 14:52:10 -0400 Received: from knopi.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qBgSV-0006xo-S3 for guix-devel@gnu.org; Tue, 20 Jun 2023 14:52:09 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 892D3402F3; Tue, 20 Jun 2023 20:52:04 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NbI6PS40O30S; Tue, 20 Jun 2023 20:52:03 +0200 (CEST) References: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1687287123; bh=2dYp0jhyXTyZt4qf7fBMjv28BGZGOqGW7IZN6rmSPEw=; h=References:From:To:Cc:Subject:Date:In-reply-to; b=JUZ2WvmG57gKJeZ/sozpxUbLs/Oz0b1Fg5mR7FsethYNyz6PkZp+gLHm17bdo5J2G 3h/h3crOyMeBCW5nFDvMefaV+b7+d6esBGhu++O53GAFwqX/IgJptSQmlEFp/JjFsC GgB17i5XKjUOR6oNd9yjogVp3iMk5jy5mbMFSWKTrhamCtCe/pPRNGHmcYWtOSDL/+ 0eSvSr6xEnn1UKu+6q49Try9qlYb+M4pWuzQgExL+oZXeTq9Cc5A5yHMRAYbb+aa3W w6d9NwvuE6lInTKttq8Eq7lh3dwe4pLty82uLJQ/pP48wY+ou8azmm0IVzCMF8mCGv MSmy3H4XmYfiw== From: "(" To: Felix Lechner Cc: guix-devel@gnu.org Subject: Re: Using (recursive #t) in (origin git-reference) Date: Tue, 20 Jun 2023 19:40:09 +0100 In-reply-to: Message-ID: <87v8fi55m9.fsf@disroot.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=178.21.23.139; envelope-from=paren@disroot.org; helo=knopi.disroot.org 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1687287161; a=rsa-sha256; cv=none; b=gQ0P+V9mrXM+6GSx1cqPYUehBvmiTgTUG9kEkkxnDI2yBT8zN7AgzUaQYpD9SxAH9xZZpK pjNIPczbdgiGqR+Ar44TIymEMpAW/G3Xb6q2LFdO+J1XdsWy5Cbw091AfU4/5yEj7wMw27 WXza/RgXqKK1LfYsuKipv1ds2/4htFo9tPUjcQY+sJfokla+LlqCgjZXO4VFPdUhvuUkeQ 7x2E9vIGntRljv7Nads8tNfb4UT+MYgXwNTZaCdR7VlA0dHylZt9SjpBGDkh+d2DsI6U7Z SWBHL4JNDd5Jf5zS/DpRCO8GdFYkx5ftS+iM7o3h2JHr9j5H738CabHMOFWRwA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=JUZ2WvmG; dmarc=pass (policy=reject) header.from=disroot.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1687287161; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=dMZA9DwvcFkI6tgoA/LEWxWpAG6rzYK0Qf3fscV9iUM=; b=mpaRjV844ebKqhKsAEbrKPYRoCWmomESw3QtVrO9GFITMdNbHu90xd0hVWkAEoO5yrzxIH 6B/awAMNsgTyozu5dUJAJX4wom1wfPUK9M7ceUvUMxxdAcTWxpI9aXQi0xVem+629luAIa uRW+6Tz5x/aYICus/y+mE+s7qOEtKkGPEsNnoYLxx8FAgdNiaASqzfCH6aL1QrozulV3KM SsLcWyG7/eKDMPYssOPIQS4DbNlu3NAOyCMxPwCDJZq9RwRI1bJt5nBp/aSiaZlkph7kzZ k2ZpnSMtGWYcRjuKXa9CVAe+QlkWdMu6qdTWJg5nFzeZXgMubMbuWX9pYfm7Aw== Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=JUZ2WvmG; dmarc=pass (policy=reject) header.from=disroot.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -7.92 X-Spam-Score: -7.92 X-Migadu-Queue-Id: E27F92C021 X-TUID: GUtguNU8s5BX Felix Lechner via "Development of GNU Guix and the GNU System distribution.= " writes: > Is there a trick to fetching Git submodules with (recursive? #t)? It > does not seem to work with the package definition below. > > The code uses Ekaitz's proposed Zig build system. [1] Thank you! Not sure whether or not you've already done this, but when you're doing ``(recursive? #t)'' the hash will be for the source code with submodules checked out, so you need to fetch them all in your ``git clone'' before doing ``guix hash -rx .''. (If you've already tried building it without the RECURSIVE?, then this issue will go unnoticed, as the derivation paths for these two objects: (origin (method git-fetch) (uri (git-reference (url "=E2=80=A6") (commit (string-append "v" version)))) =E2=80=A6) (origin (method git-fetch) (uri (git-reference (url "=E2=80=A6") (commit (string-append "v" version)) (recursive? #t))) =E2=80=A6) are *exactly the same*, as the output path is the hash, followed by a dash, followed by whatever's given in FILE-NAME. Thus, they are treated as exactly the same object, making rebuilding pointless in Guix's eyes, because you've already got that "same" output in your store from the first build without RECURSIVE?. This is also, funnily enough, why it's not a great idea to first copy another origin's hash, then try to build, in the hopes of getting the actual hash from the "expected hash: =E2=80=A6" message; if you haven't cha= nged the FILE-NAME, or haven't included one, the output path will be exactly the same as the original package's, meaning that one will be used as the source if you happen to have it in your store! [IIUC, of course.]) That being said, you may know all this and have already taken it into account, in which case I'm not sure what's going on here :) -- (