Mercurial > emacs
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; \