From: Gary V. Vaughan Date: Thu, 10 Mar 2005 20:20:41 +0000 (+0000) Subject: * libltdl/Makefile.am (install-data-local): Don't force v7 tar X-Git-Tag: release-1-5-16~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecdb94aae52ff1cc8ce45919d44b02e4c88f3604;p=thirdparty%2Flibtool.git * libltdl/Makefile.am (install-data-local): Don't force v7 tar format with the `o' flag in create mode. Set the umask to 0 when untarring to avoid copied files taking their mode from the installer's umask. * libtoolize.m4sh (func_copy_cb): Ditto. Ignore errors from failed `cd' in the tar processes, since we may be running in dryrun mode. * libltdl/Makefile.am (ltdldatafiles): List all files needed to build a newly libtoolize installed libltdl directory even if the parent project doesn't use autoconf and automake. Reported by Noah Misch , Bob Friesenhahn --- diff --git a/ChangeLog b/ChangeLog index 1a6ca9dd7..b1081fe7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2005-03-10 Gary V. Vaughan + + * libltdl/Makefile.am (install-data-local): Don't force v7 tar + format with the `o' flag in create mode. + Set the umask to 0 when untarring to avoid copied files taking + their mode from the installer's umask. + * libtoolize.m4sh (func_copy_cb): Ditto. + Ignore errors from failed `cd' in the tar processes, since we + may be running in dryrun mode. + * libltdl/Makefile.am (ltdldatafiles): List all files needed to + build a newly libtoolize installed libltdl directory even if the + parent project doesn't use autoconf and automake. + Reported by Noah Misch , + Bob Friesenhahn + 2005-03-08 Albert Chin-A-Young * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG, diff --git a/libltdl/Makefile.am b/libltdl/Makefile.am index 73397da06..49d890225 100644 --- a/libltdl/Makefile.am +++ b/libltdl/Makefile.am @@ -31,11 +31,19 @@ $(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool libtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status --recheck +## These are installed as a subdirectory of pkgdatadir so that +## libtoolize --ltdl can find them later: +ltdldatadir = $(datadir)/libtool/libltdl +ltdldatafiles = COPYING.LIB README acinclude.m4 aclocal.m4 \ + Makefile.am Makefile.in configure.ac configure \ + config-h.in config.guess config.sub \ + install-sh missing ltmain.sh \ + ltdl.c ltdl.h + ## To avoid spurious reconfiguration when the user installs these files ## with libtoolize, we have to preserve their timestamps carefully: -ltdldatadir = $(datadir)/libtool/libltdl install-data-local: -rm -rf $(DESTDIR)$(ltdldatadir) $(mkinstalldirs) $(DESTDIR)$(ltdldatadir) - $(AMTAR) chof - $(DISTFILES) \ - | ( cd $(DESTDIR)$(ltdldatadir) && $(AMTAR) xf -; ) + ( cd $(srcdir) && $(AMTAR) chf - $(ltdldatafiles); ) \ + | ( umask 0 && cd $(DESTDIR)$(ltdldatadir) && $(AMTAR) xf -; ) diff --git a/libtoolize.in b/libtoolize.in index bba03a91c..9a386cd58 100644 --- a/libtoolize.in +++ b/libtoolize.in @@ -293,8 +293,8 @@ for file in $ltdlfiles; do $rm $file if test -n "$ln_s" && $ln_s $pkgdatadir/$file $file; then : - elif { ( cd $pkgdatadir && $tar chof - $file 2> /dev/null; ) \ - | $tar xf - > /dev/null 2>&1; } ; then : + elif { ( cd $pkgdatadir 2>/dev/null && $tar chf - $file 2> /dev/null; ) \ + | ( umask 0 && $tar xf - > /dev/null 2>&1; ) } ; then : elif $cp $pkgdatadir/$file $file; then : else echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2 @@ -312,8 +312,8 @@ if test "x$ltdl_tar" = x"yes"; then $mkdir libltdl ltdlfiles=`cd $pkgdatadir && ls libltdl/*` for file in $ltdlfiles; do - if { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \ - | $tar xf - > /dev/null 2>&1; } ; then : + if { ( cd $pkgdatadir 2>/dev/null && $tar chf - $file 2> /dev/null; ) \ + | ( umask 0 && $tar xf - > /dev/null 2>&1; ) } ; then : elif $cp $pkgdatadir/$file $file; then : else echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2 @@ -322,8 +322,8 @@ if test "x$ltdl_tar" = x"yes"; then fi done for file in $files; do - if { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \ - | ( cd libltdl && $tar xf - > /dev/null 2>&1; ) } ; then : + if { ( cd $pkgdatadir 2>/dev/null && $tar chf - $file 2> /dev/null; ) \ + | ( umask 0 && cd libltdl 2>/dev/null && $tar xf - > /dev/null 2>&1; ) } ; then : elif $cp $pkgdatadir/$file libltdl/$file; then : else echo "$progname: cannot copy \`$pkgdatadir/$file' to \`libltdl/$file'" 1>&2 @@ -351,8 +351,8 @@ for file in $files; do $rm $file if test -n "$ln_s" && $ln_s $pkgdatadir/$file $file; then : - elif { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \ - | $tar xf - > /dev/null 2>&1; } ; then : + elif { ( cd $pkgdatadir 2>/dev/null && $tar chf - $file 2> /dev/null; ) \ + | ( umask 0 && $tar xf - > /dev/null 2>&1; ) } ; then : elif $cp $pkgdatadir/$file $file; then : else echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2