nginx: introduce migration for old uci conf template
Introduce support for migration of old uci conf template to new version.
Uci conf template are saved in config backup. This cause problem on config
restore as old config template might have compatibility problem with new
nginx implementation.
Add logic to migrate the template script at runtime to correctly align
to latest change from nginx and nginx-util.
Fixes: 65a676ed56
("nginx: introduce support for dynamic modules")
Fixes: #20904
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
parent
e499f0adf1
commit
6a3cc76ea5
1 changed files with 20 additions and 0 deletions
|
@ -8,11 +8,27 @@ USE_PROCD=1
|
|||
G_OPTS="daemon off;"
|
||||
|
||||
NGINX_UTIL="/usr/bin/nginx-util"
|
||||
UCI_CONF_TEMPLATE="/etc/nginx/uci.conf.template"
|
||||
LATEST_UCI_CONF_VERSION="1.1"
|
||||
|
||||
eval $("${NGINX_UTIL}" get_env)
|
||||
|
||||
CONF=""
|
||||
|
||||
nginx_check_luci_template() {
|
||||
UCI_CONF_VERSION="$(sed -nr 's/# UCI_CONF_VERSION=(.*)/\1/p' $UCI_CONF_TEMPLATE)"
|
||||
|
||||
# No need to migrate already latest version
|
||||
if [ "$UCI_CONF_VERSION" = "$LATEST_UCI_CONF_VERSION" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -z "$UCI_CONF_VERSION" ]; then
|
||||
echo "" >> $UCI_CONF_TEMPLATE
|
||||
echo "include module.d/*.module;" >> $UCI_CONF_TEMPLATE
|
||||
echo "# UCI_CONF_VERSION=1.1" >> $UCI_CONF_TEMPLATE
|
||||
fi
|
||||
}
|
||||
|
||||
nginx_init() {
|
||||
[ -z "${CONF}" ] || return # already called.
|
||||
|
@ -23,6 +39,10 @@ nginx_init() {
|
|||
rm -f "$(readlink "${UCI_CONF}")"
|
||||
${NGINX_UTIL} init_lan
|
||||
|
||||
if [ -f $UCI_CONF_TEMPLATE ]; then
|
||||
nginx_check_luci_template
|
||||
fi
|
||||
|
||||
if [ -e "${UCI_CONF}" ]
|
||||
then CONF="${UCI_CONF}"
|
||||
else CONF="${NGINX_CONF}"
|
||||
|
|
Loading…
Reference in a new issue