hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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