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'
8 Makefile.in | 132 ++++++++++++++++++++++++++--------------------------
9 1 file changed, 66 insertions(+), 66 deletions(-)
11 diff --git a/Makefile.in b/Makefile.in
12 index 16e713ebe7..7358982f6a 100644
15 @@ -10,27 +10,27 @@ exec_prefix = @exec_prefix@
19 -ETCDIR = $(DESTDIR)@sysconfdir@/ejabberd
20 +ETCDIR = @sysconfdir@/ejabberd
23 -BINDIR = $(DESTDIR)@bindir@
27 -SBINDIR = $(DESTDIR)@sbindir@
31 -LIBDIR = $(DESTDIR)@libdir@
35 -EJABBERDDIR = $(DESTDIR)@libdir@/ejabberd
36 +EJABBERDDIR = @libdir@/ejabberd
39 PACKAGE_TARNAME = @PACKAGE_TARNAME@
40 datarootdir = @datarootdir@
41 -DOCDIR = $(DESTDIR)@docdir@
45 -MANDIR = $(DESTDIR)@mandir@/man5
46 +MANDIR = @mandir@/man5
48 # /usr/lib/ejabberd/ebin/
49 BEAMDIR = $(EJABBERDDIR)/ebin
50 @@ -66,10 +66,10 @@ SQLDIR = $(PRIVDIR)/sql
51 LUADIR = $(PRIVDIR)/lua
54 -SPOOLDIR = $(DESTDIR)@localstatedir@/lib/ejabberd
55 +SPOOLDIR = @localstatedir@/lib/ejabberd
58 -LOGDIR = $(DESTDIR)@localstatedir@/log/ejabberd
59 +LOGDIR = @localstatedir@/log/ejabberd
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)))))
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))))
75 $(sort $(call TO_DEST,$(MAIN_DIRS) $(DEPS_DIRS))):
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
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
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
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
118 $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \
119 @@ -342,59 +342,59 @@ install: copy-files ejabberdctl.example
120 chmod 644 ejabberd.service
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)
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)
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)
150 uninstall: uninstall-binary
153 - rm -f $(SBINDIR)/ejabberdctl
154 - rm -f $(BINDIR)/iex
155 - rm -f $(BINDIR)/elixir
156 - rm -f $(BINDIR)/mix
158 - rm -f $(BEAMDIR)/*.beam
159 - rm -f $(BEAMDIR)/*.app
161 - rm -f $(INCLUDEDIR)/*.hrl
162 - rm -fr $(INCLUDEDIR)
164 - rm -f $(SODIR)/*.so
166 - rm -f $(MSGSDIR)/*.msg
168 - rm -f $(CSSDIR)/*.css
170 - rm -f $(IMGDIR)/*.png
172 - rm -f $(JSDIR)/*.js
174 - rm -f $(SQLDIR)/*.sql
176 - rm -fr $(LUADIR)/*.lua
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)
208 uninstall-all: uninstall-binary
210 - rm -rf $(EJABBERDDIR)
213 + rm -rf $(DESTDIR)$(ETCDIR)
214 + rm -rf $(DESTDIR)$(EJABBERDDIR)
215 + rm -rf $(DESTDIR)$(SPOOLDIR)
216 + rm -rf $(DESTDIR)$(LOGDIR)
219 rm -rf $(DEPSDIR)/.got