[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: default tar format for "make dist" and patch file length
From: |
Vagrant Cascadian |
Subject: |
Re: default tar format for "make dist" and patch file length |
Date: |
Wed, 17 Nov 2021 15:49:49 -0800 |
On 2021-11-17, Vagrant Cascadian wrote:
> On 2021-11-17, Ludovic Courtès wrote:
>> Vagrant Cascadian <vagrant@debian.org> skribis:
>>
>>> 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"?
...
> This basically mimics the check that guix-lint does:
>
> for p in $(find gnu/packages/patches -type f ) ; do
> if [ "$(echo guix-2.0.0rc3-10000-1234567890/${p} | wc -c)" -ge "99" ]
> then
> echo $p
> exit 1
> fi
> done
>
> Would something like that be cheap enough to consider adding to
> etc/git/pre-push? Are "find" and "wc" reasonable dependencies to assume
> they are available?
>
> Obviously, have to wait until they are all fixed, some of which probably
> require going through core-updates... or start with a more conservative
> but still useful length-check.
Another strategy would be to reduce the overly cautious lint check:
diff --git a/guix/lint.scm b/guix/lint.scm
index ac2e7b3841..e795c466b1 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -957,7 +957,7 @@ (define (starts-with-package-name? file-name)
;; Check whether we're reaching tar's maximum file name length.
(let ((prefix (string-length (%distro-directory)))
- (margin (string-length "guix-2.0.0rc3-10000-1234567890/"))
+ (margin (string-length "guix-2.0.0rc3-10000-12345678/"))
(max 99))
(filter-map (match-lambda
((? string? patch)
That leaves only two packages on master in violation of the lint check,
and those are both updatable directly on master, and "make dist" still
works with those two packages as they are, in my experience.
I think that's fairly safe to do, actually, as "make dist" on
core-updates-frozen currently produces a tarball prefixed with:
guix-1.3.0.10380-fe257/
If guix keeps bumping it's version into the double-digits, an
rc-version, and it surpasses 99999 commits, and an extra character for
the git commit hash, this still leaves considerable wiggle-room:
guix-10.0.0rc0-123456-abcde0/
vs.
guix-2.0.0rc3-10000-12345678/
So, I guess I'm leaning towards making the guix lint check a little more
lenient.
Thoughts?
live well,
vagrant
signature.asc
Description: PGP signature