libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fix ltdl files installation (was: branch 2.0, make install DESTDIR=)


From: Ralf Wildenhues
Subject: Fix ltdl files installation (was: branch 2.0, make install DESTDIR=)
Date: Fri, 5 Aug 2005 15:09:23 +0200
User-agent: Mutt/1.4.1i

[ This should fix once and for all the issues that have come up with
the changes put in so far for Jeff Squyres' bug report:
http://lists.gnu.org/archive/html/libtool/2005-02/msg00115.html
and have caused numerous problems in the meantime:
http://lists.gnu.org/archive/html/bug-libtool/2005-04/msg00178.html
http://lists.gnu.org/archive/html/bug-libtool/2005-07/msg00001.html
http://lists.gnu.org/archive/html/libtool/2005-07/msg00078.html
]

* Ralf Wildenhues wrote on Mon, Aug 01, 2005 at 03:43:34PM CEST:
> Peter O'Gorman writes:
> > 
> > Perhaps instead of going through hoops here we need to rethink the whole
> > idea of using tar to keep the timestamps accurate. Maybe using one of the
> > other ideas in the original report?
> 
> Very good idea, actually.  IMHO.

OK.  Let's just install them in the correct order.  libtoolize can still
use the `tar' pipe to keep the time stamps on the way from the
installatinon dir to the user package source tree.

Proposed patch OK for branch-1-5?  Unfortunately, the forward ports will
need more work.

Cheers,
Ralf

        * Makefile.am, libltdl/Makefile.am: Install libltdl data files
        in correct order, by Automake rules.  Really fixes ownership and
        timestamp problems.
        Reported by Peter Breitenlohner <address@hidden> and
        Charles Wilson <address@hidden>.

Index: Makefile.am
===================================================================
RCS file: /cvsroot/libtool/libtool/Makefile.am,v
retrieving revision 1.69.2.15
diff -u -r1.69.2.15 Makefile.am
--- Makefile.am 2 May 2005 12:52:06 -0000       1.69.2.15
+++ Makefile.am 5 Aug 2005 12:47:45 -0000
@@ -32,6 +32,29 @@
 # The standalone libtool script, and the libtool distributor.
 bin_SCRIPTS = libtool libtoolize
 
+## These are installed as a subdirectory of pkgdatadir so that
+## libtoolize --ltdl can find them later:
+## Preserve order here so that generated files remain newer than
+## their dependencies.
+ltdldatadir = $(pkgdatadir)/libltdl
+ltdldata_DATA = \
+       libltdl/COPYING.LIB \
+       libltdl/README \
+       libltdl/configure.ac \
+       libltdl/Makefile.am \
+       libltdl/ltdl.c \
+       libltdl/ltdl.h \
+       libltdl/config.guess \
+       libltdl/config.sub \
+       libltdl/install-sh \
+       libltdl/missing \
+       libltdl/ltmain.sh \
+       libltdl/acinclude.m4 \
+       libltdl/aclocal.m4 \
+       libltdl/Makefile.in \
+       libltdl/configure \
+       libltdl/config-h.in
+
 libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.ac
        $(SHELL) $(top_builddir)/config.status --recheck
        chmod +x $@
@@ -72,10 +95,14 @@
 
 # Create and install libltdl
 install-data-hook:
-       cd libltdl && $(MAKE) local-install-files
        chmod +x $(DESTDIR)$(pkgdatadir)/config.guess
        chmod +x $(DESTDIR)$(pkgdatadir)/config.sub
        chmod +x $(DESTDIR)$(pkgdatadir)/install-sh
+       chmod +x $(DESTDIR)$(pkgdatadir)/libltdl/config.guess
+       chmod +x $(DESTDIR)$(pkgdatadir)/libltdl/config.sub
+       chmod +x $(DESTDIR)$(pkgdatadir)/libltdl/install-sh
+       chmod +x $(DESTDIR)$(pkgdatadir)/libltdl/configure
+       chmod +x $(DESTDIR)$(pkgdatadir)/libltdl/missing
 
 # Uninstall libltdl
 uninstall-local:
Index: libltdl/Makefile.am
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/Makefile.am,v
retrieving revision 1.42.2.7
diff -u -r1.42.2.7 Makefile.am
--- libltdl/Makefile.am 8 Jul 2005 15:57:50 -0000       1.42.2.7
+++ libltdl/Makefile.am 5 Aug 2005 12:47:45 -0000
@@ -30,22 +30,3 @@
 $(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:
-local-install-files: $(ltdldatafiles)
-       -rm -rf $(DESTDIR)$(ltdldatadir)
-       $(mkinstalldirs) $(DESTDIR)$(ltdldatadir)
-       ( cd $(srcdir) && $(AMTAR) chf - $(ltdldatafiles); ) \
-         | ( umask 0 && cd $(DESTDIR)$(ltdldatadir) && $(AMTAR) xf -; )
-       chown -R root $(DESTDIR)$(ltdldatadir) && \
-       chgrp -R root $(DESTDIR)$(ltdldatadir) || :




reply via email to

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