[automake] configure stops when run by big UID (#843379)

Petr Hracek phracek at fedoraproject.org
Wed Apr 24 11:42:50 UTC 2013


commit cf408a4e8e6966224efe5c667122719c2758bb87
Author: Petr Hracek <phracek at redhat.com>
Date:   Wed Apr 24 12:33:35 2013 +0200

    configure stops when run by big UID (#843379)

 automake-1.13.1-pax-hangs.patch |   37 +++++++++++++++++++++++++++++++++++++
 automake.spec                   |    7 ++++++-
 2 files changed, 43 insertions(+), 1 deletions(-)
---
diff --git a/automake-1.13.1-pax-hangs.patch b/automake-1.13.1-pax-hangs.patch
new file mode 100644
index 0000000..5351003
--- /dev/null
+++ b/automake-1.13.1-pax-hangs.patch
@@ -0,0 +1,37 @@
+diff --git a/m4/tar.m4 b/m4/tar.m4
+index ec8c83e..681fcbf 100644
+--- a/m4/tar.m4
++++ b/m4/tar.m4
+@@ -81,7 +81,31 @@ do
+   AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+   rm -rf conftest.dir
+   if test -s conftest.tar; then
+-    AM_RUN_LOG([$am__untar <conftest.tar])
++    m4_if([$1], [ustar], [
++      if test "$_am_tool" = pax; then
++        # Automake bugs #8343 and #13588: 'pax' can hang when UIDs
++        # or GIDs are involved that requires more than 21 bits to
++        # be stored.
++        am_max_uid=2097151 # 2^21 - 1
++        am_max_gid=$am_max_uid
++        # The $UID and $GID variables are not portable, so we need to
++        # resort to the POSIX-mandated id(1) utility.  Errors here are
++        # definitely unexpected, so allow the users to see them (i.e.,
++        # no stderr redirection).
++        am_uid=`id -u || echo unknown`
++        am_gid=`id -g || echo unknown`
++        if test $am_uid -le $am_max_uid; then :; else
++          AS_ECHO(["$as_me: $LINENO: UID '$am_uid' too large for ustar"]) \
++          >&AS_MESSAGE_LOG_FD
++          continue
++        fi
++        if test $am_gid -le $am_max_gid; then :; else
++          AS_ECHO(["$as_me: $LINENO: UID '$am_gid' too large for ustar"]) \
++          >&AS_MESSAGE_LOG_FD
++          continue
++        fi
++      fi
++    ]) # $1 == ustar
+     grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+   fi
+ done
diff --git a/automake.spec b/automake.spec
index 9b90fdf..0f97aa6 100644
--- a/automake.spec
+++ b/automake.spec
@@ -3,7 +3,7 @@
 Summary:    A GNU tool for automatically creating Makefiles
 Name:       automake
 Version:    %{api_version}.1
-Release:    15%{?dist}
+Release:    16%{?dist}
 
 # docs ~> GFDL, sources ~> GPLv2+, mkinstalldirs ~> PD and install-sh ~> MIT
 License:    GPLv2+ and GFDL and Public Domain and MIT
@@ -19,6 +19,7 @@ Patch1:     %{name}-%{version}-disable-tests.patch
 # ~> #901333
 # ~> already upstream (commits 7a3d7cee2 and c83c13355)
 Patch2:     %{name}-%{version}-non-existing-m4-dir.patch
+Patch3:     %{name}-%{version}-pax-hangs.patch
 
 URL:        http://www.gnu.org/software/automake/
 Requires:   autoconf >= 2.65
@@ -69,6 +70,7 @@ Makefiles.
 %patch0 -p1 -b .reenable_macros
 %patch1 -p1 -b .disable_tests
 %patch2 -p1 -b .non_existing_m4_dir
+%patch3 -p1 -b .pax-hangs
 autoreconf -iv
 
 # Fedora only to add ppc64p7 (Power7 optimized) arch:
@@ -109,6 +111,9 @@ fi
 %{_mandir}/man1/*
 
 %changelog
+* Wed Apr 24 2013 Petr Hracek <phracek at redhat.com> - 1.13.1-16
+- configure stops when run by big UID (#843379)
+
 * Thu Apr 11 2013 Pavel Raiskup <praiskup at redhat.com> - 1.13.1-15
 - tune %%check to show testsuite.log when failed
 


More information about the scm-commits mailing list