From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 4GAbCP2nrWOoDwEAbAwnHQ (envelope-from ) for ; Thu, 29 Dec 2022 15:45:17 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id qA8xCP2nrWNPUAEA9RJhRA (envelope-from ) for ; Thu, 29 Dec 2022 15:45:17 +0100 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 6F5149661 for ; Thu, 29 Dec 2022 15:45:16 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAu9Y-0001qs-So; Thu, 29 Dec 2022 09:45:04 -0500 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 1pAu9W-0001qK-J4 for guix-patches@gnu.org; Thu, 29 Dec 2022 09:45:02 -0500 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 1pAu9W-0001bo-5n for guix-patches@gnu.org; Thu, 29 Dec 2022 09:45:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAu9V-0007YP-SG for guix-patches@gnu.org; Thu, 29 Dec 2022 09:45:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60358] [PATCH] gnu: Add gnulib. Resent-From: Simon Josefsson Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 14:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60358 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60358@debbugs.gnu.org Cc: vivien@planete-kraus.eu X-Debbugs-Original-To: Vivien Kraus via Guix-patches via X-Debbugs-Original-Cc: 60358@debbugs.gnu.org, Vivien Kraus Received: via spool by submit@debbugs.gnu.org id=B.167232506828976 (code B ref -1); Thu, 29 Dec 2022 14:45:01 +0000 Received: (at submit) by debbugs.gnu.org; 29 Dec 2022 14:44:28 +0000 Received: from localhost ([127.0.0.1]:59647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAu8y-0007XH-58 for submit@debbugs.gnu.org; Thu, 29 Dec 2022 09:44:28 -0500 Received: from lists.gnu.org ([209.51.188.17]:56282) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAu8u-0007X7-9D for submit@debbugs.gnu.org; Thu, 29 Dec 2022 09:44:24 -0500 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 1pAu8u-0001mP-0M for guix-patches@gnu.org; Thu, 29 Dec 2022 09:44:24 -0500 Received: from uggla.sjd.se ([2001:9b1:8633::107]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAu8s-0001Wo-6z for guix-patches@gnu.org; Thu, 29 Dec 2022 09:44:23 -0500 DKIM-Signature: v=1; a=ed25519-sha256; q=dns/txt; c=relaxed/relaxed; d=josefsson.org; s=ed2110; h=Content-Type:MIME-Version:Message-ID:In-Reply-To :Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding :Content-ID:Content-Description; bh=bJZNEqDLcWEhu0DqJdqJj1ZgYC3cYDqu7BvRVFEPqnk=; t=1672325059; x=1673534659; b=n0nOsCU3Zn2z9Sj5PNc0TW66gvA20mjOOMgnW84glxAhNT9cRW8zcxdUdZMFJhgS2IChPdCx2fe 3bM5Qn1p7CQ==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=josefsson.org; s=rsa2110; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=bJZNEqDLcWEhu0DqJdqJj1ZgYC3cYDqu7BvRVFEPqnk=; t=1672325059; x=1673534659; b=hVAS/mqASt8GwcaaCC2P1aPp8SW5tTxarW56rKZk13eraih6tVr4WwiDg3jbEghByxrsvTvi/M3 xf2gfUsPflfws7lEDHRHFAMYsyokDcgPQ0NT5TZ2WPWngcunteUDoausFFVMEZgBuVC13RzwQGgtA htm36EjvIlKIfqS32yKFQFD+s2wsZTP76Z5d+uDAL4fuvRF4iKOjT92+Nb1YDX5YAb9nlG4V74HzQ RJDaumiPFdPEIdeSnWoQ9knCkFK9Gg31f1PSNfWb3ik0xxszNVHE0kzCHr7kEX7QqpcKd3T4xxXK/ R5J87SdWItW6SKmULLg2gJhRstMaBd4OLV+lBxCTqAFKMe/VnRk5OIXQGt1Lhb5u+zu5JT6nEhdc8 NsC4NguGCGA8Le5B1DS13zA9HoRDAbxRqnzvN22g+QMPTi+CT1zwhAITC2riTPxwcCEkou15f; Received: from [2001:9b1:41ac:ff00:be83:be22:3e7e:fd91] (port=52130 helo=kaka) by uggla.sjd.se with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1pAu8l-009IYb-Oj; Thu, 29 Dec 2022 15:44:15 +0100 References: <87h6xgzny7.fsf@josefsson.org> OpenPGP: id=B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE; url=https://josefsson.org/key-20190320.txt X-Hashcash: 1:22:221229:vivien@planete-kraus.eu::01OdLWyEj/Yffn0j:0VyF X-Hashcash: 1:22:221229:guix-patches@gnu.org::bySidXRwHbGCXIxT:FfAE X-Hashcash: 1:22:221229:60358@debbugs.gnu.org::Nmh07LZNr7p6LypU:PCqF Date: Thu, 29 Dec 2022 15:44:12 +0100 In-Reply-To: (Vivien Kraus via Guix-patches via's message of "Wed, 28 Dec 2022 02:57:40 +0100") Message-ID: <874jtei81v.fsf@josefsson.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Received-SPF: pass client-ip=2001:9b1:8633::107; envelope-from=simon@josefsson.org; helo=uggla.sjd.se X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: List-Subscribe: , Reply-to: Simon Josefsson X-ACL-Warn: , Simon Josefsson via Guix-patches From: Simon Josefsson via Guix-patches via 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 ARC-Seal: i=1; s=key1; d=yhetil.org; t=1672325116; a=rsa-sha256; cv=none; b=dJFje/PMvp6oOo6c50gtYz6nX5US9WWPR31WbBmT1XSV63QekMrigHlVmVhjnLr8JZrYG4 fAw+vYAOTwTs5tY3jf8Euei5CJRi+GduiqNJji7is1CiXvrYJm3J22JDL0GJAUTAXL0dMi 4Bd9zzIl/ivkXIGr/rgTrHPZ5mrP3pmCtnbHgLduzmt532d/u8RQM4z4HNK2UeiQjYT8jd FP9dF/sOmjNAeKocijEm+YTW05UnYsQwuoitsa7ltdDmlujvw1fGa06axMAIPyqbGaAblg F5lFt1y9D6PFh4QW15w+WLw1uvoXozDVo1UeirSQibxi9Nhe3tL+gwBWDkIPQw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers eddsa verify failed") header.d=josefsson.org header.s=ed2110 header.b=n0nOsCU3; dkim=fail ("headers rsa verify failed") header.d=josefsson.org header.s=rsa2110 header.b="hVAS/mqA"; 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=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1672325116; h=from:from:sender:sender:reply-to: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:openpgp:openpgp; bh=bJZNEqDLcWEhu0DqJdqJj1ZgYC3cYDqu7BvRVFEPqnk=; b=Zv0a4f7x08chZozdQL9W/Izpf8qvgj5RSqOwlV+PvnU5Z5uBbQSyM3s4vdjAG4ha6gPuYJ WTC3is4N96c1dm/izfTQq5UNNpCIkyOa5u9qK0NhtlvUMM9Vr14GyzEkz4YYP8SCrSllkM AEfzid2p9YMdKeFZT2Iq1MYz8UI2KE6BqcE4vfrnEJAkzVVWgwPQHYejdSl1FSPqLTjAUp Xf4iFSQPtRwlMrpy2wNV8AWRpHBMeT17Gwh0qUT1JWfK8crDwsu2FBmwIsHDWWzGFb9gk1 /YVMBDGQ0hKeS3HlzGuQgVqgowAZinXRGjl1eAGaasptN5MVESkvTPiBUJKe9w== X-Spam-Score: -5.13 X-Migadu-Queue-Id: 6F5149661 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers eddsa verify failed") header.d=josefsson.org header.s=ed2110 header.b=n0nOsCU3; dkim=fail ("headers rsa verify failed") header.d=josefsson.org header.s=rsa2110 header.b="hVAS/mqA"; 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=pass (policy=none) header.from=gnu.org X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -5.13 X-TUID: 7jvF9FTwgDqr --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Vivien Kraus via Guix-patches via writes: > Hello! > > Le mardi 27 d=C3=A9cembre 2022 =C3=A0 19:44 +0100, Simon Josefsson a =C3= =A9crit=C2=A0: >> Hi.=C2=A0 Many packages needs a specific checkout of gnulib to work >> reliably, >> via --gnulib-refdir=3D (rather than --gnulib-srcdir=3D), would you >> consider >> installing the entire gnulib git archive instead of just the latest >> checkout?=C2=A0=20 > > I did not know about gnulib-refdir. It is newer than --gnulib-srcdir, but came about because --gnulib-srcdir is often a fragile solution: you have no idea which gnulib version the person building the package supplied. Since gnulib is rolling, compatibility becomes difficult. The --gnulib-srcdir approach works if you make sure to use the same gnulib git checkout as the project you wish to build uses. But then it becomes difficult to package gnulib: no two projects are likely to rely on the same gnulib git commit. So which gnulib git version to package? That's the motivation for packaging the gnulib git repository instead. This may sound strange, but compare how gettext/autopoint ships a CVS repository and checks out the particular files that are needed. Yeah, I can agree that this approach is not ideal, and there are many concerns with it. I'm not convinced gnulib's idea of "source-level library" is something that is viable long-term. But it is what exists today. > Providing the entire gnulib archive is tempting, but there might be > downsides. The contents of the .git directory depends on how trees and > objects have been packed by git. As far as I understand, it is > possible that pushing a commit in gnulib results in commit objects > from previous commits to be re-packed. Thus, if I clone gnulib from > the initial commit to a specific commit, the result might depend on > other, unrelated commits. So, the content of .git is not reproducible. > > Maybe I could get around that by deleting all the refs, doing an > aggressive garbage collection and then re-packing, but I=E2=80=99m not su= re I > would get a reproducible result. Interesting -- I think researching this more would be useful. It should be possible to come up with a safe approach to produce a reproducible checkout of a git repository. Doesn't 'git archive' produce a reproducible output from a git repository for a particular branch and commit? > Now, I don=E2=80=99t know much about gnulib-refdir. How does gnulib-refdir > work? You supply --gnulib-refdir pointing to a local gnulib git repository clone when you run ./bootstrap. This avoid checking out the gnulib git submodule from Savannah, and instead ./bootstrap will use the local git repository instead. I believe it should automatically extract the intended gnulib git commit from the gnulib/ git submodule, and extract that version from the local copy (please test -- may be bugs). > Do you have an example of a package that uses this feature? Packages wouldn't use it, but if they use gnulib's ./bootstrap script the support this approach. The idea is that people building projects that use gnulib doesn't always have to fetch the gnulib git submodule, but have a local copy for security or performance reasons. > Can I convince the package to use a checkout instead of the gnulib > repository, if I swear I have the exact checkout it wants, maybe by > tweaking bootstrap.conf or something? You can force a package to use another gnulib version by using =2D-gnulib-srcdir and point that to some other version of gnulib. But the project may not build. The point of --gnulib-refdir is to actually get the same version of gnulib that the project uses, why would you not want that? There is the GNULIB_REVISION environment variable that you can set to something else, but this is probably not very well tested and sounds like a bad idea (but I may be missing something). /Simon --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIoEARYIADIWIQSjzJyHC50xCrrUzy9RcisI/kdFogUCY62nvBQcc2ltb25Aam9z ZWZzc29uLm9yZwAKCRBRcisI/kdFohm1AP95ENA0GNta07CFDN7bmkPethadd9uh sa7fjOnDg3dzbwEAi8ZriI8e25ZD8RFxbL9BqXKMHpryPSDF2NaZPjE2Gwc= =HqNH -----END PGP SIGNATURE----- --=-=-=--