FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 02-02-2010, 06:25 AM
 
Default Fix DESTDIR usage in Makefiles

The current practice of prefixing $DESTDIR to %prefix% does not work
well with the default values of various directories as set by
./configure.

If you
./configure
make
make install DESTDIR=/tmp/root

then the man page are installed in the system man pages, not in
/tmp/root at all, so library files are install in /tmp/root/tmp/root/lib.

This patch changes all the Makefiles to mention $DESTDIR explicitly
when installing, and removes the prepending of $DESTDIR in make.tmpl.

It also modifies the configure command in dmraid.spec to not prefix
all directories with RPM_BUILD_ROOT.


---
dmraid.spec | 4 ++--
include/Makefile.in | 10 +++++-----
lib/Makefile.in | 16 +++++++++-------
make.tmpl.in | 10 +++++-----
man/Makefile.in | 12 ++++++------
tools/Makefile.in | 10 +++++-----
6 files changed, 32 insertions(+), 30 deletions(-)

--- dmraid.orig/dmraid.spec
+++ dmraid/dmraid.spec
@@ -72,8 +72,8 @@ Device failure reporting has to be activ
%build
%define _libdir /%{_lib}

-%configure --prefix=${RPM_BUILD_ROOT}/usr --sbindir=${RPM_BUILD_ROOT}/sbin --libdir=${RPM_BUILD_ROOT}/%{_libdir} --mandir=${RPM_BUILD_ROOT}/%{_mandir} --includedir=${RPM_BUILD_ROOT}/%{_includedir} --enable-debug --enable-libselinux --enable-libsepol --disable-static_link --enable-led --enable-intel_led
-make DESTDIR=$RPM_BUILD_ROOT
+%configure --prefix=/usr --sbindir=/sbin --libdir=%{_libdir} --mandir=%{_mandir} --includedir=%{_includedir} --enable-debug --enable-libselinux --enable-libsepol --disable-static_link --enable-led --enable-intel_led
+make

%install
rm -rf $RPM_BUILD_ROOT
--- dmraid.orig/include/Makefile.in
+++ dmraid/include/Makefile.in
@@ -16,15 +16,15 @@ include $(top_srcdir)/make.tmpl
.PHONY: install_dmraid_headers remove_dmraid_headers

install_dmraid_headers: $(HEADERS)
- @echo "Installing $(HEADERS) in $(includedir)/dmraid"
- mkdir -p $(includedir)/dmraid
- $(INSTALL) $(STRIP) $(HEADERS) $(includedir)/dmraid
+ @echo "Installing $(HEADERS) in $(DESTDIR)$(includedir)/dmraid"
+ mkdir -p $(DESTDIR)$(includedir)/dmraid
+ $(INSTALL) $(STRIP) $(HEADERS) $(DESTDIR)$(includedir)/dmraid

install: install_dmraid_headers

remove_dmraid_headers:
- @echo "Removing $(HEADERS) from $(includedir)/dmraid"
- rm -f $(includedir)/dmraid
+ @echo "Removing $(HEADERS) from $(DESTDIR)$(includedir)/dmraid"
+ rm -f $(DESTDIR)$(includedir)/dmraid

remove: remove_dmraid_headers

--- dmraid.orig/lib/Makefile.in
+++ dmraid/lib/Makefile.in
@@ -77,17 +77,17 @@ $(LIB_EVENTS_SHARED):
.PHONY: install_dmraid_libs remove_dmraid_libs

install_dmraid_libs: $(INSTALL_TARGETS)
- @echo "Installing $(INSTALL_TARGETS) in $(libdir)";
- mkdir -p $(libdir);
+ @echo "Installing $(INSTALL_TARGETS) in $(DESTDIR)$(libdir)";
+ mkdir -p $(DESTDIR)$(libdir);
for f in $(INSTALL_TARGETS);
do
n=$$(basename $${f}) ;
if [[ "$$n" =~ .so$$ && ! "$$n" =~ libdmraid-events-.* ]]; then
$(INSTALL) -m 555 $(STRIP)
- $$f $(libdir)/$${n}.@DMRAID_LIB_VERSION@;
- $(LN_S) -f $${n}.@DMRAID_LIB_VERSION@ $(libdir)/$${n};
+ $$f $(DESTDIR)$(libdir)/$${n}.@DMRAID_LIB_VERSION@;
+ $(LN_S) -f $${n}.@DMRAID_LIB_VERSION@ $(DESTDIR)$(libdir)/$${n};
else
- $(INSTALL) -m 555 $(STRIP) $$f $(libdir)/$${n};
+ $(INSTALL) -m 555 $(STRIP) $$f $(DESTDIR)$(libdir)/$${n};
fi
done

@@ -98,8 +98,10 @@ remove_dmraid_libs:
for f in $(INSTALL_TARGETS);
do
n=$$(basename $${f}) ;
- rm -f $(libdir)/$${n}.@DMRAID_LIB_VERSION@;
- rm -f $(libdir)/$${n};
+ rm -f $(DESTDIR)$(libdir)/$${n}.@DMRAID_LIB_VERSION@;
+ rm -f $(DESTDIR)$(libdir)/$${n};
done

+
+
remove: remove_dmraid_libs
--- dmraid.orig/make.tmpl.in
+++ dmraid/make.tmpl.in
@@ -21,8 +21,8 @@ LD_DEPS += @LD_DEPS@
SOFLAG += @SOFLAG@

# Setup directory variables
-prefix = $(DESTDIR)@prefix@
-exec_prefix = $(DESTDIR)@exec_prefix@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
bindir = @bindir@
ifeq ("@KLIBC@", "no")
libdir = @libdir@
@@ -31,9 +31,9 @@ ifeq ("@KLIBC@", "no")
infodir = @infodir@
mandir = @mandir@
else
- libdir = $(DESTDIR)@KLIBC_LIB_DIR@
- sbindir = $(DESTDIR)@KLIBC_SBIN_DIR@
- includedir = $(DESTDIR)@KLIBC_INCLUDE_DIR@
+ libdir = @KLIBC_LIB_DIR@
+ sbindir = @KLIBC_SBIN_DIR@
+ includedir = @KLIBC_INCLUDE_DIR@
infodir = @infodir@
mandir = @mandir@
endif
--- dmraid.orig/man/Makefile.in
+++ dmraid/man/Makefile.in
@@ -16,21 +16,21 @@ include $(top_srcdir)/make.tmpl
.PHONY: install_dmraid_man remove_dmraid_man

install_dmraid_man:
- @echo "Installing $(MAN8) in $(MAN8DIR)";
- mkdir -p $(MAN8DIR);
+ @echo "Installing $(MAN8) in $(DESTDIR)$(MAN8DIR)";
+ mkdir -p $(DESTDIR)$(MAN8DIR);
for f in $(MAN8);
do
- $(RM) $(MAN8DIR)/$$f;
- @INSTALL@ -D -m 444 $$f $(MAN8DIR)/$$f;
+ $(RM) $(DESTDIR)$(MAN8DIR)/$$f;
+ @INSTALL@ -D -m 444 $$f $(DESTDIR)$(MAN8DIR)/$$f;
done

install: install_dmraid_man

remove_dmraid_man:
- @echo "Removing $(MAN8) in $(MAN8DIR)";
+ @echo "Removing $(MAN8) in $(DESTDIR)$(MAN8DIR)";
for f in $(MAN8);
do
- $(RM) $(MAN8DIR)/$$f;
+ $(RM) $(DESTDIR)$(MAN8DIR)/$$f;
done

remove: remove_dmraid_man
--- dmraid.orig/tools/Makefile.in
+++ dmraid/tools/Makefile.in
@@ -79,17 +79,17 @@ dmevent_tool: $(top_srcdir)/lib/libdmrai
-L$(DESTDIR)$(libdir) $(DMRAIDLIBS) $(DMEVENTTOOLLIBS) $(DMRAIDLIBS) $(LIBS)

install_dmraid_tools: $(TARGETS)
- @echo "Installing $(TARGETS) in $(sbindir)";
- mkdir -p $(sbindir);
- $(INSTALL) $(STRIP) $(TARGETS) $(sbindir)
+ @echo "Installing $(TARGETS) in $(DESTDIR)$(sbindir)";
+ mkdir -p $(DESTDIR)$(sbindir);
+ $(INSTALL) $(STRIP) $(TARGETS) $(DESTDIR)$(sbindir)

install: install_dmraid_tools

remove_dmraid_tools:
- @echo "Removing $(TARGETS) from $(sbindir)";
+ @echo "Removing $(TARGETS) from $(DESTDIR)$(sbindir)";
for f in $(TARGETS);
do
- rm -f $(sbindir)/$$f;
+ rm -f $(DESTDIR)$(sbindir)/$$f;
done

remove: remove_dmraid_tools

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 03:17 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org