|
@@ -0,0 +1,76 @@
|
|
|
+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 <johan.oudinet@gmail.com>
|
|
|
+
|
|
|
+Index: ejabberd/Makefile.in
|
|
|
+===================================================================
|
|
|
+--- ejabberd.orig/Makefile.in 2014-10-28 12:36:49.228713322 +0100
|
|
|
++++ ejabberd/Makefile.in 2014-10-28 13:53:13.538888807 +0100
|
|
|
+@@ -91,10 +91,10 @@ spec:
|
|
|
+ install: all
|
|
|
+ #
|
|
|
+ # Configuration files
|
|
|
+- $(INSTALL) -d -m 750 $(G_USER) $(ETCDIR)
|
|
|
++ $(INSTALL) -d $(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) -b -m 644 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml-new \
|
|
|
++ || $(INSTALL) -b -m 644 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml
|
|
|
+ $(SED) -e "s*{{rootdir}}*@prefix@*" \
|
|
|
+ -e "s*{{installuser}}*@INSTALLUSER@*" \
|
|
|
+ -e "s*{{libdir}}*@libdir@*" \
|
|
|
+@@ -104,13 +104,12 @@ install: all
|
|
|
+ -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-new \
|
|
|
++ || $(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
|
|
|
+ #
|
|
|
+ # Init script
|
|
|
+ $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*" \
|
|
|
+@@ -129,10 +128,7 @@ install: all
|
|
|
+ $(INSTALL) -m 644 include/*.hrl $(INCLUDEDIR)
|
|
|
+ #
|
|
|
+ # Binary C programs
|
|
|
+- $(INSTALL) -d $(PBINDIR)
|
|
|
+- $(INSTALL) -m 750 $(O_USER) tools/captcha.sh $(PBINDIR)
|
|
|
+- -[ -f deps/p1_pam/priv/bin/epam ] \
|
|
|
+- && $(INSTALL) -m 750 $(O_USER) deps/p1_pam/priv/bin/epam $(PBINDIR)
|
|
|
++ $(INSTALL) -D tools/captcha.sh $(PBINDIR)/captcha.sh
|
|
|
+ #
|
|
|
+ # Binary system libraries
|
|
|
+ $(INSTALL) -d $(SODIR)
|
|
|
+@@ -140,22 +136,6 @@ install: all
|
|
|
+ # Translated strings
|
|
|
+ $(INSTALL) -d $(MSGSDIR)
|
|
|
+ $(INSTALL) -m 644 priv/msgs/*.msg $(MSGSDIR)
|
|
|
+- #
|
|
|
+- # 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)
|
|
|
+
|
|
|
+ uninstall: uninstall-binary
|
|
|
+
|