From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id +AAGFVseHmQFCgAASxT56A (envelope-from ) for ; Fri, 24 Mar 2023 23:04:11 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id oP7sFFseHmSKkwAAauVa8A (envelope-from ) for ; Fri, 24 Mar 2023 23:04:11 +0100 Received: from lists.gnu.org (unknown [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 CD6563B827 for ; Fri, 24 Mar 2023 23:04:10 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=inria.fr header.s=dc header.b="B/Y6xj5Q"; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=inria.fr (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1679695451; 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:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=iWXEd8VieoJ9zk9Eu/YpB3f8L6uCAVkSevnY5OpXjT8=; b=Mbb9B7mjf1328PrGQyNaBeCnXMo2tdU3SUs/A59xyplk4C15lXThGejkvaxTF73tHUHtCd EzasSflIWEpC8Rc53a+ERLtbQCSzV+KEEKIT5v66sw9vrfaKHs4i3e8Kc8Y2coXL661It5 IEuIm5XKQsS1HHfQNlXfEBt5CkRGQBpUxePiDMqsJVywX2Oa5yay38I+vQToG1Buvpq6mu seCVGLGyZqzn3SwvbfDUjQM2Ft48cA6UzYGzSC1vMUhu5Xfw/MDUWN5jg2nCdJVvSPxjhZ e/z+DPjqT1qklyJ2pMwl1ACYDaSxV+TxFOdh8w2sQbPbkhbw5V6OFABh06IHlQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1679695451; a=rsa-sha256; cv=none; b=EwqTbUREgl/tF5jgNydMHS2YItFxbf+iiW1PBDP02CJdHKtEMoo0j+pK/r9o68r4uzqxNE IcsokoXUIeysBJu0iOJd+8/IwF8PoMG0V/yqRT7DS/W1tjG7HFkg7kleHS2H7eYDzmbu5O NLlh7hChB+C+sDMKHaAWwSq0bS/6NGzQUHOQqxs+HFfR7/yJuN9qzVX0vxcQGG1ZsrBxak Cwq7b2ivbb0Qitj+eGpG9ft1xh8cec2xhyKJEj+Pv7sNMQEQcCkrtXRRkacte6iXRQ1X7B 8F90qGsLeulXsP3NYQJI1SIjqdqTUxLJxPxsAtoNrcVqDED6TXNEPwsQ2XbypQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=inria.fr header.s=dc header.b="B/Y6xj5Q"; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=inria.fr (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pfpTb-0004MC-G5; Fri, 24 Mar 2023 18:01:35 -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 1pfpTF-00045j-TL for guix-patches@gnu.org; Fri, 24 Mar 2023 18:01:14 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pfpTF-0000eY-Jx for guix-patches@gnu.org; Fri, 24 Mar 2023 18:01:13 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pfl81-0007yS-TG for guix-patches@gnu.org; Fri, 24 Mar 2023 13:23:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43442] Subversion keyword substitution Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 24 Mar 2023 17:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43442 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Timothy Sample Cc: 43442@debbugs.gnu.org, zimoun Received: via spool by 43442-submit@debbugs.gnu.org id=B43442.167967853630597 (code B ref 43442); Fri, 24 Mar 2023 17:23:01 +0000 Received: (at 43442) by debbugs.gnu.org; 24 Mar 2023 17:22:16 +0000 Received: from localhost ([127.0.0.1]:41287 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pfl7I-0007xQ-C6 for submit@debbugs.gnu.org; Fri, 24 Mar 2023 13:22:16 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:34155) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pfl7F-0007xB-DB for 43442@debbugs.gnu.org; Fri, 24 Mar 2023 13:22:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=iWXEd8VieoJ9zk9Eu/YpB3f8L6uCAVkSevnY5OpXjT8=; b=B/Y6xj5Q+w4CY4IRuinAC3mP0zr6txcTwys0SU4FmUT/Gz6U3dqpYZZC +LloHzvQ0CXQI8A5OBWVKQyq6eCEDeHatjcq0QY7/NW6KN11CwVOcL3ZZ ZMWqio5c2qWt4ZENsCtjXA0goBd8SYq/7SkmRrW3HdUx/c/n8HP5TnI1d M=; X-IronPort-AV: E=Sophos;i="5.98,288,1673910000"; d="scan'208";a="51181893" Received: from unknown (HELO ribbon) ([193.50.110.81]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2023 18:22:08 +0100 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200916081411.5801-1-zimon.toutoune@gmail.com> <20200916081642.6716-1-zimon.toutoune@gmail.com> <87o8lyj090.fsf@gnu.org> <86zh5iol1n.fsf@gmail.com> <87h7rocvkt.fsf@gnu.org> <877dsi44lu.fsf@gnu.org> <87y2knhei3.fsf@gnu.org> <87jzzbms54.fsf_-_@gnu.org> <87jzz8xva8.fsf@ngyro.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Quartidi 4 Germinal an 231 de la =?UTF-8?Q?R=C3=A9volution, ?= jour de la Tulipe 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: Fri, 24 Mar 2023 18:22:06 +0100 In-Reply-To: <87jzz8xva8.fsf@ngyro.com> (Timothy Sample's message of "Wed, 22 Mar 2023 16:42:39 -0600") Message-ID: <871qle6p4x.fsf_-_@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: X-Migadu-Queue-Id: CD6563B827 X-Spam-Score: 2.06 X-Migadu-Spam-Score: 2.06 X-Migadu-Scanner: scn0.migadu.com List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-TUID: ovqgJUaLAzNB --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Timothy, Timothy Sample skribis: > I was starting with doing a simple check for the =E2=80=9Ceasy=E2=80=9D S= ubversion > repositories. That is, no externals (=E2=80=98recursive?=E2=80=99) and no > =E2=80=98svn-multi-fetch=E2=80=99 [1]. I immediately hit a problem. Gui= x hashes the > export of the repository with the keywords processed, while SWH hashes > it with unprocessed keywords. Ouch. I had forgotten keywords were also a thing in Subversion. :-/ Can we tell Subversion to not expand them? That could be the way forward in Guix, though it won=E2=80=99t help for past revisions. How frequent is the use of keywords though? I tried the patch below to turn off keyword substitution, and then ran guix build -S --check -v1 --keep-going for the 407 packages identified by: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> (define svn (fold-packages (lambda (p lst) (if (and (not (hidden-package? p)) (not (package-superseded p)) (origin? (package-source p)) (memq (origin-method (package-source p)) (list svn-fetch svn-multi-fetch))) (cons p lst) lst)) '())) scheme@(guile-user)> (length svn) $8 =3D 407 --8<---------------cut here---------------end--------------->8--- That led to: --8<---------------cut here---------------start------------->8--- guix build: error: build of `/gnu/store/2byn59zmdbc4bz2wknnv0df4n67bdvgr-te= xlive-pdftex-59745-checkout.drv', `/gnu/store/2gj88z4plmwhraghxj5626zpiir1c= k6k-libsmpeg-0.4.5-401-checkout.drv', `/gnu/store/2zygylsb2b333rzrvjyrh4qyb= w799hl3-ghmm-0.9-rc3-0.2341-checkout.drv', `/gnu/store/4a81qlka5w73rprapzi1= w63xzb01n0r8-java-geronimo-xbean-reflect-4.5.drv', `/gnu/store/4mabgwil0ygw= m3bkka3nzfbrwg1kk0wz-texlive-kpathsea-59745-checkout.drv', `/gnu/store/5ivk= 83abj22bs9ka10dk1v67kyczcd80-texlive-dvips-59745-checkout.drv', `/gnu/store= /6zhnahylfr1zmpwzb8qzh8qp3yf9yl1p-texlive-tex-plain-59745-checkout.drv', `/= gnu/store/f1sjmghs0f4v0y2pnljqaplifq52qbn2-texlive-cm-59745-checkout.drv', = `/gnu/store/kd7kahaq71gi8j6zbabr0njqw60sjjxc-libsmpeg-0.4.5-399-checkout.dr= v', `/gnu/store/q3kip5bxkkdh14kx81afakbmpy7l4lr4-texlive-latexconfig-59745-= checkout.drv', `/gnu/store/qskxc2c30fdclmrjp7nk35n1q2sl6sp8-texlive-tetex-5= 9745-checkout.drv', `/gnu/store/wibsxy4kxlpq8lr76wvwgdyc2x5farr4-texlive-hy= phen-base-59745-checkout.drv' failed --8<---------------cut here---------------end--------------->8--- That=E2=80=99s 11 failures out of 407. So, how about applying the =E2=80=98--ignore-keywords=E2=80=99 change and u= pdating hashes accordingly? > [1] More precisely, I was going to process recursive =E2=80=98svn-fetch= =E2=80=99 origins > because a lot of them are needlessly marked as recursive. In some > (many?) cases, the repositories don=E2=80=99t actually have external refe= rences, > so the flag does nothing. I was only going to skip the ones where it > makes a difference. We should remove that recursive flag when it has no effect. Perhaps we could proceed similarly? Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable diff --git a/guix/build/svn.scm b/guix/build/svn.scm index 2d960cb364..863c48e46d 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright =C2=A9 2014, 2020 Ludovic Court=C3=A8s +;;; Copyright =C2=A9 2014, 2020, 2023 Ludovic Court=C3=A8s ;;; Copyright =C2=A9 2014 Sree Harsha Totakura ;;; Copyright =C2=A9 2018 Mark H Weaver ;;; Copyright =C2=A9 2020 Simon Tournier @@ -47,6 +47,11 @@ (define* (svn-fetch url revision directory ;; verify the checksum later. This can be removed when ;; ca-certificates package is added. "--trust-server-cert" "-r" (number->string revision) + + ;; Disable keyword substitution (keywords are CVS-like strings + ;; like "$Date$", "$Id$", and so on). + "--ignore-keywords" + `(,@(if (and user-name password) (list (string-append "--username=3D" user-name) (string-append "--password=3D" password)) --=-=-=--