From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-devel-bounces+larch=yhetil.org@gnu.org>
Received: from mp0 ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms0.migadu.com with LMTPS
	id 4F50Fcb8kmGLgQAAgWs5BA
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Tue, 16 Nov 2021 01:35:18 +0100
Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp0 with LMTPS
	id 6H8sEcb8kmFoIgAA1q6Kng
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Tue, 16 Nov 2021 00:35:18 +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 EB567456
	for <larch@yhetil.org>; Tue, 16 Nov 2021 01:35:17 +0100 (CET)
Received: from localhost ([::1]:60862 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	id 1mmmRQ-0003X4-Hj
	for larch@yhetil.org; Mon, 15 Nov 2021 19:35:16 -0500
Received: from eggs.gnu.org ([209.51.188.92]:47994)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <vagrant@debian.org>)
 id 1mmmQm-0003Wv-A7
 for guix-devel@gnu.org; Mon, 15 Nov 2021 19:34:37 -0500
Received: from cascadia.aikidev.net ([173.255.214.101]:57264)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <vagrant@debian.org>) id 1mmmQk-0008S8-01
 for guix-devel@gnu.org; Mon, 15 Nov 2021 19:34:36 -0500
Received: from localhost (unknown [IPv6:2600:3c01:e000:21:21:21:0:100e])
 (Authenticated sender: vagrant@cascadia.debian.net)
 by cascadia.aikidev.net (Postfix) with ESMTPSA id 6DE021AA41
 for <guix-devel@gnu.org>; Mon, 15 Nov 2021 16:34:29 -0800 (PST)
From: Vagrant Cascadian <vagrant@debian.org>
To: guix-devel@gnu.org
Subject: default tar format for "make dist" and patch file length
Date: Mon, 15 Nov 2021 16:34:16 -0800
Message-ID: <87sfvxhrav.fsf@ponder>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
Received-SPF: none client-ip=173.255.214.101; envelope-from=vagrant@debian.org;
 helo=cascadia.aikidev.net
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,
 SPF_NONE=0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: guix-devel@gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Development of GNU Guix and the GNU System distribution."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=subscribe>
Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org
Sender: "Guix-devel" <guix-devel-bounces+larch=yhetil.org@gnu.org>
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1637022918;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-type:content-type:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post; bh=+XGVeneC8xV+EQXjN4iwd73EDao7toyMWmvo/r6zwRA=;
	b=VQgecJFaOKvapK2MYrChQ9KkjbypOyLKVXymnzqcVJCvBzFR7HdcK4eXj2OWmiwp+xC2ib
	5AHthbmkhTtzM6DSItS2eagPPK9Mq2ttM48+Q0V/QMVcitC24zrP5vNL0TYA/vmoSYleXC
	fDozo6C3Jpm+ytCAce+oKaLUeHdPAzShAafXqM5jbOMnOnrzP70EdlCVSVV8ZKZbjofg3R
	cqwsKmLUS7grHf5l3X6sSQPduPTilCmC7lxm5RFQHy6RBjumE67/KtLA+sE/M/nKr8xrfq
	ZG+8HGRWHLw6DadAtGuqyE/+GeD/ORJlbEai60FSkRNpbtdydwOCJwibEnInfA==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1637022918; a=rsa-sha256; cv=none;
	b=qGUocXpv6KGG69xxGdMUwwvIYC4mvpiXJy64g+i0juwv8WhnZQNtTiI6GZu8rAjrDN5bpm
	qdE2cpTO5Pkeei6nltlnncJD/3oo6LzlXZtJgyySGXYZ15TQWk44+/AwFdDDXsPgdH1Bg8
	ZQTW61Na6N2Qojd8c8IBAuXUCnUQU5iDvBSKqzG2Ks9ztrhkaaP/Sw+aSkeK0kQ4XuY/fM
	WQuC4LoSwKS5e+0ueTLp1EIaGRNERK4d09gJcpUaaEMbVCZO1Io7c3FspsXC+L/Y4bGUe9
	/8BBu5oK2NtjHswnwGbes4oGxgMKuP1c9pEoW2gPVi//vMa4DW2VKFHkmM3E0w==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"
X-Migadu-Spam-Score: -4.45
Authentication-Results: aspmx1.migadu.com;
	dkim=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"
X-Migadu-Queue-Id: EB567456
X-Spam-Score: -4.45
X-Migadu-Scanner: scn0.migadu.com
X-TUID: qdqiEWI7mnz6

--=-=-=
Content-Type: text/plain

When running "make dist", guix apparently uses a very old tar format
(presumably for maximal compatibility with tar implementations), which
has a hard limit of 99 characters.

For this reason, there is a guix lint check for filename lengths, but
there are quite a few lint warnings in guix master and
core-updates-frozen.

On guix master db5907138cbf9139e885fa4b3860d604aff0be9c, there appear to
be 14 such patches:

$ guix lint --checkers=patch-file-names | grep 'too long' | nl

     1  gnu/packages/admin.scm:2669:2: debops@1.1.0:
     debops-constants-for-external-program-names.patch: file name is too
     long
     2  gnu/packages/astronomy.scm:865:2: xplanet@1.3.1:
     xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch: file name is too
     long
     3  gnu/packages/astronomy.scm:865:2: xplanet@1.3.1:
     xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch: file name is too
     long
     4  gnu/packages/geo.scm:312:2: libgeotiff@1.5.1:
     libgeotiff-adapt-test-script-for-proj-6.2.patch: file name is too
     long
     5  gnu/packages/glib.scm:478:2: gobject-introspection@1.62.0:
     gobject-introspection-absolute-shlib-path.patch: file name is too
     long
     6  gnu/packages/java.scm:9032:2:
     java-tunnelvisionlabs-antlr4-runtime@4.7.4:
     java-tunnelvisionlabs-antlr-code-too-large.patch: file
 name is too long
     7  gnu/packages/java.scm:8926:2:
     java-tunnelvisionlabs-antlr4-runtime-annotations@4.7.4:
     java-tunnelvisionlabs-antlr-code-too-large
.patch: file name is too long
     8  gnu/packages/java.scm:13120:2: java-apache-ivy@2.4.0:
     java-apache-ivy-port-to-latest-bouncycastle.patch: file name is too
     long
     9  gnu/packages/java.scm:9040:2:
     java-tunnelvisionlabs-antlr4@4.7.4:
     java-tunnelvisionlabs-antlr-code-too-large.patch: file name is
 too long
    10  gnu/packages/kde-frameworks.scm:3419:2: plasma-framework@5.70.1:
     plasma-framework-fix-KF5PlasmaMacros.cmake.patch: file name is
too long
    11  gnu/packages/llvm.scm:98:2: clang-runtime@3.9.1:
     clang-runtime-3.9-libsanitizer-mode-field.patch: file name is too
     long
    12  gnu/packages/llvm.scm:852:4: clang-runtime@3.5.2:
     clang-runtime-3.5-libsanitizer-mode-field.patch: file name is too
     long
    13  gnu/packages/llvm.scm:98:2: clang-runtime@3.7.1:
     clang-runtime-3.8-libsanitizer-mode-field.patch: file name is too
     long
    14  gnu/packages/llvm.scm:98:2: clang-runtime@3.8.1:
     clang-runtime-3.8-libsanitizer-mode-field.patch: file name is too long

Looks like a similar number of patches on core-updates-frozen, too,
probably mostly the same ones.

Luckily, the lint check is conservative and actually gives a bit of
wiggle-room, and none of these appear to break "make dist" from
generating a tarball at the moment, but there was one in
core-updates-frozen recently that did break "make dist" (fixed in
6cdf4e5bf230fdbe17e592c2ec74fb34dba70eb5).


Ideally, "guix lint" would be run and issues fixed before applying
patches ... !

Is it worth adding an inexpensive check to etc/git/pre-push that also
checks for file-length and fails to push due to this issue potentially
breaking "make dist"?


A different angle might be to actually use a different tar format:

  https://www.gnu.org/software/tar/manual/html_section/Formats.html

I would guess "make dist" is using the tar "v7" format, based on the 99
character length limit for files. Most of the other formats have no file
length limit or a longer limit.


Well, thanks for following my rambling this far!


live well,
  vagrant

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYZL8jgAKCRDcUY/If5cW
qpgDAQDiXz7+4brK6Cy4JoKbzshe9zmBbleCTxaztjD1HLo+QgD9GFJWGbvP6L9X
MT2B7GAEZe1BzeF1mDB8sbYvKOyOwAg=
=bl4H
-----END PGP SIGNATURE-----
--=-=-=--