Description: fix install permissions Without this patch, the makefile will try to install directories and files with incompatible permissions for ejabberd, which run as an ejabberd user. Author: Johan Oudinet Index: ejabberd/Makefile.in =================================================================== diff --git a/Makefile.in b/Makefile.in index f7b30d4..84098a6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -114,10 +114,8 @@ DLLs := $(wildcard deps/*/priv/*.so) $(wildcard deps/*/priv/lib/*.so) install: all # # Configuration files - $(INSTALL) -d -m 750 $(G_USER) $(ETCDIR) - [ -f $(ETCDIR)/ejabberd.yml ] \ - && $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml-new \ - || $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml + $(INSTALL) -d $(ETCDIR) + $(INSTALL) -b -m 644 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml $(SED) -e "s*{{rootdir}}*@prefix@*" \ -e "s*{{installuser}}*@INSTALLUSER@*" \ -e "s*{{bindir}}*@bindir@*" \ @@ -127,14 +125,11 @@ install: all -e "s*{{docdir}}*@docdir@*" \ -e "s*{{erl}}*@ERL@*" ejabberdctl.template \ > ejabberdctl.example - [ -f $(ETCDIR)/ejabberdctl.cfg ] \ - && $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \ - || $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg + $(INSTALL) -b -m 644 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg $(INSTALL) -b -m 644 $(G_USER) inetrc $(ETCDIR)/inetrc # # Administration script - [ -d $(SBINDIR) ] || $(INSTALL) -d -m 755 $(SBINDIR) - $(INSTALL) -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl + $(INSTALL) -D ejabberdctl.example $(SBINDIR)/ejabberdctl # Elixir binaries [ -d $(BINDIR) ] || $(INSTALL) -d -m 755 $(BINDIR) [ -f deps/elixir/bin/iex ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/iex $(BINDIR)/iex || true @@ -165,9 +160,9 @@ install: all # # Binary C programs $(INSTALL) -d $(PBINDIR) - $(INSTALL) -m 750 $(O_USER) tools/captcha.sh $(PBINDIR) - $(INSTALL) -m 750 $(O_USER) tools/joincluster $(PBINDIR) - $(INSTALL) -m 750 $(O_USER) tools/leavecluster $(PBINDIR) + $(INSTALL) tools/captcha.sh $(PBINDIR) + $(INSTALL) tools/joincluster $(PBINDIR) + $(INSTALL) tools/leavecluster $(PBINDIR) [ -f deps/p1_pam/priv/bin/epam ] \ && $(INSTALL) -m 750 $(O_USER) deps/p1_pam/priv/bin/epam $(PBINDIR) \ || true @@ -185,29 +180,6 @@ install: all # Copy lite.sql [ -d deps/sqlite3 ] && $(INSTALL) -d $(SQLDIR) || true [ -d deps/sqlite3 ] && $(INSTALL) -m 644 sql/lite.sql $(SQLDIR) || true - # - # Spool directory - $(INSTALL) -d -m 750 $(O_USER) $(SPOOLDIR) - $(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT) - chmod -R 750 $(SPOOLDIR) - [ ! -f $(COOKIEFILE) ] || { $(CHOWN_COMMAND) @INSTALLUSER@ $(COOKIEFILE) >$(CHOWN_OUTPUT) ; chmod 400 $(COOKIEFILE) ; } - # - # ejabberdctl lock directory - $(INSTALL) -d -m 750 $(O_USER) $(CTLLOCKDIR) - $(CHOWN_COMMAND) -R @INSTALLUSER@ $(CTLLOCKDIR) >$(CHOWN_OUTPUT) - chmod -R 750 $(CTLLOCKDIR) - # - # Log directory - $(INSTALL) -d -m 750 $(O_USER) $(LOGDIR) - $(CHOWN_COMMAND) -R @INSTALLUSER@ $(LOGDIR) >$(CHOWN_OUTPUT) - chmod -R 750 $(LOGDIR) - # - # Documentation - $(INSTALL) -d $(DOCDIR) - [ -f doc/guide.html ] \ - && $(INSTALL) -m 644 doc/guide.html $(DOCDIR) \ - || echo "Documentation not included in sources" - $(INSTALL) -m 644 COPYING $(DOCDIR) uninstall: uninstall-binary