Jim Meyering <[EMAIL PROTECTED]> writes: > Simon Josefsson <[EMAIL PROTECTED]> wrote: >> I'm going through Coreutils GNUmakefile and Makefile.maint to identify >> useful rules. Some question pop up: >> >> 1) >> >> Is this rule generally safe? Does it assume GNU tar? Is there a real >> problem solved by this, or is it just "nice"? >> >> # Make tar archive easier to reproduce. >> export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner > > Those options help minimize unnecessary differences between tar archives. > >> Further, shouldn't automake set this, if it is safe? > > They're all gnu-tar-specific.
Doesn't automake test for GNU-tools? It could test for GNU tar and use those parameters when available too. It seems cleaner to me, and with no apparent disadvantage. It would benefit all automake projects automatically. If automake would have a TAR_OPTIONS variable or similar, this wouldn't be as important. But right now, it seems it is impossible to add parameters to 'tar' as invoked by automake. The only workaround is the TAR_OPTIONS environment variable, but you can't set environment variables in makefiles in a portable way. >> 2) >> >> The following is not safe, --rsyncable is a new feature. >> >> # Do not save the original name or timestamp in the .tar.gz file. >> GZIP_ENV = '--no-name --best --rsyncable' >> >> Perhaps this, and the previous case, should be moved to a m4 macro, to >> find out whether the parameters are supported or not. Thoughts? > > Rather, how about keeping the tests stand-alone? > For example, here's the change I've just made so that the rule > works even when gzip doesn't support the --rsyncable option: Your solution for the GZIP example solves everything, I believe. Your snippet can be included in a gnulib.mk, and would not cause any problems for anyone. Still, I think the TAR stuff is different. You can't set TAR_OPTIONS in gnulib.mk, because it is not portable. I see a couple of options: 1) Move the tar options stuff to automake proper. 2) Make automake adhere to a TAR_OPTIONS make variable. 3) Write a wrapper-script for 'tar' that is included, which will set those variables if possible. Thanks. _______________________________________________ bug-gnulib mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gnulib
