| From ef847479778cc58818e066b87aa1789ba1c4148b Mon Sep 17 00:00:00 2001 |
| From: Johan Oudinet <johan.oudinet@gmail.com> |
| Date: Wed, 20 Jan 2016 09:34:07 -0500 |
| Subject: [PATCH] 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. |
| |
| Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> |
| |
| diff --git a/Makefile.in b/Makefile.in |
| index a0b4553d..2cae2db4 100644 |
| --- a/Makefile.in |
| +++ b/Makefile.in |
| @@ -169,10 +169,8 @@ copy-files-sub: copy-files-sub2 |
| install: all copy-files |
| # |
| # 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 ejabberd.yml.example $(ETCDIR)/ejabberd.yml |
| $(SED) -e "s*{{rootdir}}*@prefix@*g" \ |
| -e "s*{{installuser}}*@INSTALLUSER@*g" \ |
| -e "s*{{bindir}}*@bindir@*g" \ |
| @@ -183,53 +181,16 @@ install: all copy-files |
| -e "s*{{erl}}*@ERL@*g" \ |
| -e "s*{{epmd}}*@EPMD@*g" 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) inetrc $(ETCDIR)/inetrc |
| + $(INSTALL) -b -m 644 ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg |
| + $(INSTALL) -b -m 644 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 |
| [ -f deps/elixir/bin/elixir ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/elixir $(BINDIR)/elixir || true |
| [ -f deps/elixir/bin/mix ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/mix $(BINDIR)/mix || true |
| - # |
| - # Init script |
| - $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \ |
| - -e "s*@installuser@*$(INIT_USER)*g" ejabberd.init.template \ |
| - > ejabberd.init |
| - chmod 755 ejabberd.init |
| - # |
| - # Service script |
| - $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" ejabberd.service.template \ |
| - > ejabberd.service |
| - chmod 644 ejabberd.service |
| - # |
| - # 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 |