From: Brian J. Murrell Date: Thu, 27 Jan 2011 19:52:02 +0000 (-0500) Subject: b=21581 too long file / path names for old tar X-Git-Tag: 1.8.5.54~17 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=ccfd1994547c15eb46ba252317f90c2a75299a8b;p=fs%2Flustre-release.git b=21581 too long file / path names for old tar Instruct automake to use tar's ustar format to prevent errors when pathnames are longer than 99 characters. - this requires automake >= 1.9, so adjust accordingly - including dealing with multiple versions of automake installed i=adilger Issue: LU-47 Change-Id: Iaafcb3573c164c2b0e3efd60eb4223dc93bf1493 --- diff --git a/build/autogen.sh b/build/autogen.sh index 419d8e7..e150bc2 100644 --- a/build/autogen.sh +++ b/build/autogen.sh @@ -19,41 +19,24 @@ compare_versions() { } error_msg() { - echo "$cmd is $1. version $required is required to build Lustre." + echo "$cmd is $1. Version $required (or higher) is required to build Lustre." - if [ -e /usr/lib/autolustre/bin/$cmd ]; then - cat >&2 <<-EOF - You apparently already have Lustre-specific autoconf/make RPMs - installed on your system at /usr/lib/autolustre/share/$cmd. - Please set your PATH to point to those versions: - - export PATH="/usr/lib/autolustre/bin:\$PATH" - EOF - else - cat >&2 <<-EOF - Sun provides RPMs which can be installed alongside your - existing autoconf/make RPMs, if you are nervous about - upgrading. See - - http://downloads.lustre.org/public/tools/autolustre/README.autolustre - - You may be able to download newer version from: - - http://ftp.gnu.org/gnu/$tool/$tool-$required.tar.gz - EOF + if [ ! -x /usr/bin/lsb_release ]; then + echo "lsb_release could not be found. If it were available more help on how to resolve this\nsituation would be available." fi - [ "$cmd" = "autoconf" -a "$required" = "2.57" ] && cat >&2 <&2 <= $required... " if ! $cmd --version >/dev/null ; then error_msg "missing" fi @@ -105,21 +88,33 @@ for dir in $OPTIONAL_DIRS; do fi done -for AMVER in 1.7 1.8 1.9 1.10 1.11; do - [ "$(which automake-$AMVER 2> /dev/null)" ] && break +found=false +for AMVER in 1.9 1.10 1.11; do + if [ "$(which automake-$AMVER 2> /dev/null)" ]; then + found=true + break + fi done +if ! $found; then + cmd=automake required="1.9" error_msg "not found" + exit 1 +fi + [ "${AMVER#1.}" -ge "10" ] && AMOPT="-W no-portability" -check_version automake automake-$AMVER "1.7.8" +check_version automake automake-$AMVER "1.9" check_version autoconf autoconf "2.57" -echo "Running aclocal-$AMVER $ACLOCAL_FLAGS..." -aclocal-$AMVER $ACLOCAL_FLAGS || exit 1 +export ACLOCAL="aclocal-$AMVER" +export AUTOMAKE="automake-$AMVER" + +echo "Running $ACLOCAL $ACLOCAL_FLAGS..." +$ACLOCAL $ACLOCAL_FLAGS || exit 1 echo "Running autoheader..." autoheader || exit 1 -echo "Running automake-$AMVER..." -automake-$AMVER -a -c $AMOPT || exit 1 +echo "Running $AUTOMAKE..." +$AUTOMAKE -a -c $AMOPT || exit 1 echo "Running autoconf..." autoconf || exit 1 diff --git a/configure.ac b/configure.ac index 102257d..1fc11c9 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ LC_CONFIG_SRCDIR AC_CANONICAL_SYSTEM -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([1.9 tar-ustar]) # AM_MAINTAINER_MODE AC_PROG_CC diff --git a/ldiskfs/configure.ac b/ldiskfs/configure.ac index 3b71031..7ce1a6e 100644 --- a/ldiskfs/configure.ac +++ b/ldiskfs/configure.ac @@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR([.]) AC_CANONICAL_SYSTEM -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([1.9 tar-ustar]) AC_PROG_CC diff --git a/libsysio/autogen.sh b/libsysio/autogen.sh index 81ad5b6..fb2b383 100755 --- a/libsysio/autogen.sh +++ b/libsysio/autogen.sh @@ -1,5 +1,5 @@ #!/bin/sh -aclocal && -automake --add-missing --copy && +${ACLOCAL:-aclocal} && +${AUTOMAKE:-automake} --add-missing --copy && ${AUTOCONF:-autoconf} diff --git a/libsysio/configure.in b/libsysio/configure.in index 5ce600f..cc32d87 100644 --- a/libsysio/configure.in +++ b/libsysio/configure.in @@ -12,7 +12,7 @@ case "$host_os" in ;; esac -AM_INIT_AUTOMAKE([subdir-objects]) +AM_INIT_AUTOMAKE([subdir-objects 1.9 tar-ustar]) AC_PROG_CC AM_PROG_CC_C_O diff --git a/lustre-iokit/autogen.sh b/lustre-iokit/autogen.sh index 37f4a15..b491fce 100644 --- a/lustre-iokit/autogen.sh +++ b/lustre-iokit/autogen.sh @@ -14,8 +14,8 @@ run_cmd() { $cmd || fatal "$cmd failed!" } -run_cmd aclocal -run_cmd "automake -a -c" +run_cmd ${ACLOCAL:-aclocal} +run_cmd "${AUTOMAKE:-automake} -a -c" run_cmd autoconf echo "Finished. Ready for ./configure ..."