comparison auto/install @ 6425:05c894a598ea

Dynamic modules: do not overwrite old modules on install. Just using "cp" is incorrect, as it will overwrite old files possibly used by OS, leading to unexpected effects. Changed to "mv + cp", much like used for the main binary.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 10 Mar 2016 16:50:13 +0300
parents 39a806ccf21e
children 1cbd7f87c6ed
comparison
equal deleted inserted replaced
6424:ae41f64f7c9b 6425:05c894a598ea
167 END 167 END
168 168
169 fi 169 fi
170 170
171 171
172 if test -n "$NGX_MODULES"; then 172 if test -n "$DYNAMIC_MODULES"; then
173 cat << END >> $NGX_MAKEFILE 173 cat << END >> $NGX_MAKEFILE
174 174
175 test -d '\$(DESTDIR)$NGX_MODULES_PATH' \ 175 test -d '\$(DESTDIR)$NGX_MODULES_PATH' \
176 || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH' 176 || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH'
177 cp $NGX_MODULES '\$(DESTDIR)$NGX_MODULES_PATH' 177 END
178 END 178
179 179 fi
180 fi 180
181
182 for ngx_module in $DYNAMIC_MODULES
183 do
184 ngx_module=$ngx_module$ngx_modext
185
186 cat << END >> $NGX_MAKEFILE
187
188 test ! -f '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \
189 || mv '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \
190 '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module.old'
191 cp $NGX_OBJS/$ngx_module '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module'
192 END
193
194 done
181 195
182 196
183 # create Makefile 197 # create Makefile
184 198
185 cat << END >> Makefile 199 cat << END >> Makefile