changeset 104885:978084a76b60

(install-arch-indep): Don't recursively change perms of site-lisp and infodir. There may be non-Emacs files in here, and the files supplied by Emacs are all handled explicitly already. (Bug#3800) (mkdir): Set umask to world-readable before creating directories. mkinstalldirs already checks if dirs exist, don't duplicate this test.
author Glenn Morris <rgm@gnu.org>
date Wed, 09 Sep 2009 02:34:17 +0000
parents 8f9d6010a478
children 386dbc11f8f7
files ChangeLog Makefile.in
diffstat 2 files changed, 16 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Sep 09 02:32:48 2009 +0000
+++ b/ChangeLog	Wed Sep 09 02:34:17 2009 +0000
@@ -1,3 +1,11 @@
+2009-09-09  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in (install-arch-indep): Don't recursively change perms of
+	site-lisp and infodir.  There may be non-Emacs files in here, and the
+	files supplied by Emacs are all handled explicitly already.  (Bug#3800)
+	(mkdir): Set umask to world-readable before creating directories.
+	mkinstalldirs already checks if dirs exist, don't duplicate this test.
+
 2009-08-29  Glenn Morris  <rgm@gnu.org>
 
 	* Makefile.in (info-real): Don't ignore errors from doc Makefiles.
--- a/Makefile.in	Wed Sep 09 02:32:48 2009 +0000
+++ b/Makefile.in	Wed Sep 09 02:34:17 2009 +0000
@@ -587,7 +587,7 @@
 	     ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
 	  done; \
 	else true; fi
-	-chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} $(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} $(DESTDIR)${infodir}
+	-chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} ${COPYDESTS}
 	thisdir=`/bin/pwd`; \
 	cd ${mansrcdir}; \
 	for page in ${MAN_PAGES}; do \
@@ -623,11 +623,10 @@
 ### we may be creating several layers of directories (for example,
 ### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs
 ### instead of mkdir.  Not all systems' mkdir programs have the `-p' flag.
+### We set the umask so that any created directories are world-readable.
+### FIXME it would be good to warn about non-standard permissions of
+### pre-existing directories, but that does not seem easy.
 mkdir: FRC
-	if [ -d $(DESTDIR)${datadir} ]; then true; else \
-	  $(srcdir)/mkinstalldirs $(DESTDIR)${datadir}; \
-	  chmod a+r $(DESTDIR)${datadir};\
-	fi
 	icondirs= ; \
 	for dir in $(iconsrcdir)/*/*/apps $(iconsrcdir)/*/*/mimetypes; do \
 	  if [ -d $${dir} ]; then \
@@ -635,7 +634,9 @@
 	  fi ; \
 	done ; \
 	icondirs=`echo "$${icondirs}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},g'` ; \
-	$(srcdir)/mkinstalldirs ${COPYDESTS} $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
+	umask 022 ; \
+	$(srcdir)/mkinstalldirs $(DESTDIR)${datadir} ${COPYDESTS} \
+	  $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
 	  $(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \
 	  $(DESTDIR)${datadir}/emacs/site-lisp \
 	  $(DESTDIR)${datadir}/emacs/${version}/site-lisp \
@@ -643,8 +644,7 @@
 	  $(DESTDIR)${desktopdir} $${icondirs}
 
 ### Delete all the installed files that the `install' target would
-### create (but not the noninstalled files such as `make all' would
-### create).
+### create (but not the noninstalled files such as `make all' would create).
 ###
 ### Don't delete the lisp and etc directories if they're in the source tree.
 uninstall: