diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2016-03-10 16:50:13 +0300 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2016-03-10 16:50:13 +0300 |
| commit | 5835963d61f374483f2acafb699031183bb8410f (patch) | |
| tree | 30765c73769ea5f540af3567a91e2ea1f78ea854 /auto/install | |
| parent | 2301b095e60320f98d602751ba07a324690b6a47 (diff) | |
| download | nginx-5835963d61f374483f2acafb699031183bb8410f.tar.gz nginx-5835963d61f374483f2acafb699031183bb8410f.tar.bz2 | |
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.
Diffstat (limited to 'auto/install')
| -rw-r--r-- | auto/install | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/auto/install b/auto/install index 6efa92f73..948ddc177 100644 --- a/auto/install +++ b/auto/install @@ -169,17 +169,31 @@ END fi -if test -n "$NGX_MODULES"; then +if test -n "$DYNAMIC_MODULES"; then cat << END >> $NGX_MAKEFILE test -d '\$(DESTDIR)$NGX_MODULES_PATH' \ || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH' - cp $NGX_MODULES '\$(DESTDIR)$NGX_MODULES_PATH' END fi +for ngx_module in $DYNAMIC_MODULES +do + ngx_module=$ngx_module$ngx_modext + + cat << END >> $NGX_MAKEFILE + + test ! -f '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \ + || mv '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \ + '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module.old' + cp $NGX_OBJS/$ngx_module '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' +END + +done + + # create Makefile cat << END >> Makefile |
