autoconf
[Top][All Lists]
Advanced

[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.



reply via email to

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