automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

minor fixes for make dist


From: Dimitrios Apostolou
Subject: minor fixes for make dist
Date: Fri, 20 Jan 2017 01:54:41 +0100 (CET)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)

Hello list,

attached is a patch that addresses several minor issues - in my
opinion - of make dist.

First, it removes the special flags used for the compressors. Why?
Because:
: xz -e
unreasonably slow for little to no benefit
: bzip2 -9
is the default, no need to set it explicitly
: xz/lzip -9
hinders decompression of tarballs on low RAM systems (my experience is
that with less than 100MB free RAM, it starts swapping.
: gzip -9
Much slower, very little benefit over the default -6. Overall it might
be the only case where it's acceptable, as gzip has low requirements in
general so "much slower" is not *that* slow. But we have better
algorithms for achieving much better compression ratio than gzip -9.

Overall what I'm suggesting is to trust the author defaults, unless
overriden by the user.

Another issue fixed here is that I try to respect the environment passed
to make. If GZIP is set, now it is not overriden in any way. Options to
gzip can be passed by setting the environment variable desribed in its
man page, either in the environment, or in the makefile. Similar for the
other compressors (except lzip that does not support environment
settings). Side effect is that the makefile variable GZIP_ENV is removed
as I tried to keep things in symmetry, but this may break weird
pre-existing use cases.

Additionally I completely removed passing of flags to decompressors. A
decompressor always generates the same result.

Regarding "tar", I followed the same logic as with the compressors and
I'm utilising TAR_OPTIONS to affect GNU tar's behaviour. I also added a
couple of options as defaults, namely "--owner=0 --group=0" to avoid
disclosing buildsystem's UIDs and GIDs and make tarballs closer to
identical even if generated from different users. Again this might break
pre-existing uses that need this info, but variable can be easily set to
empty when calling "make dist".

Finally some variables have been quoted to ensure they will work with
spaces. This was already the case in other parts of the file. It still
is mixed though for important variables, notably "distdir", which is
a separate issue, I believe.

So what do you think?
Regards,
Dimitris

P.S. Please keep me CC'd as I'm not subscribed.

Attachment: distdir.am.2.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]