[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Using 'make dist' with a 32 UID
From: |
Finucane, Stephen |
Subject: |
Using 'make dist' with a 32 UID |
Date: |
Mon, 5 Jan 2015 10:08:40 +0000 |
Autotools defaults to the 'v7' legacy tar format in GNU tar, through passing of
the '-o' parameter to GNU tar. Enabling this option results in errors for users
with 32 bit UIDs. For example, with the Open vSwitch package:
$ make dist
...
tardir=openvswitch-2.3.90 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip
-c >openvswitch-2.3.90.tar.gz
tar: value 12345678 out of uid_t range 0..2097151
tar: Exiting with failure status due to previous errors
make[1]: Leaving directory `/development/ovs'
...
I managed to modify the Autoconf 'configure.ac' file to use the 'tar-ustar'
format, which allow longer file names and other niceties. Again, with the Open
vSwitch package:
diff --git a/configure.ac b/configure.ac
index ebb8b02..6505189 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,7 +19,7 @@ AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_TESTDIR([tests])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([tar-ustar])
AC_PROG_CC_C99
AM_PROG_CC_C_O
--
1.7.4.1
This would appear to be an issue that would affect all users with 32 bit UIDs
who wish to use the 'dist' target and its derivatives. Given this information,
is modifying the 'configure.ac' file like above this the best approach to fix
this issues? It fixes the issue but it would require modifying the
'configure.ac' file of all packages that use GNU Autotools. Perhaps there's
some other way to enable this at runtime (i.e. './configure
--enable-tar-ustar')?
Kind regards,
Stephen
PS: I have researched the mailing list, Google, and the source in my F20
machine for an answer to this question. Sadly, I did not find one.
- Using 'make dist' with a 32 UID,
Finucane, Stephen <=