Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: add DESTDIR functionality to install



This enables use of the DESTDIR variable which greatly facilitates
the installation of zsh in an alternate location without unwanted
behavior that can result from changing $(prefix).

e.g. make install DESTDIR=/tmp/test-chroot

--- zsh-3.1.6.orig/Config/funcinst.mk
+++ zsh-3.1.6/Config/funcinst.mk
@@ -33,6 +33,7 @@
 	  FUNCTIONS_INSTALL="$(FUNCTIONS_INSTALL)" \
 	  FUNCTIONS_SUBDIRS="$(FUNCTIONS_SUBDIRS)" \
 	  INSTALL_DATA="$(INSTALL_DATA)" \
+	  DESTDIR="$(DESTDIR)" \
 	  $(SHELL) $(sdir_top)/Config/installfns.sh || exit 1; \
 	fi; \
 	exit 0
@@ -42,6 +43,7 @@
 	  fndir="$(fndir)" sdir="$(sdir)" \
 	  FUNCTIONS_INSTALL="$(FUNCTIONS_INSTALL)" \
 	  FUNCTIONS_SUBDIRS="$(FUNCTIONS_SUBDIRS)" \
+	  DESTDIR="$(DESTDIR)" \
 	  $(SHELL) $(sdir_top)/Config/uninstallfns.sh || exit 1; \
 	fi; \
 	exit 0
--- zsh-3.1.6.orig/Config/installfns.sh
+++ zsh-3.1.6/Config/installfns.sh
@@ -4,7 +4,7 @@
   add_old=1
 fi
 
-$sdir_top/mkinstalldirs $fndir || exit 1;
+$sdir_top/mkinstalldirs $DESTDIR$fndir || exit 1;
 
 # If the source directory is somewhere else, we need to force
 # the shell to expand it in that directory, then strip it off.
@@ -36,8 +36,8 @@
         : ${add_old:=1}
       fi
     fi
-    $sdir_top/mkinstalldirs $instdir || exit 1
-    $INSTALL_DATA $sdir/$file $instdir || exit 1
+    $sdir_top/mkinstalldirs $DESTDIR$instdir || exit 1
+    $INSTALL_DATA $sdir/$file $DESTDIR$instdir || exit 1
   fi
 done
 
--- zsh-3.1.6.orig/Doc/Makefile.in
+++ zsh-3.1.6/Doc/Makefile.in
@@ -164,24 +164,24 @@
 
 # install man pages, creating install directory if necessary
 install.man: $(MAN)
-	$(sdir_top)/mkinstalldirs $(mandir)/man1
+	$(sdir_top)/mkinstalldirs $(DESTDIR)$(mandir)/man1
 	for file in $(MAN); do \
 	  if test -f $$file; then \
-	    $(INSTALL_DATA) $$file $(mandir)/man1; \
+	    $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man1; \
 	  elif test -f $(sdir)/$$file; then \
-	    $(INSTALL_DATA) $(sdir)/$$file $(mandir)/man1; \
+	    $(INSTALL_DATA) $(sdir)/$$file $(DESTDIR)$(mandir)/man1; \
 	  else :; \
 	  fi || exit 1; \
 	done
 
 # install info pages, creating install directory if necessary
 install.info: zsh.info
-	$(sdir_top)/mkinstalldirs $(infodir)
+	$(sdir_top)/mkinstalldirs $(DESTDIR)$(infodir)
 	for file in zsh.info zsh.info-[1-9]*; do \
 	  if test -f $$file; then \
-	    $(INSTALL_DATA) $$file $(infodir); \
+	    $(INSTALL_DATA) $$file $(DESTDIR)$(infodir); \
 	  elif test -f $(sdir)/$$file; then \
-	    $(INSTALL_DATA) $(sdir)/$$file $(infodir); \
+	    $(INSTALL_DATA) $(sdir)/$$file $(DESTDIR)$(infodir); \
 	  else :; \
 	   fi || exit 1; \
 	done
@@ -190,18 +190,18 @@
 	else true; fi
 
 install.html: zsh_toc.html
-	$(sdir_top)/mkinstalldirs $(htmldir)
-	$(INSTALL_DATA) *.html $(htmldir)
+	$(sdir_top)/mkinstalldirs $(DESTDIR)$(htmldir)
+	$(INSTALL_DATA) *.html $(DESTDIR)$(htmldir)
 
 # uninstall man pages
 uninstall.man:
 	for file in $(MAN); do \
-	  rm -f $(mandir)/man1/$$file; \
+	  rm -f $(DESTDIR)$(mandir)/man1/$$file; \
 	done
 
 # uninstall info pages
 uninstall.info:
-	rm -f $(infodir)/zsh.info $(infodir)/zsh.info-[1-9]*
+	rm -f $(DESTDIR)$(infodir)/zsh.info $(DESTDIR)$(infodir)/zsh.info-[1-9]*
 
 # ========== DEPENDENCIES FOR CLEANUP ==========
 
--- zsh-3.1.6.orig/Src/Makefile.in
+++ zsh-3.1.6/Src/Makefile.in
@@ -159,28 +159,28 @@
 
 # install binary, creating install directory if necessary
 install.bin-here: zsh install.bin-@L@
-	$(sdir_top)/mkinstalldirs $(bindir)
-	$(INSTALL_PROGRAM) $(STRIPFLAGS) zsh $(bindir)/zsh-$(VERSION)
-	if test -f $(bindir)/zsh; then \
-	    rm -f $(bindir)/zsh.old; \
-	    ln $(bindir)/zsh $(bindir)/zsh.old; \
+	$(sdir_top)/mkinstalldirs $(DESTDIR)$(bindir)
+	$(INSTALL_PROGRAM) $(STRIPFLAGS) zsh $(DESTDIR)$(bindir)/zsh-$(VERSION)
+	if test -f $(DESTDIR)$(bindir)/zsh; then \
+	    rm -f $(DESTDIR)$(bindir)/zsh.old; \
+	    ln $(DESTDIR)$(bindir)/zsh $(DESTDIR)$(bindir)/zsh.old; \
 	else :; fi
-	rm -f $(bindir)/zsh.new
-	ln $(bindir)/zsh-$(VERSION) $(bindir)/zsh.new
-	mv $(bindir)/zsh.new $(bindir)/zsh
+	rm -f $(DESTDIR)$(bindir)/zsh.new
+	ln $(DESTDIR)$(bindir)/zsh-$(VERSION) $(DESTDIR)$(bindir)/zsh.new
+	mv $(DESTDIR)$(bindir)/zsh.new $(DESTDIR)$(bindir)/zsh
 
 install.bin-N:
 install.bin-L: $(LIBZSH)
-	$(sdir_top)/mkinstalldirs $(libdir)/zsh
-	$(INSTALL_PROGRAM) $(LIBZSH) $(libdir)/zsh/$(LIBZSH)
+	$(sdir_top)/mkinstalldirs $(DESTDIR)$(libdir)/zsh
+	$(INSTALL_PROGRAM) $(LIBZSH) $(DESTDIR)$(libdir)/zsh/$(LIBZSH)
 
 # uninstall binary
 uninstall.bin-here: uninstall.bin-@L@
-	rm -f $(bindir)/zsh-$(VERSION) $(bindir)/zsh
+	rm -f $(DESTDIR)$(bindir)/zsh-$(VERSION) $(bindir)/zsh
 
 uninstall.bin-N:
 uninstall.bin-L:
-	rm -f $(libdir)/zsh/$(LIBZSH)
+	rm -f $(DESTDIR)$(libdir)/zsh/$(LIBZSH)
 
 # ========== DEPENDENCIES FOR CLEANUP ==========
 
--- zsh-3.1.6.orig/Src/Makemod.in.in
+++ zsh-3.1.6/Src/Makemod.in.in
@@ -127,15 +127,15 @@
 
 install.modules-here:
 	modules='$(MODULES)'; \
-	if test -n "$$modules"; then $(sdir_top)/mkinstalldirs $(MODDIR); fi; \
+	if test -n "$$modules"; then $(sdir_top)/mkinstalldirs $(DESTDIR)$(MODDIR); fi; \
 	for mod in $$modules; do \
-	    $(INSTALL_PROGRAM) $$mod $(MODDIR)/$$mod; \
+	    $(INSTALL_PROGRAM) $$mod $(DESTDIR)$(MODDIR)/$$mod; \
 	done
 
 uninstall.modules-here:
 	modules='$(MODULES)'; for mod in $$modules; do \
-	    if test -f $(MODDIR)/$$mod; then \
-		rm -f $(MODDIR)/$$mod; \
+	    if test -f $(DESTDIR)$(MODDIR)/$$mod; then \
+		rm -f $(DESTDIR)$(MODDIR)/$$mod; \
 	    else :; fi; \
 	done



Messages sorted by: Reverse Date, Date, Thread, Author