]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Do not perform install on existing directories
authorMatthew Jordan <mjordan@digium.com>
Tue, 12 Jun 2012 18:23:01 +0000 (18:23 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 12 Jun 2012 18:23:01 +0000 (18:23 +0000)
If a directory already exists, performing a 'make install' will remove the
permissions associated with the current directory and replace them with the
permissions of the user executing the install.

This patch changes this behavior to only perform an install on the directory
if the directory does not exist.  Thus, if a user later changes the permissions
on that directory, those permissions will be preserved in subsequent installs.

Review: https://reviewboard.asterisk.org/r/1986

Review: https://reviewboard.asterisk.org/r/1864

(closes issue ASTERISK-19492)
Reported by: Karl Fife
Tested by: Paul Belanger, Tilghman Lesher
patches:
  ASTERISK-19492 by pabelanger
  (uploaded by mjordan)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@368830 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile

index 382e45b31ce00ff8dea3da309ef745c061bd73bf..a8e4b57389785138f3c4ffa7e052394efd829add 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -466,39 +466,23 @@ update:
 
 NEWHEADERS=$(notdir $(wildcard include/asterisk/*.h))
 OLDHEADERS=$(filter-out $(NEWHEADERS) $(notdir $(DESTDIR)$(ASTHEADERDIR)),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
+INSTALLDIRS="$(MODULES_DIR)" "$(ASTSBINDIR)" "$(ASTETCDIR)" "$(ASTVARRUNDIR)" \
+       "$(ASTSPOOLDIR)" "$(ASTSPOOLDIR)/dictate" "$(ASTSPOOLDIR)/meetme" \
+       "$(ASTSPOOLDIR)/monitor" "$(ASTSPOOLDIR)/system" "$(ASTSPOOLDIR)/tmp" \
+       "$(ASTSPOOLDIR)/voicemail" "$(ASTHEADERDIR)" "$(ASTHEADERDIR)/doxygen" \
+       "$(ASTLOGDIR)" "$(ASTLOGDIR)/cdr-csv" "$(ASTLOGDIR)/cdr-custom" \
+       "$(ASTLOGDIR)/cel-custom" "$(ASTDATADIR)" "$(ASTDATADIR)/documentation" \
+       "$(ASTDATADIR)/documentation/thirdparty" "$(ASTDATADIR)/firmware" \
+       "$(ASTDATADIR)/firmware/iax" "$(ASTDATADIR)/images" "$(ASTDATADIR)/keys" \
+       "$(ASTDATADIR)/phoneprov" "$(ASTDATADIR)/static-http" "$(ASTDATADIR)/sounds" \
+       "$(ASTDATADIR)/moh" "$(ASTMANDIR)/man8" "$(AGI_DIR)" "$(ASTDBDIR)"
 
 installdirs:
-       $(INSTALL) -d "$(DESTDIR)$(MODULES_DIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSBINDIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTETCDIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTVARRUNDIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/dictate"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/meetme"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/monitor"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/system"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/tmp"
-       $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail"
-       $(INSTALL) -d "$(DESTDIR)$(ASTHEADERDIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTHEADERDIR)/doxygen"
-       $(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cdr-csv"
-       $(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cdr-custom"
-       $(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cel-custom"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/documentation"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/documentation/thirdparty"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/firmware"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/firmware/iax"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/images"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/keys"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/phoneprov"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/static-http"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/sounds"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/moh"
-       $(INSTALL) -d "$(DESTDIR)$(ASTMANDIR)/man8"
-       $(INSTALL) -d "$(DESTDIR)$(AGI_DIR)"
-       $(INSTALL) -d "$(DESTDIR)$(ASTDBDIR)"
+       for i in $(INSTALLDIRS); do \
+               if [ ! -d "$(DESTDIR)$${i}" ]; then \
+                       $(INSTALL) -d "$(DESTDIR)$${i}"; \
+               fi; \
+       done
 
 bininstall: _all installdirs $(SUBDIRS_INSTALL)
        $(INSTALL) -m 755 main/asterisk "$(DESTDIR)$(ASTSBINDIR)/"