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: Bob Friesenhahn
Subject: Re: Fix ltdl files installation (was: branch 2.0, make install DESTDIR=)
Date: Fri, 5 Aug 2005 10:19:47 -0500 (CDT)

On Fri, 5 Aug 2005, Ralf Wildenhues wrote:

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.

The patch looks much better than the 'chown -R root' junk that it replaces.

Files should always be installed using the effective UID of the user doing the install (not necessarily root). The only exception would be for programs which need to be installed SUID to a particular user in order to function.

Bob

       * 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) || :


_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool


======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/




reply via email to

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