changeset 92043:dd76d29353ca

(set_installuser): New. (install-arch-indep): Use set_installuser to avoid duplicate code.
author Glenn Morris <rgm@gnu.org>
date Thu, 21 Feb 2008 09:04:22 +0000
parents 0fed13285736
children 0e0308fe788e
files Makefile.in
diffstat 1 files changed, 10 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Thu Feb 21 09:01:37 2008 +0000
+++ b/Makefile.in	Thu Feb 21 09:04:22 2008 +0000
@@ -414,6 +414,13 @@
 			&& cat > /dev/null))) || exit 1; \
 	fi
 
+## http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01672.html
+## Needs to be the user running install, so configure can't set it.
+set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+	  `id -un 2> /dev/null`; do \
+	  [ -n "$${installuser}" ] && break ; \
+	done
+
 ### Install the files that are machine-independent.
 ### Most of them come straight from the distribution;
 ### the exception is the DOC-* files, which are copied
@@ -431,11 +438,6 @@
 ## Note that the Makefiles in the etc directory are potentially useful
 ## in an installed Emacs, so should not be excluded.
 
-## installuser:
-## http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01672.html
-## Nuisance because i) it needs to be the user running install, so
-## configure can't set it; ii) can't (?) use the result of rule
-## commands to set make variables.
 install-arch-indep: mkdir info install-etc
 	-set ${COPYDESTS} ; \
 	unset CDPATH; \
@@ -449,10 +451,7 @@
 	mkdir ${COPYDESTS} ; \
 	chmod ugo+rx ${COPYDESTS} ; \
 	unset CDPATH; \
-	for installuser in $${LOGNAME} $${USERNAME} $${USER} \
-	  `id -un 2> /dev/null`; do \
-	  [ -n "$${installuser}" ] && break ; \
-	done ; \
+	$(set_installuser); \
 	for dir in ${COPYDIR} ; do \
 	  dest=$$1 ; shift ; \
 	  [ -d $${dir} ] \
@@ -510,10 +509,7 @@
 	   (cd ./etc; tar -chf - $${docfile}) \
 	     |(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
 	   (cd $(DESTDIR)$(docdir); \
-	    for installuser in $${LOGNAME} $${USERNAME} $${USER} \
-	      `id -un 2> /dev/null`; do \
-	       [ -n "$${installuser}" ] && break ; \
-	    done ; \
+	    $(set_installuser); \
 	    chown $${installuser} DOC*; chmod a+r DOC*; \
 	    if test "`echo DOC-*`" != "DOC-*"; then rm -f DOC; fi); \
 	else true; fi
@@ -527,10 +523,7 @@
 	   (cd lisp; tar -chf - *.el *.elc) \
 	     |(cd $(DESTDIR)${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
 	   (cd $(DESTDIR)${lispdir}; \
-	    for installuser in $${LOGNAME} $${USERNAME} $${USER} \
-	      `id -un 2> /dev/null`; do \
-	       [ -n "$${installuser}" ] && break ; \
-	    done ; \
+	    $(set_installuser); \
 	    find . -exec chown $${installuser} {} ';') ; \
 	else true; fi
 	-unset CDPATH; \