From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 0GYsOGLAqV9dDwAA0tVLHw (envelope-from ) for ; Mon, 09 Nov 2020 22:19:14 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id nSv1M2LAqV9AJAAAB5/wlQ (envelope-from ) for ; Mon, 09 Nov 2020 22:19:14 +0000 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 6D26A9403E7 for ; Mon, 9 Nov 2020 22:19:14 +0000 (UTC) Received: from localhost ([::1]:45826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kcFVJ-0003Sb-BC for larch@yhetil.org; Mon, 09 Nov 2020 17:19:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44554) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcFV8-0003SR-I1 for bug-guix@gnu.org; Mon, 09 Nov 2020 17:19:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:52471) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kcFV8-0003Tb-7X for bug-guix@gnu.org; Mon, 09 Nov 2020 17:19:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kcFV8-00035T-3N for bug-guix@gnu.org; Mon, 09 Nov 2020 17:19:02 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#43893: [PATCH] maint: update-guix-package: Optionally add sources to store. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 09 Nov 2020 22:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43893 X-GNU-PR-Package: guix X-GNU-PR-Keywords: patch To: Maxim Cournoyer Received: via spool by 43893-submit@debbugs.gnu.org id=B43893.160496032511838 (code B ref 43893); Mon, 09 Nov 2020 22:19:02 +0000 Received: (at 43893) by debbugs.gnu.org; 9 Nov 2020 22:18:45 +0000 Received: from localhost ([127.0.0.1]:35784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kcFUr-00034r-45 for submit@debbugs.gnu.org; Mon, 09 Nov 2020 17:18:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kcFUo-00034b-Uw for 43893@debbugs.gnu.org; Mon, 09 Nov 2020 17:18:44 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52130) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kcFUj-0003RD-Kd; Mon, 09 Nov 2020 17:18:37 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40326 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kcFUh-0000U5-4u; Mon, 09 Nov 2020 17:18:37 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <871rhevfpp.fsf@gnu.org> <20201109192923.29580-1-maxim.cournoyer@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 Brumaire an 229 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 09 Nov 2020 23:18:33 +0100 In-Reply-To: <20201109192923.29580-1-maxim.cournoyer@gmail.com> (Maxim Cournoyer's message of "Mon, 9 Nov 2020 14:29:23 -0500") Message-ID: <87pn4mqime.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 43893@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: LqPLefklDtkR Maxim Cournoyer skribis: > Following discussions in , keeping a c= opy > of the updated package source is desirable when generating a release. Not just when generating a release: anytime you want to refer to a private commit, which could be for mere testing. > * build-aux/update-guix-package.scm (version-controlled?): Remove variabl= e. > (call-with-temporary-git-worktree): Renamed from > 'with-temporary-git-worktree'. Update doc. Do not change directory > implicitly. > (keep-source-in-store): New procedure. > (main): Adjust to use with call-with-temporary-git-worktree. Add the sou= rces > to the store when GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set. > * .dir-locals.el (scheme-mode): Update. > * doc/contributing.texi (Updating the Guix Package): Update doc. > > Co-authored-by: Ludovic Court=C3=A8s [...] > -(define-syntax-rule (with-temporary-git-worktree commit body ...) > - "Execute BODY in the context of a temporary git worktree created from = COMMIT." > +(define-syntax-rule (call-with-temporary-git-worktree commit proc) > + "Execute PROC in the context of a temporary git worktree created from > +COMMIT. PROC receives the temporary directory file name as an argument." This could be a procedure rather a macro now. [...] > + (call-with-temporary-git-worktree commit > + (lambda (tmp-directory) > + (let* ((hash (nix-base32-string->bytevector > + (string-trim-both > + (with-output-to-string > + (lambda () > + (guix-hash "-rx" tmp-directory)))))) > + (location (package-definition-location)) > + (old-hash (content-hash-value > + (origin-hash (package-source guix))))) > + (edit-expression location > + (update-definition commit hash > + #:old-hash old-hash > + #:version version)) > + ;; When GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set, the s= ources are > + ;; added to the store. This is used as part of 'make rel= ease'. > + (when (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT") > + (with-store store > + (keep-source-in-store store tmp-directory)))))))) OK, that should do the job. Thanks for the patch, that should break the deadlock and allow us to proceed with the release! Next we need to update the =E2=80=98release=E2=80=99 target so GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set. I like that the initial issue is fixed, but I still don=E2=80=99t buy the e= xtra dependency on Git, the extra copies of the whole tree, the extra code, and the shell pipelines, something avoided in the rest of Guix. Perhaps that suggests there are unwritten coding guidelines we should eventually discuss and write. We=E2=80=99ll see! Thanks, Ludo=E2=80=99.