From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.0 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 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 dcvr.yhbt.net (Postfix) with ESMTPS id 86F101F47C for ; Mon, 16 Jan 2023 09:45:47 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; secure) header.d=planete-kraus.eu header.i=@planete-kraus.eu header.a=rsa-sha1 header.s=dkim header.b=ONtetv6U; dkim-atps=neutral Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHM3e-0001gr-TF; Mon, 16 Jan 2023 04:45:43 -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 1pHM3M-0001gD-CV for bug-gnulib@gnu.org; Mon, 16 Jan 2023 04:45:20 -0500 Received: from planete-kraus.eu ([2a00:5881:4008:2810::309]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1pHM3J-0007Ns-KW for bug-gnulib@gnu.org; Mon, 16 Jan 2023 04:45:20 -0500 Received: from planete-kraus.eu (localhost.lan [127.0.0.1]) by planete-kraus.eu (OpenSMTPD) with ESMTP id f4fdda6a; Mon, 16 Jan 2023 09:45:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=planete-kraus.eu; h= message-id:subject:from:to:cc:date:in-reply-to:references :content-type:content-transfer-encoding:mime-version; s=dkim; bh=yYytO4GM9Tk6Xfysampf55+vlJA=; b=ONtetv6UD8GCQ4RrDFkfYznus8r7 MDkn8xozrjra1Bgnv2C0bqjd2tmBfnolzdCaWZNmIHOh4agQv7kuwlgoeuoo8Ktq E+izn1Cprgbei7u0sHRW/yUTdR6Tg3KExlgiOH2Spxrli5bPfztPbphrIKvdS6Ef jBmKpDb8NNXcnU4= Received: by planete-kraus.eu (OpenSMTPD) with ESMTPSA id 504ffad9 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Mon, 16 Jan 2023 09:45:06 +0000 (UTC) Message-ID: <63f570523b5bd4663fae92edd6da921f01eee73d.camel@planete-kraus.eu> Subject: Re: RFC: git-commit based mtime-reproducible tarballs From: Vivien Kraus To: Paul Eggert , Bruno Haible Cc: Simon Josefsson , bug-gnulib@gnu.org Date: Mon, 16 Jan 2023 10:45:05 +0100 In-Reply-To: References: <87h6wtgmhy.fsf__22556.7857896507$1673713908$gmane$org@redhat.com> <87lem4cb9v.fsf@josefsson.org> <5459006.YCjZZlMYnJ@nimes> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:5881:4008:2810::309; envelope-from=vivien@planete-kraus.eu; helo=planete-kraus.eu 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_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Hello, Le dimanche 15 janvier 2023 =C3=A0 08:03 -0800, Paul Eggert a =C3=A9crit=C2= =A0: > For TZDB, where users have long wanted reproducibility, I use > something=20 > like this in a Makefile recipe for each source file $$file: >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 time=3D`git log -1 --format=3D'tformat:%ct' $$file` && > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 touch -cmd @$$time $$file If your texinfo file includes version.texi, then its modification date is very important because it impacts the date that appears in the final file. Your solution is in my opinion the only correct way to answer the problem. However, there are situations in which you only have access to a shallow clone of the git repository (for instance, Gitlab CI). I am not sure how this solution would work in that case. Best regards, Vivien