[PATCH v2] fff-sysupgrade: use keep.d and spread to packages

Tim Niemeyer tim at tn-x.org
Sa Aug 11 16:05:05 CEST 2018


Currently only one package can define what files are upgrade-save and
what not. With this change, we
- remove the nasty 0001-sysupgrade-no-config-save path
- support more packages to define upgrade-save files
- move the upgrade save definition to the packages owning the files

Signed-off-by: Tim Niemeyer <tim at tn-x.org>

---

Changes in v2:
- remove sector file

 .../openwrt/0001-sysupgrade-no-config-save.patch   | 25 ----------------------
 .../fff-config/files/lib/upgrade/keep.d/fff-config |  1 +
 src/packages/fff/fff-fastd/Makefile                |  4 ++++
 .../fff/fff-fastd/overlay/lib/upgrade/keep.d/fastd |  0
 .../fff-hoods/files/lib/upgrade/keep.d/fff-hoods   |  1 +
 .../files/lib/upgrade/keep.d/fff-network           |  1 +
 src/packages/fff/fff-sysupgrade/Makefile           |  4 ++++
 .../files/etc/uci-defaults/99-fff-sysupgrade       | 13 -----------
 .../files/lib/upgrade/keep.d/fff-sysupgrade        |  4 ++++
 .../overlay/lib/upgrade/keep.d/base-files          |  0
 .../lib/upgrade/keep.d/base-files-essential        |  0
 .../overlay/lib/upgrade/keep.d/uboot-envtools      |  0
 12 files changed, 15 insertions(+), 38 deletions(-)
 delete mode 100644 build_patches/openwrt/0001-sysupgrade-no-config-save.patch
 create mode 100644 src/packages/fff/fff-config/files/lib/upgrade/keep.d/fff-config
 create mode 100644 src/packages/fff/fff-fastd/overlay/lib/upgrade/keep.d/fastd
 create mode 100644 src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods
 create mode 100644 src/packages/fff/fff-network/files/lib/upgrade/keep.d/fff-network
 delete mode 100644 src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade
 create mode 100644 src/packages/fff/fff-sysupgrade/files/lib/upgrade/keep.d/fff-sysupgrade
 create mode 100644 src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/base-files
 create mode 100644 src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/base-files-essential
 create mode 100644 src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/uboot-envtools

diff --git a/build_patches/openwrt/0001-sysupgrade-no-config-save.patch b/build_patches/openwrt/0001-sysupgrade-no-config-save.patch
deleted file mode 100644
index eabd5df..0000000
--- a/build_patches/openwrt/0001-sysupgrade-no-config-save.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1115262b144c9fbdb9101a29681cf3d0f332f167 Mon Sep 17 00:00:00 2001
-From: Tim Niemeyer <tim at tn-x.org>
-Date: Sat, 8 Jul 2017 10:46:59 +0200
-Subject: [PATCH 1/7] sysupgrade no config save
-
----
- package/base-files/files/sbin/sysupgrade | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
-index c095ca8..4a97d36 100755
---- a/package/base-files/files/sbin/sysupgrade
-+++ b/package/base-files/files/sbin/sysupgrade
-@@ -104,7 +104,7 @@ EOF
- add_uci_conffiles() {
- 	local file="$1"
- 	( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
--		/etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
-+		/etc/sysupgrade.conf 2>/dev/null) \
- 		-type f -o -type l 2>/dev/null;
- 	  opkg list-changed-conffiles ) | sort -u > "$file"
- 	return 0
--- 
-2.1.4
-
diff --git a/src/packages/fff/fff-config/files/lib/upgrade/keep.d/fff-config b/src/packages/fff/fff-config/files/lib/upgrade/keep.d/fff-config
new file mode 100644
index 0000000..95c1329
--- /dev/null
+++ b/src/packages/fff/fff-config/files/lib/upgrade/keep.d/fff-config
@@ -0,0 +1 @@
+/etc/config/fff
diff --git a/src/packages/fff/fff-fastd/Makefile b/src/packages/fff/fff-fastd/Makefile
index b6ee5fb..4d48c7a 100644
--- a/src/packages/fff/fff-fastd/Makefile
+++ b/src/packages/fff/fff-fastd/Makefile
@@ -38,6 +38,10 @@ define Build/Compile
 	# nothing
 endef
 
+define Package/$(PKG_NAME)/install-overlay
+    $(CP) ./overlay/* $(1)/
+endef
+
 define Package/$(PKG_NAME)/install
 	$(CP) ./files/* $(1)/
 endef
diff --git a/src/packages/fff/fff-fastd/overlay/lib/upgrade/keep.d/fastd b/src/packages/fff/fff-fastd/overlay/lib/upgrade/keep.d/fastd
new file mode 100644
index 0000000..e69de29
diff --git a/src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods b/src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods
new file mode 100644
index 0000000..1b659ca
--- /dev/null
+++ b/src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods
@@ -0,0 +1 @@
+/etc/hoodfile
diff --git a/src/packages/fff/fff-network/files/lib/upgrade/keep.d/fff-network b/src/packages/fff/fff-network/files/lib/upgrade/keep.d/fff-network
new file mode 100644
index 0000000..fa879f3
--- /dev/null
+++ b/src/packages/fff/fff-network/files/lib/upgrade/keep.d/fff-network
@@ -0,0 +1 @@
+/etc/network.config
diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile
index 0be55ab..2a311b5 100644
--- a/src/packages/fff/fff-sysupgrade/Makefile
+++ b/src/packages/fff/fff-sysupgrade/Makefile
@@ -33,6 +33,10 @@ define Build/Compile
     # nothing
 endef
 
+define Package/$(PKG_NAME)/install-overlay
+    $(CP) ./overlay/* $(1)/
+endef
+
 define Package/$(PKG_NAME)/install
     $(CP) ./files/* $(1)/
 endef
diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade
deleted file mode 100644
index 7ff83f5..0000000
--- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-# Copyright 2017 Tim Niemeyer
-# License GPLv3
-
-cat > /etc/sysupgrade.conf <<-__EOF__
-/etc/shadow
-/etc/dropbear/dropbear_dss_host_key
-/etc/dropbear/dropbear_rsa_host_key
-/etc/dropbear/authorized_keys
-/etc/network.config
-/etc/config/fff
-/etc/hoodfile
-__EOF__
diff --git a/src/packages/fff/fff-sysupgrade/files/lib/upgrade/keep.d/fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/lib/upgrade/keep.d/fff-sysupgrade
new file mode 100644
index 0000000..0a1b46b
--- /dev/null
+++ b/src/packages/fff/fff-sysupgrade/files/lib/upgrade/keep.d/fff-sysupgrade
@@ -0,0 +1,4 @@
+/etc/shadow
+/etc/dropbear/dropbear_dss_host_key
+/etc/dropbear/dropbear_rsa_host_key
+/etc/dropbear/authorized_keys
diff --git a/src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/base-files b/src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/base-files
new file mode 100644
index 0000000..e69de29
diff --git a/src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/base-files-essential b/src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/base-files-essential
new file mode 100644
index 0000000..e69de29
diff --git a/src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/uboot-envtools b/src/packages/fff/fff-sysupgrade/overlay/lib/upgrade/keep.d/uboot-envtools
new file mode 100644
index 0000000..e69de29
-- 
2.11.0



Mehr Informationen über die Mailingliste franken-dev