]> git.pld-linux.org Git - packages/ejabberd.git/blob - ejabberd-bug-3819.patch
Up to 22.05.
[packages/ejabberd.git] / ejabberd-bug-3819.patch
1 From 75a771bfec3626145d404349fdaec4f0eef83bbc Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= <pawel@process-one.net>
3 Date: Thu, 19 May 2022 12:20:42 +0200
4 Subject: [PATCH] Don't leak DESTDIR in files copied by 'make install'
5
6 This fixes issue #3819
7 ---
8  Makefile.in | 132 ++++++++++++++++++++++++++--------------------------
9  1 file changed, 66 insertions(+), 66 deletions(-)
10
11 diff --git a/Makefile.in b/Makefile.in
12 index 16e713ebe7..7358982f6a 100644
13 --- a/Makefile.in
14 +++ b/Makefile.in
15 @@ -10,27 +10,27 @@ exec_prefix = @exec_prefix@
16  DESTDIR =
17  
18  # /etc/ejabberd/
19 -ETCDIR = $(DESTDIR)@sysconfdir@/ejabberd
20 +ETCDIR = @sysconfdir@/ejabberd
21  
22  # /bin/
23 -BINDIR = $(DESTDIR)@bindir@
24 +BINDIR = @bindir@
25  
26  # /sbin/
27 -SBINDIR = $(DESTDIR)@sbindir@
28 +SBINDIR = @sbindir@
29  
30  # /lib/
31 -LIBDIR =  $(DESTDIR)@libdir@
32 +LIBDIR =  @libdir@
33  
34  # /lib/ejabberd/
35 -EJABBERDDIR = $(DESTDIR)@libdir@/ejabberd
36 +EJABBERDDIR = @libdir@/ejabberd
37  
38  # /share/doc/ejabberd
39  PACKAGE_TARNAME = @PACKAGE_TARNAME@
40  datarootdir = @datarootdir@
41 -DOCDIR = $(DESTDIR)@docdir@
42 +DOCDIR = @docdir@
43  
44  # /share/doc/man/man5
45 -MANDIR = $(DESTDIR)@mandir@/man5
46 +MANDIR = @mandir@/man5
47  
48  # /usr/lib/ejabberd/ebin/
49  BEAMDIR = $(EJABBERDDIR)/ebin
50 @@ -66,10 +66,10 @@ SQLDIR = $(PRIVDIR)/sql
51  LUADIR = $(PRIVDIR)/lua
52  
53  # /var/lib/ejabberd/
54 -SPOOLDIR = $(DESTDIR)@localstatedir@/lib/ejabberd
55 +SPOOLDIR = @localstatedir@/lib/ejabberd
56  
57  # /var/log/ejabberd/
58 -LOGDIR = $(DESTDIR)@localstatedir@/log/ejabberd
59 +LOGDIR = @localstatedir@/log/ejabberd
60  
61  INSTALLUSER=@INSTALLUSER@
62  # if no user was enabled, don't set privileges or ownership
63 @@ -201,7 +201,7 @@ ELIXIR_TO_DEST=$(LIBDIR) $(call VERSIONED_DEP,$(word 2,$(1))) $(wordlist 5,1000,
64  DEPS_TO_DEST=$(LIBDIR) $(call VERSIONED_DEP,$(word 2,$(1))) $(wordlist 3,1000,$(1))
65  MAIN_TO_DEST=$(LIBDIR) $(call VERSIONED_DEP,ejabberd) $(1)
66  TO_DEST_SINGLE=$(if $(subst X$(DEPSBASE)X,,X$(word 1,$(1))X),$(call MAIN_TO_DEST,$(1)),$(if $(subst XlibX,,X$(word $(LIBIX),$(1))X),$(call DEPS_TO_DEST,$(wordlist $(DEPIX),1000,$(1))),$(call ELIXIR_TO_DEST,$(wordlist $(DEPIX),1000,$(1)))))
67 -TO_DEST=$(foreach path,$(1),$(call JOIN_PATHS,$(call TO_DEST_SINGLE,$(subst /, ,$(path)))))
68 +TO_DEST=$(foreach path,$(1),$(call JOIN_PATHS,$(DESTDIR)$(call TO_DEST_SINGLE,$(subst /, ,$(path)))))
69  
70  FILTER_DIRS=$(foreach path,$(1),$(if $(wildcard $(path)/*),,$(path)))
71  FILES_WILDCARD=$(call FILTER_DIRS,$(foreach w,$(1),$(wildcard $(w))))
72 @@ -242,7 +242,7 @@ $(foreach file,$(DEPS_FILES_FILTERED) $(MAIN_FILES),$(eval $(call COPY_template,
73  $(foreach file,$(BINARIES),$(eval $(call COPY_BINARY_template,$(file))))
74  
75  $(sort $(call TO_DEST,$(MAIN_DIRS) $(DEPS_DIRS))):
76 -       $(INSTALL) -d $@
77 +               $(INSTALL) -d $@
78  
79  $(call TO_DEST,priv/sql/lite.sql): sql/lite.sql $(call TO_DEST,priv/sql)
80         $(INSTALL) -m 644 $< $@
81 @@ -311,23 +311,23 @@ ejabberdctl.example: vars.config
82  install: copy-files ejabberdctl.example
83         #
84         # Configuration files
85 -       $(INSTALL) -d -m 750 $(G_USER) $(ETCDIR)
86 -       [ -f $(ETCDIR)/ejabberd.yml ] \
87 -               && $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml-new \
88 -               || $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml
89 -       [ -f $(ETCDIR)/ejabberdctl.cfg ] \
90 -               && $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \
91 -               || $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg
92 -       $(INSTALL) -b -m 644 $(G_USER) inetrc $(ETCDIR)/inetrc
93 +       $(INSTALL) -d -m 750 $(G_USER) $(DESTDIR)$(ETCDIR)
94 +       [ -f $(DESTDIR)$(ETCDIR)/ejabberd.yml ] \
95 +               && $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(DESTDIR)$(ETCDIR)/ejabberd.yml-new \
96 +               || $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(DESTDIR)$(ETCDIR)/ejabberd.yml
97 +       [ -f $(DESTDIR)$(ETCDIR)/ejabberdctl.cfg ] \
98 +               && $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(DESTDIR)$(ETCDIR)/ejabberdctl.cfg-new \
99 +               || $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(DESTDIR)$(ETCDIR)/ejabberdctl.cfg
100 +       $(INSTALL) -b -m 644 $(G_USER) inetrc $(DESTDIR)$(ETCDIR)/inetrc
101         #
102         # Administration script
103 -       [ -d $(SBINDIR) ] || $(INSTALL) -d -m 755 $(SBINDIR)
104 -       $(INSTALL) -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl
105 +       [ -d $(DESTDIR)$(SBINDIR) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(SBINDIR)
106 +       $(INSTALL) -m 550 $(G_USER) ejabberdctl.example $(DESTDIR)$(SBINDIR)/ejabberdctl
107         # Elixir binaries
108 -       [ -d $(BINDIR) ] || $(INSTALL) -d -m 755 $(BINDIR)
109 -       [ -f $(DEPSDIR)/elixir/bin/iex ] && $(INSTALL) -m 550 $(G_USER) $(DEPSDIR)/elixir/bin/iex $(BINDIR)/iex || true
110 -       [ -f $(DEPSDIR)/elixir/bin/elixir ] && $(INSTALL) -m 550 $(G_USER) $(DEPSDIR)/elixir/bin/elixir $(BINDIR)/elixir || true
111 -       [ -f $(DEPSDIR)/elixir/bin/mix ] && $(INSTALL) -m 550 $(G_USER) $(DEPSDIR)/elixir/bin/mix $(BINDIR)/mix || true
112 +       [ -d $(DESTDIR)$(BINDIR) ] || $(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)
113 +       [ -f $(DEPSDIR)/elixir/bin/iex ] && $(INSTALL) -m 550 $(G_USER) $(DEPSDIR)/elixir/bin/iex $(DESTDIR)$(BINDIR)/iex || true
114 +       [ -f $(DEPSDIR)/elixir/bin/elixir ] && $(INSTALL) -m 550 $(G_USER) $(DEPSDIR)/elixir/bin/elixir $(DESTDIR)$(BINDIR)/elixir || true
115 +       [ -f $(DEPSDIR)/elixir/bin/mix ] && $(INSTALL) -m 550 $(G_USER) $(DEPSDIR)/elixir/bin/mix $(DESTDIR)$(BINDIR)/mix || true
116         #
117         # Init script
118         $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \
119 @@ -342,59 +342,59 @@ install: copy-files ejabberdctl.example
120         chmod 644 ejabberd.service
121         #
122         # Spool directory
123 -       $(INSTALL) -d -m 750 $(O_USER) $(SPOOLDIR)
124 -       $(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT)
125 -       chmod -R 750 $(SPOOLDIR)
126 +       $(INSTALL) -d -m 750 $(O_USER) $(DESTDIR)$(SPOOLDIR)
127 +       $(CHOWN_COMMAND) -R @INSTALLUSER@ $(DESTDIR)$(SPOOLDIR) >$(CHOWN_OUTPUT)
128 +       chmod -R 750 $(DESTDIR)$(SPOOLDIR)
129         #
130         # Log directory
131 -       $(INSTALL) -d -m 750 $(O_USER) $(LOGDIR)
132 -       $(CHOWN_COMMAND) -R @INSTALLUSER@ $(LOGDIR) >$(CHOWN_OUTPUT)
133 -       chmod -R 750 $(LOGDIR)
134 +       $(INSTALL) -d -m 750 $(O_USER) $(DESTDIR)$(LOGDIR)
135 +       $(CHOWN_COMMAND) -R @INSTALLUSER@ $(DESTDIR)$(LOGDIR) >$(CHOWN_OUTPUT)
136 +       chmod -R 750 $(DESTDIR)$(LOGDIR)
137         #
138         # Documentation
139 -       $(INSTALL) -d $(MANDIR)
140 -       $(INSTALL) -d $(DOCDIR)
141 +       $(INSTALL) -d $(DESTDIR)$(MANDIR)
142 +       $(INSTALL) -d $(DESTDIR)$(DOCDIR)
143         [ -f man/ejabberd.yml.5 ] \
144 -               && $(INSTALL) -m 644 man/ejabberd.yml.5 $(MANDIR) \
145 +               && $(INSTALL) -m 644 man/ejabberd.yml.5 $(DESTDIR)$(MANDIR) \
146                 || echo "Man page not included in sources"
147 -       $(INSTALL) -m 644 COPYING $(DOCDIR)
148 +       $(INSTALL) -m 644 COPYING $(DESTDIR)$(DOCDIR)
149  
150  uninstall: uninstall-binary
151  
152  uninstall-binary:
153 -       rm -f  $(SBINDIR)/ejabberdctl
154 -       rm -f  $(BINDIR)/iex
155 -       rm -f  $(BINDIR)/elixir
156 -       rm -f  $(BINDIR)/mix
157 -       rm -fr $(DOCDIR)
158 -       rm -f  $(BEAMDIR)/*.beam
159 -       rm -f  $(BEAMDIR)/*.app
160 -       rm -fr $(BEAMDIR)
161 -       rm -f  $(INCLUDEDIR)/*.hrl
162 -       rm -fr $(INCLUDEDIR)
163 -       rm -fr $(PBINDIR)
164 -       rm -f  $(SODIR)/*.so
165 -       rm -fr $(SODIR)
166 -       rm -f  $(MSGSDIR)/*.msg
167 -       rm -fr $(MSGSDIR)
168 -       rm -f  $(CSSDIR)/*.css
169 -       rm -fr $(CSSDIR)
170 -       rm -f  $(IMGDIR)/*.png
171 -       rm -fr $(IMGDIR)
172 -       rm -f  $(JSDIR)/*.js
173 -       rm -fr $(JSDIR)
174 -       rm -f  $(SQLDIR)/*.sql
175 -       rm -fr $(SQLDIR)
176 -       rm -fr $(LUADIR)/*.lua
177 -       rm -fr $(LUADIR)
178 -       rm -fr $(PRIVDIR)
179 -       rm -fr $(EJABBERDDIR)
180 +       rm -f  $(DESTDIR)$(SBINDIR)/ejabberdctl
181 +       rm -f  $(DESTDIR)$(BINDIR)/iex
182 +       rm -f  $(DESTDIR)$(BINDIR)/elixir
183 +       rm -f  $(DESTDIR)$(BINDIR)/mix
184 +       rm -fr $(DESTDIR)$(DOCDIR)
185 +       rm -f  $(DESTDIR)$(BEAMDIR)/*.beam
186 +       rm -f  $(DESTDIR)$(BEAMDIR)/*.app
187 +       rm -fr $(DESTDIR)$(BEAMDIR)
188 +       rm -f  $(DESTDIR)$(INCLUDEDIR)/*.hrl
189 +       rm -fr $(DESTDIR)$(INCLUDEDIR)
190 +       rm -fr $(DESTDIR)$(PBINDIR)
191 +       rm -f  $(DESTDIR)$(SODIR)/*.so
192 +       rm -fr $(DESTDIR)$(SODIR)
193 +       rm -f  $(DESTDIR)$(MSGSDIR)/*.msg
194 +       rm -fr $(DESTDIR)$(MSGSDIR)
195 +       rm -f  $(DESTDIR)$(CSSDIR)/*.css
196 +       rm -fr $(DESTDIR)$(CSSDIR)
197 +       rm -f  $(DESTDIR)$(IMGDIR)/*.png
198 +       rm -fr $(DESTDIR)$(IMGDIR)
199 +       rm -f  $(DESTDIR)$(JSDIR)/*.js
200 +       rm -fr $(DESTDIR)$(JSDIR)
201 +       rm -f  $(DESTDIR)$(SQLDIR)/*.sql
202 +       rm -fr $(DESTDIR)$(SQLDIR)
203 +       rm -fr $(DESTDIR)$(LUADIR)/*.lua
204 +       rm -fr $(DESTDIR)$(LUADIR)
205 +       rm -fr $(DESTDIR)$(PRIVDIR)
206 +       rm -fr $(DESTDIR)$(EJABBERDDIR)
207  
208  uninstall-all: uninstall-binary
209 -       rm -rf $(ETCDIR)
210 -       rm -rf $(EJABBERDDIR)
211 -       rm -rf $(SPOOLDIR)
212 -       rm -rf $(LOGDIR)
213 +       rm -rf $(DESTDIR)$(ETCDIR)
214 +       rm -rf $(DESTDIR)$(EJABBERDDIR)
215 +       rm -rf $(DESTDIR)$(SPOOLDIR)
216 +       rm -rf $(DESTDIR)$(LOGDIR)
217  
218  clean:
219         rm -rf $(DEPSDIR)/.got
This page took 0.083348 seconds and 3 git commands to generate.