From unknown Sat Aug 16 13:41:41 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#69787 <69787@debbugs.gnu.org> To: bug#69787 <69787@debbugs.gnu.org> Subject: Status: [PATCH] doc: Add notes about when to use --check Reply-To: bug#69787 <69787@debbugs.gnu.org> Date: Sat, 16 Aug 2025 20:41:41 +0000 retitle 69787 [PATCH] doc: Add notes about when to use --check reassign 69787 guix-patches submitter 69787 skyvine@protonmail.com severity 69787 normal tag 69787 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 13 20:56:01 2024 Received: (at submit) by debbugs.gnu.org; 14 Mar 2024 00:56:02 +0000 Received: from localhost ([127.0.0.1]:47615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rkZO5-0006IQ-7A for submit@debbugs.gnu.org; Wed, 13 Mar 2024 20:56:01 -0400 Received: from lists.gnu.org ([209.51.188.17]:34064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rkZNo-0006Hq-2h for submit@debbugs.gnu.org; Wed, 13 Mar 2024 20:55:58 -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 1rkZNE-0002Tl-9L for guix-patches@gnu.org; Wed, 13 Mar 2024 20:55:08 -0400 Received: from mail-4322.protonmail.ch ([185.70.43.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rkZN7-00064b-KF for guix-patches@gnu.org; Wed, 13 Mar 2024 20:55:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1710377696; x=1710636896; bh=tJjPW64XinyLxU0/LghpPeJbKKfNIO4mdQfAW/wxTCc=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=O0r08Sm+X5umfUkQNhk+f0uTB94ArRuTy9YVFHOKv0EkEPT0zsgI2B09sc5nDo6w7 mHhTw86gGRsYQFHukjA/uEvdMQjnePRGBffl39HUupJo11O7QdnbkTAKl9futdsQ2o DFJ85/RF0DaYjtcxtO0CXvj7Ynj95aXASwun+55+2jc7j2BGprdpZuFOHePYlkLDZT vtgvc9GRRfpklJ3Z1sG0cPi/4ZdLALDx0WF3kT+0liV9VvGadKCpPz9aTA7KNAMnaS iSXXSzY/1rfs8J8+/Y2jiPntM5ceNmeAtvVPuSRgJlTyv+blMi8+XZw88kDa4bGy68 C2+x1/7SVivgA== Date: Thu, 14 Mar 2024 00:54:35 +0000 To: guix-patches@gnu.org From: skyvine@protonmail.com Subject: [PATCH] doc: Add notes about when to use --check Message-ID: <179b4b762c1f4007fd648f614e9fbb124057a555.1710376829.git.skyvine@protonmail.com> Feedback-ID: 40635331:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.22; envelope-from=skyvine@protonmail.com; helo=mail-4322.protonmail.ch 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, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 3.0 (+++) 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: From: Skyler Ferris * doc/contributing.texi: Add notes about using --check when --rounds is insufficient Change-Id: I534b3f99181b45c4a955325a4ed59e3e7c651ab6 --- This is a small update to the section about checking that a package is reproducible, based on a conversation with Carlo Zancanaro on the help-g [...] Content analysis details: (3.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (skyvine[at]protonmail.com) -0.0 T_SCC_BODY_TEXT_LINE No description available. 2.0 SPOOFED_FREEMAIL No description available. X-Debbugs-Envelope-To: submit Cc: Skyler Ferris 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.3 (--) From: Skyler Ferris * doc/contributing.texi: Add notes about using --check when --rounds is insufficient Change-Id: I534b3f99181b45c4a955325a4ed59e3e7c651ab6 --- This is a small update to the section about checking that a package is reproducible, based on a conversation with Carlo Zancanaro on the help-guix mailing list. While this section does mention guix challenge, this is used with a separate substitute server. The notes about what happens with grafts comes from personal observations from running the commands on my machine. The situation seems less than ideal but I am not familiar enough with the code to figure out a way to improve it at the moment. If there is already a better way of getting the derivation path, especially a way that does not rely on the build output still being available (the person may have already closed the build terminal, and knowledge of the build log path implies knoweldge of the derviation path) please let me know and I will update this patch accordingly. doc/contributing.texi | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index a7d91724fb..aa8421cbb7 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1495,15 +1495,33 @@ Submitting Patches typically means checking whether an independent build of the package yields the exact same result that you obtained, bit for bit. =20 -A simple way to do that is by building the same package several times in +If you have not previously built the package, a simple way to check for +determinism is by building the same package several times in a row on your machine (@pxref{Invoking guix build}): =20 @example guix build --rounds=3D2 my-package @end example =20 -This is enough to catch a class of common non-determinism issues, such -as timestamps or randomly-generated output in the build result. +If you have already built the package @code{--rounds} is not sufficient +because @command{guix build} will see that the output is already available +and build 0 times. Instead, you can use the @code{--check} flag to compare= a +fresh build against the previous output: + +@example +guix build --check my-package +@end example + +However, if the package is grafted (@pxref{Security Updates, grafts}) then +this will only check the grafts not the original package build. In this ca= se +you can use the path to the derivation (@code{/gnu/store/-.drv}) +instead of the package name. The derivation path is printed by @command{gu= ix build} +when it finishes building a derivation (note that the grafted version of t= he package +also has a derivation, so the most recently printed derivation path will n= ot be the +one that you want to use). + +Either of these methods are enough to catch a class of common non-determin= ism +issues, such as timestamps or randomly-generated output in the build resul= t. =20 Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}). You may run it once the package has been committed and base-commit: 447e9c96259e8fa15a828de9b2dd3400e2ffafe6 --=20 2.41.0