On 2021-11-17, Ludovic Courtès wrote: > Vagrant Cascadian skribis: > >> Ideally, "guix lint" would be run and issues fixed before applying >> patches ... ! > > On the bright side, that there’s just a dozen of issues on 20K packages > suggests it’s usually run. :-) > > I think we’re used to running it for new packages but not when modifying > an existing package, which is probably when issues like that are > introduced. Sounds plausible. My guess is this is triggered from folks using "git format-patch" and dumping the files into gnu/packages/patches, which probably has a default length that is a little too long in this case. Another option that would help a little would be to drop the .patch suffix, it's kind of redundant to have gnu/packages/patches/*.patch >> 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"? > > Could be. 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. >> 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. > > Yes, we could also do that. Struggling to figure out how to do that; seems automake is very inclined to use the old format... anyone with sufficient auto* skills to try and upgrade the "make dist" to pass one of the newer --format= arguments to tar? live well, vagrant