[OE-core] [PATCH] automake: Fix issue with tar configure failing with large UID/GIDs

Richard Purdie richard.purdie at linuxfoundation.org
Tue Aug 2 10:09:45 UTC 2011


On Tue, 2011-08-02 at 03:14 -0500, Kumar Gala wrote:
> Add a fixup for trying to create ustar archives when the users
> UID or GID is larger than the format allows.
> 
> Based on a patch from Tom Rini
> 
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
>  meta/recipes-devtools/automake/automake.inc        |    2 +-
>  .../prefer-cpio-over-pax-for-ustar-archives.patch  |   26 ++++++++++++++++++++
>  meta/recipes-devtools/automake/automake_1.11.1.bb  |    8 +++++-
>  3 files changed, 34 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-devtools/automake/automake/prefer-cpio-over-pax-for-ustar-archives.patch
> 
> diff --git a/meta/recipes-devtools/automake/automake.inc b/meta/recipes-devtools/automake/automake.inc
> index beeec7b..96d797f 100644
> --- a/meta/recipes-devtools/automake/automake.inc
> +++ b/meta/recipes-devtools/automake/automake.inc
> @@ -4,7 +4,7 @@ Standards. Automake requires the use of Autoconf."
>  LICENSE = "GPLv2"
>  HOMEPAGE = "http://www.gnu.org/software/automake/"
>  SECTION = "devel"
> -PR = "r2"
> +PR = "r3"
>  
>  SRC_URI = "${GNU_MIRROR}/automake/automake-${PV}.tar.bz2 "
>  
> diff --git a/meta/recipes-devtools/automake/automake/prefer-cpio-over-pax-for-ustar-archives.patch b/meta/recipes-devtools/automake/automake/prefer-cpio-over-pax-for-ustar-archives.patch
> new file mode 100644
> index 0000000..3fda937
> --- /dev/null
> +++ b/meta/recipes-devtools/automake/automake/prefer-cpio-over-pax-for-ustar-archives.patch


Can we add some documentation into the patch header about why this is
necessary and how it solved the problem please?

> @@ -0,0 +1,26 @@
> +Index: automake-1.11.1/m4/tar.m4
> +===================================================================
> +--- automake-1.11.1.orig/m4/tar.m4
> ++++ automake-1.11.1/m4/tar.m4
> +@@ -30,7 +30,7 @@ m4_if([$1], [v7],
> +               [m4_fatal([Unknown tar format])])
> + AC_MSG_CHECKING([how to create a $1 tar archive])
> + # Loop over all known methods to create a tar archive until one works.
> +-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
> ++_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) cpio pax none'
> + _am_tools=${am_cv_prog_tar_$1-$_am_tools}
> + # Do not fold the above two line into one, because Tru64 sh and
> + # Solaris sh will not grok spaces in the rhs of `-'.
> +Index: automake-1.11.1/Makefile.in
> +===================================================================
> +--- automake-1.11.1.orig/Makefile.in
> ++++ automake-1.11.1/Makefile.in
> +@@ -44,7 +44,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/a
> + 	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
> + 	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
> + 	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
> +-	$(top_srcdir)/m4/substnot.m4 $(top_srcdir)/m4/tar.m4 \
> ++	$(top_srcdir)/m4/substnot.m4 \
> + 	$(top_srcdir)/configure.ac
> + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
> + 	$(ACLOCAL_M4)
> diff --git a/meta/recipes-devtools/automake/automake_1.11.1.bb b/meta/recipes-devtools/automake/automake_1.11.1.bb
> index b231a94..764b6fc 100644
> --- a/meta/recipes-devtools/automake/automake_1.11.1.bb
> +++ b/meta/recipes-devtools/automake/automake_1.11.1.bb
> @@ -32,11 +32,17 @@ RDEPENDS_automake-native = "autoconf-native perl-native-runtime"
>  PATHFIXPATCH = "file://path_prog_fixes.patch;patch=1"
>  PATHFIXPATCH_virtclass-native = ""
>  
> -SRC_URI += "${PATHFIXPATCH}"
> +SRC_URI += "${PATHFIXPATCH} \
> +	    file://prefer-cpio-over-pax-for-ustar-archives.patch;patch=1"
>  
>  SRC_URI[md5sum] = "c2972c4d9b3e29c03d5f2af86249876f"
>  SRC_URI[sha256sum] = "5b159d3c0e0a1f87de71b68bcb9f1a1c49e9e71749c9b723f17e2e1e0295c7ae"
>  
> +do_configure () {
> +	touch ${S}/Makefile.in
> +	autotools_do_configure
> +}
> +

and a comment here would be very useful too to explain why this is
necessary?

Cheers,

Richard






More information about the Openembedded-core mailing list