]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
upgrade: use /var/lib path for config instead of /etc
authorTomas Krizek <tomas.krizek@nic.cz>
Tue, 21 Jan 2020 14:00:01 +0000 (15:00 +0100)
committerTomas Krizek <tomas.krizek@nic.cz>
Fri, 24 Jan 2020 12:19:05 +0000 (13:19 +0100)
distro/arch/install
distro/deb/knot-resolver.postinst
distro/deb/knot-resolver.preinst
distro/rpm/knot-resolver.spec
utils/upgrade/meson.build
utils/upgrade/upgrade-4-to-5.lua.in

index e0104163c0592af516e94dfb41e4b531c00e4aed..c2de76d78edb9416b2a182c06b7dda032e05d8f7 100644 (file)
@@ -5,9 +5,11 @@ post_install() {
 }
 
 pre_upgrade() {
-  if [ -f /lib/systemd/system/kresd.socket ] ; then
-    export UPG_DIR=%{_sysconfdir}/knot-resolver/.upgrade-4-to-5
+  # upgrade from 4.x to 5.x - save socket interfaces before package uninstall
+  if [ -f /usr/lib/systemd/system/kresd.socket ] ; then
+    export UPG_DIR=/var/lib/knot-resolver/.upgrade-4-to-5
     mkdir -p ${UPG_DIR}
+    touch ${UPG_DIR}/.unfinished
 
     for sock in kresd.socket kresd-tls.socket kresd-webmgmt.socket kresd-doh.socket ; do
       if systemctl is-enabled ${sock} 2>/dev/null | grep -qv masked ; then
@@ -28,16 +30,18 @@ pre_upgrade() {
 }
 
 post_upgrade() {
-  chown -R root:knot-resolver /etc/knot-resolver
-
-  export UPG_DIR=%{_sysconfdir}/knot-resolver/.upgrade-4-to-5
+  # upgrade from 4.x to 5.x - convert systemd socket configs to net.listen() format
+  export UPG_DIR=/var/lib/knot-resolver/.upgrade-4-to-5
   if [ -f ${UPG_DIR}/.unfinished ] ; then
     rm -f ${UPG_DIR}/.unfinished
-    kresd -c %{_libdir}/knot-resolver/upgrade-4-to-5.lua &>/dev/null
+    kresd -c /usr/lib/knot-resolver/upgrade-4-to-5.lua &>/dev/null
     echo -e "\n   !!! WARNING !!!"
     echo -e "Knot Resolver configuration file requires manual upgrade.\n"
     cat ${UPG_DIR}/kresd.conf.net 2>/dev/null
   fi
+
+  chown -R root:knot-resolver /etc/knot-resolver
+  chown -R root:knot-resolver /var/lib/knot-resolver
 }
 
 post_remove() {
index a74765ba0140d2e0294fa7c9b164110dfdb53b46..c11c095a8d337e44b78c6018e7d41b8165d6f3ce 100644 (file)
@@ -2,7 +2,7 @@
 set -e
 
 # upgrade-4-to-5
-export UPG_DIR=/etc/knot-resolver/.upgrade-4-to-5
+export UPG_DIR=/var/lib/knot-resolver/.upgrade-4-to-5
 if [ -f ${UPG_DIR}/.unfinished ] ; then
        rm -f ${UPG_DIR}/.unfinished
        kresd -c /usr/lib/knot-resolver/upgrade-4-to-5.lua >/dev/null 2>/dev/null
index 62dc01849e8e2bcf2caaf62103bd3e8d2c45e86b..568ade2487e596cc3391b22484d5a38b04f51f35 100644 (file)
@@ -3,7 +3,7 @@ set -e
 
 # upgrade-4-to-5
 if [ -f /lib/systemd/system/kresd.socket ] ; then
-       export UPG_DIR=/etc/knot-resolver/.upgrade-4-to-5
+       export UPG_DIR=/var/lib/knot-resolver/.upgrade-4-to-5
        mkdir -p ${UPG_DIR}
        touch ${UPG_DIR}/.unfinished
 
index c0171461e011e1ec64e2355726596c8cef0103b3..8ff86260219259a8317b41ea08a823419ffbfa18 100644 (file)
@@ -206,7 +206,7 @@ getent passwd knot-resolver >/dev/null || useradd -r -g knot-resolver -d %{_sysc
 %if "x%{?rhel}" == "x"
 # upgrade-4-to-5
 if [ -f %{_unitdir}/kresd.socket ] ; then
-       export UPG_DIR=%{_sysconfdir}/knot-resolver/.upgrade-4-to-5
+       export UPG_DIR=%{_sharedstatedir}/knot-resolver/.upgrade-4-to-5
        mkdir -p ${UPG_DIR}
        touch ${UPG_DIR}/.unfinished
 
@@ -232,7 +232,7 @@ fi
 %post
 # upgrade-4-to-5
 %if "x%{?rhel}" == "x"
-export UPG_DIR=%{_sysconfdir}/knot-resolver/.upgrade-4-to-5
+export UPG_DIR=%{_sharedstatedir}/knot-resolver/.upgrade-4-to-5
 if [ -f ${UPG_DIR}/.unfinished ] ; then
        rm -f ${UPG_DIR}/.unfinished
        kresd -c %{_libdir}/knot-resolver/upgrade-4-to-5.lua &>/dev/null
index 19cc4200fd2bf3e6a2c3d2baff5708f6305781d1..b5ddc03440b9e11fb65460a4264a8f3cb34cb520 100644 (file)
@@ -2,6 +2,7 @@
 
 upgrade_config = configuration_data()
 upgrade_config.set('etc_dir', etc_dir)
+upgrade_config.set('systemd_work_dir', systemd_work_dir)
 
 configure_file(
   input: 'upgrade-4-to-5.lua.in',
index 93f79f1fe1d966101c45553e6be4f0c574079736..212e0e10c99d1f1f3431784f3585573879ef946c 100644 (file)
@@ -1,4 +1,4 @@
-local upg_dir = '@etc_dir@/.upgrade-4-to-5'
+local upg_dir = '@systemd_work_dir@/.upgrade-4-to-5'
 local out = upg_dir..'/kresd.conf.net'
 local sockets = {
        { file='kresd.socket', kind='dns' },