[Top][All Lists]
[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) || :