libtool
[Top][All Lists]
Advanced

[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




reply via email to

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