[PATCH] src-release.sh: Support zstd compression

Fangrui Song i@maskray.me
Tue May 28 18:22:51 GMT 2024


On Tue, May 28, 2024 at 9:13 AM Sam James <sam@gentoo.org> wrote:
>
> Nick Clifton <nickc@redhat.com> writes:
>
> > Hi Mark, Hi Sam,
> >
> Hi Nick,
>
> >   I approve the patch from the binutils point of view.  So if
> >   the GDB folks do not object then please apply.
> >
> >>>> Is the goal to add .zst to https://ftp.gnu.org/gnu/binutils/ ? :)
> >
> >   That was not Mark's goal. But if/when his patch goes in I will
> >   definitely be updating the binutils release process[1] to make
> >   use of it.
> >
> >>>> Perhaps for newer releases, .gz and .bz2 can be dropped. They are too
> >>>> large and obsolete by zstd...
> >
> >   I would like to do that.  (But definitely keep .xz releases).
> >
> >   Does anyone know if this will cause problems ?  I guess if people
> >   do complain I can always add them back to the release website.
>
> This plan sounds good to me - although I'd suggest we wait a bit before
> dropping gzip/bzip2 in case anyone complains.
>
> (i.e. do it in a followup)

Agreed.

> >
> > Cheers
> >   Nick
> >
> > [1] https://sourceware.org/git/?p=binutils-gdb.git;a=blob_plain;f=binutils/README-how-to-make-a-release;hb=HEAD
>
> thanks,
> sam

While zstd can achieve similar compression to xz, it requires a much
higher compression level, significantly slowing down the compression.
Decompression with xz is faster than bzip2, and for a 40+MiB tar.xz,
2s for decompression likely isn't a major concern for users.

.tar.gz and .tar.bz2 are not on the compression Pareto frontier. Their
presence on https://ftp.gnu.org/gnu/binutils/ is likely no longer
necessary.

The release managers can consider removing .tar.gz and .tar.bz2 for
new releases without modifying src-release.sh.
If users express a need, .tar.gz and .tar.bz2 could be temporarily
reintroduced for one release cycle. However, users should be strongly
encouraged to migrate to xz or zstd. After one additional release,
.tar.gz and .tar.bz2 can be permanently removed for new releases. Then
src-release.sh can be modified to remove support for gz and bz2.


More information about the Binutils mailing list