Do not perform install on existing directories

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)
........

Merged revisions 368830 from http://svn.asterisk.org/svn/asterisk/branches/1.8


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@368831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
10
Matthew Jordan 14 years ago
parent f507dadb39
commit eb8487ae62

@ -476,39 +476,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)/"

Loading…
Cancel
Save