summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2007-10-31 03:19:56 +0000
committerGlenn Morris <rgm@gnu.org>2007-10-31 03:19:56 +0000
commit9a56b44037a4048d7b424c8ed423521f4cdaca2b (patch)
treedcba2ba479624ba08025fb5de6b1ad80f390ecb3 /Makefile.in
parentfe1ada9b0871d2035cb8264ae0feed72d9e81ee7 (diff)
downloademacs-9a56b44037a4048d7b424c8ed423521f4cdaca2b.tar.gz
(install-arch-indep): Fallback to $USER and `id -un' when changing
ownership of installed files.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in26
1 files changed, 23 insertions, 3 deletions
diff --git a/Makefile.in b/Makefile.in
index 5f1c186efac..f0f710b4711 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -423,6 +423,12 @@ install-arch-dep: mkdir
## 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
-set ${COPYDESTS} ; \
unset CDPATH; \
@@ -436,6 +442,10 @@ install-arch-indep: mkdir info
mkdir ${COPYDESTS} ; \
chmod ugo+rx ${COPYDESTS} ; \
unset CDPATH; \
+ for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+ `id -un 2> /dev/null`; do \
+ [ -n "$${installuser}" ] && break ; \
+ done ; \
for dir in ${COPYDIR} ; do \
dest=$$1 ; shift ; \
[ -d $${dir} ] \
@@ -444,7 +454,7 @@ install-arch-indep: mkdir info
(cd $${dir}; tar -chf - . ) \
| (cd $${dest}; umask 022; \
tar -xvf - && cat > /dev/null) || exit 1; \
- find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} ';' ;\
+ find $${dest} -exec chown $${installuser} {} ';' ;\
for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do \
chmod a+rx $${subdir} ; \
rm -rf $${subdir}/RCS ; \
@@ -492,7 +502,12 @@ install-arch-indep: mkdir info
echo "Copying etc/$${docfile} to $(DESTDIR)${docdir} ..." ; \
(cd ./etc; tar -chf - $${docfile}) \
|(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
- (cd $(DESTDIR)$(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
+ (cd $(DESTDIR)$(docdir); \
+ for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+ `id -un 2> /dev/null`; do \
+ [ -n "$${installuser}" ] && break ; \
+ done ; \
+ chown $${installuser} DOC*; chmod a+r DOC*; \
if test "`echo DOC-*`" != "DOC-*"; then rm -f DOC; fi); \
else true; fi
-unset CDPATH; \
@@ -504,7 +519,12 @@ install-arch-indep: mkdir info
echo "Copying lisp/*.el and lisp/*.elc to $(DESTDIR)${lispdir} ..." ; \
(cd lisp; tar -chf - *.el *.elc) \
|(cd $(DESTDIR)${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
- (cd $(DESTDIR)${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \
+ (cd $(DESTDIR)${lispdir}; \
+ for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+ `id -un 2> /dev/null`; do \
+ [ -n "$${installuser}" ] && break ; \
+ done ; \
+ find . -exec chown $${installuser} {} ';') ; \
else true; fi
-unset CDPATH; \
if [ -n "${GZIP_PROG}" ]; \