[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix ltdl files installation (was: branch 2.0, make install DESTDIR=)
From: |
Ralf Wildenhues |
Subject: |
Re: Fix ltdl files installation (was: branch 2.0, make install DESTDIR=) |
Date: |
Thu, 18 Aug 2005 13:55:41 +0200 |
User-agent: |
Mutt/1.4.1i |
* Ralf Wildenhues wrote on Fri, Aug 05, 2005 at 03:09:23PM CEST:
> * 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.
>
> * 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>.
This should make HEAD finally installable again. `libtoolize --ltdl'
(and a couple of other setups) will still fail, but I will address this
in another mail; it needs a bit of discussion. If this patch is OK,
I'll backport this to branch-2-0 to work similarly.
Cheers,
Ralf
* 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.155
diff -u -r1.155 Makefile.am
--- Makefile.am 8 Aug 2005 09:23:57 -0000 1.155
+++ Makefile.am 15 Aug 2005 15:58:59 -0000
@@ -44,9 +44,10 @@
rm -f libtoolize.tmp libtoolize
$(timestamp); \
input="libtoolize.m4sh"; \
+ ltdldatafiles=`echo $(ltdldatafiles) | sed 's,^libltdl/,,;s, libltdl/,
,g'`; \
$(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
-e 's,@aclocal_DATA\@,$(aclocalfiles),g' \
- -e "s,@pkgltdl_files\@,$(ltdldatafiles),g" \
+ -e "s,@pkgltdl_files\@,$$ltdldatafiles,g" \
$(srcdir)/libtoolize.in > libtoolize.tmp
chmod a+x libtoolize.tmp
chmod a-w libtoolize.tmp
@@ -210,52 +211,46 @@
## These are installed as a subdirectory of pkgdatadir so that
## libtoolize --ltdl can find them later:
-ltdldatadir = $(pkgdatadir)/libltdl
-ltdldatafiles = COPYING.LIB README \
- Makefile.am Makefile.in \
- argz_.h argz.c \
- configure.ac configure \
- libltdl/lt__alloc.h \
- libltdl/lt__dirent.h \
- libltdl/lt__glibc.h \
- libltdl/lt__private.h \
- libltdl/lt__strl.h \
- libltdl/lt_dlloader.h \
- libltdl/lt_error.h \
- libltdl/lt_system.h \
- libltdl/slist.h \
- loaders/dld_link.c \
- loaders/dlopen.c \
- loaders/dyld.c \
- loaders/load_add_on.c \
- loaders/loadlibrary.c \
- loaders/preopen.c \
- loaders/shl_load.c \
- lt__alloc.c \
- lt__dirent.c \
- lt__strl.c \
- lt_dlloader.c \
- lt_error.c \
- ltdl.c ltdl.h \
- slist.c
+nobase_pkgdata_DATA = $(ltdldatafiles)
+ltdldatafiles = \
+ libltdl/COPYING.LIB \
+ libltdl/README \
+ libltdl/Makefile.am \
+ libltdl/configure.ac \
+ libltdl/libltdl/lt__alloc.h \
+ libltdl/libltdl/lt__dirent.h \
+ libltdl/libltdl/lt__glibc.h \
+ libltdl/libltdl/lt__private.h \
+ libltdl/libltdl/lt__strl.h \
+ libltdl/libltdl/lt_dlloader.h \
+ libltdl/libltdl/lt_error.h \
+ libltdl/libltdl/lt_system.h \
+ libltdl/libltdl/slist.h \
+ libltdl/loaders/dld_link.c \
+ libltdl/loaders/dlopen.c \
+ libltdl/loaders/dyld.c \
+ libltdl/loaders/load_add_on.c \
+ libltdl/loaders/loadlibrary.c \
+ libltdl/loaders/preopen.c \
+ libltdl/loaders/shl_load.c \
+ libltdl/lt__alloc.c \
+ libltdl/lt__dirent.c \
+ libltdl/lt__strl.c \
+ libltdl/lt_dlloader.c \
+ libltdl/lt_error.c \
+ libltdl/ltdl.c \
+ libltdl/ltdl.h \
+ libltdl/slist.c \
+ libltdl/argz_.h \
+ libltdl/argz.c \
+ libltdl/Makefile.in \
+ libltdl/configure
+
+aclocal_DATA = $(aclocalfiles)
install-data-local:
## Don't install over the top of an old pkgdatadir
-rm -rf $(DESTDIR)$(pkgdatadir)
-## To avoid spurious reconfiguration when the user installs these files
-## with libtoolize, we have to preserve their timestamps carefully:
- $(mkinstalldirs) $(DESTDIR)$(ltdldatadir)
- ( cd $(srcdir)/libltdl && $(AMTAR) chf - $(ltdldatafiles); ) \
- | ( umask 0 && cd $(DESTDIR)$(ltdldatadir) && $(AMTAR) xf -; )
- $(mkinstalldirs) $(DESTDIR)$(aclocaldir)
- @for p in $(aclocalfiles); do \
- f=`echo "$$p" | sed 's|^.*/||'`; \
- aclocalfiles="$$aclocalfiles $$f"; \
- done; \
- ( cd $(srcdir)/m4 && $(AMTAR) chf - $$aclocalfiles; ) \
- | ( umask 0 && cd $(DESTDIR)$(aclocaldir) && $(AMTAR) xf -; )
- chown -R root $(DESTDIR)$(ltdldatadir) && \
- chgrp -R root $(DESTDIR)$(ltdldatadir) || :
install-data-hook:
chmod +x $(DESTDIR)$(pkgdatadir)/config/config.guess
@@ -266,17 +261,6 @@
## ------------- ##
## Distribution. ##
## ------------- ##
-
-uninstall-hook:
- @for f in $(ltdldatafiles); do \
- echo " rm -rf '$(DESTDIR)$(ltdldatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(ltdldatadir)/$$f"; \
- done
- @for p in $(aclocalfiles); do \
- f=`echo "$$p" | sed 's|^.*/||'`; \
- echo " rm -rf '$(DESTDIR)$(aclocaldir)/$$f'"; \
- rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \
- done;
## Ship README.alpha only in alpha release, but renamed to README