[1/3] fff-sysupgrade: use keep.d and spread to packages

Submitted by Tim Niemeyer on Feb. 11, 2018, 8:24 p.m.

Details

Message ID 20180211202501.32710-1-tim@tn-x.org
State Superseded
Headers show

Commit Message

Tim Niemeyer Feb. 11, 2018, 8:24 p.m.
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@tn-x.org>
---

 .../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   |  2 ++
 .../files/lib/upgrade/keep.d/fff-network           |  1 +
 src/packages/fff/fff-sysupgrade/Makefile           |  4 ++++
 .../files/etc/uci-defaults/99-fff-sysupgrade       | 14 ------------
 .../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, 16 insertions(+), 39 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/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

Patch hide | download patch | download mbox

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@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..ee1cd2a
--- /dev/null
+++ b/src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods
@@ -0,0 +1,2 @@ 
+/etc/hoodfile
+/etc/sectorfile
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 d9ebe15..0000000
--- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade
+++ /dev/null
@@ -1,14 +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
-/etc/sectorfile
-__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

Comments

Adrian Schmutzler Feb. 11, 2018, 8:28 p.m.
Was war eigtl. der Grund für 0001-sysupgrade-no-config-save path?

Weiß das noch jemand, das hat man ja bestimmt nicht zum Spaß gemacht?

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> Of Tim Niemeyer
> Sent: Sonntag, 11. Februar 2018 21:25
> To: franken-dev@freifunk.net
> Subject: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to packages
> 
> 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@tn-x.org>
> ---
> 
>  .../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   |  2 ++
>  .../files/lib/upgrade/keep.d/fff-network           |  1 +
>  src/packages/fff/fff-sysupgrade/Makefile           |  4 ++++
>  .../files/etc/uci-defaults/99-fff-sysupgrade       | 14 ------------
>  .../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, 16 insertions(+), 39 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@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..ee1cd2a
> --- /dev/null
> +++ b/src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods
> @@ -0,0 +1,2 @@
> +/etc/hoodfile
> +/etc/sectorfile
> 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 d9ebe15..0000000
> --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-
> sysupgrade
> +++ /dev/null
> @@ -1,14 +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
> -/etc/sectorfile
> -__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-sysup
> +++ grade
> @@ -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
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Tim Niemeyer Feb. 11, 2018, 8:33 p.m.
Hi

Am Sonntag, den 11.02.2018, 21:28 +0100 schrieb mail@adrianschmutzler.de:
> Was war eigtl. der Grund für 0001-sysupgrade-no-config-save path?
> 
> Weiß das noch jemand, das hat man ja bestimmt nicht zum Spaß gemacht?
Nein, ich hab damals kein Spass gemacht.

Hintergrund war, dass die damalige Firmware es vorgesehen hat, dass die
gesamte Config im Firmware Image vorhanden war. Die Config's sollten
nicht beim Update überleben.

Wir hatten damals auch nicht genug Ressourcen um jede Config durch
einen Update-Mechanismus nachzupflegen, wie wir es z.B. mit der
/etc/config/system machen, die wir ja in die /etc/config/fff
überführen.

Heute sieht das ein bisschen anders aus, und wir möchten ganz bestimmte
Config's ganz gezielt überleben lassen. Die Liste dieser stand bisher
in der /etc/sysupgrade.conf, aber diese Datei ist eben nicht modular
erweiterbar.

Den reinen OpenWRT Mechanismus können wir nach wie vor nicht nutzen,
weil dann immer noch Config's überleben, die wir eigentlich gern
überschreiben möchten. Daher wird dieser Mechanismus mit diesem Patch
auch ausser Kraft gesetzt in  dem die entsprechenden files in
/lib/upgrade/keep.d überschrieben werden.

Tim

> 
> > -----Original Message-----
> > > > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> > Of Tim Niemeyer
> > Sent: Sonntag, 11. Februar 2018 21:25
> > To: franken-dev@freifunk.net
> > Subject: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to packages
> > 
> > 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@tn-x.org>
> > ---
> > 
> >  .../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   |  2 ++
> >  .../files/lib/upgrade/keep.d/fff-network           |  1 +
> >  src/packages/fff/fff-sysupgrade/Makefile           |  4 ++++
> >  .../files/etc/uci-defaults/99-fff-sysupgrade       | 14 ------------
> >  .../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, 16 insertions(+), 39 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@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..ee1cd2a
> > --- /dev/null
> > +++ b/src/packages/fff/fff-hoods/files/lib/upgrade/keep.d/fff-hoods
> > @@ -0,0 +1,2 @@
> > +/etc/hoodfile
> > +/etc/sectorfile
> > 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 d9ebe15..0000000
> > --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-
> > sysupgrade
> > +++ /dev/null
> > @@ -1,14 +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
> > -/etc/sectorfile
> > -__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-sysup
> > +++ grade
> > @@ -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
> > 
> > --
> > franken-dev mailing list
> > franken-dev@freifunk.net
> > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
> 
>
Adrian Schmutzler Feb. 11, 2018, 8:45 p.m.
Hallo,

ich bin mir noch nicht so ganz sicher, ob ich das jetzt richtig verstanden habe:

> Den reinen OpenWRT Mechanismus können wir nach wie vor nicht nutzen,
> weil dann immer noch Config's überleben, die wir eigentlich gern
> überschreiben möchten. Daher wird dieser Mechanismus mit diesem Patch
> auch ausser Kraft gesetzt in  dem die entsprechenden files in
> /lib/upgrade/keep.d überschrieben werden.

Du löschst ja jetzt 0001-sysupgrade-no-config-save.patch, d.h. zunächst werden jetzt alle keep.d/*, die da von OpenWRT drin stehen, wieder aktiv?

> > > 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

Hier legst du mittels install-overlay ein neues, leeres File an, das das bestehe File überschreibt, sodass fastd NICHT das Upgrade überlebt (weil wir das ja so wollen)?

Ist das auch der Grund, warum du manchmal files/* und manchmal overlay/* verwendest, je nachdem, ob ein bestehendes file überschrieben werden muss oder nicht?

Grüße

Adrian





> -----Original Message-----
> From: Tim Niemeyer [mailto:tim@tn-x.org]
> Sent: Sonntag, 11. Februar 2018 21:34
> To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to packages
> 

....
Tim Niemeyer Feb. 11, 2018, 8:53 p.m.
Am Sonntag, den 11.02.2018, 21:45 +0100 schrieb
mail@adrianschmutzler.de:
> Hallo,
> 
> ich bin mir noch nicht so ganz sicher, ob ich das jetzt richtig
> verstanden habe:
> 
> > Den reinen OpenWRT Mechanismus können wir nach wie vor nicht
> > nutzen,
> > weil dann immer noch Config's überleben, die wir eigentlich gern
> > überschreiben möchten. Daher wird dieser Mechanismus mit diesem
> > Patch
> > auch ausser Kraft gesetzt in  dem die entsprechenden files in
> > /lib/upgrade/keep.d überschrieben werden.
> 
> Du löschst ja jetzt 0001-sysupgrade-no-config-save.patch, d.h.
> zunächst werden jetzt alle keep.d/*, die da von OpenWRT drin stehen,
> wieder aktiv?
Ja, korrekt. Aber von OpenWRT stehen nicht mehr so viele drin. (siehe
unten). Neu ist lediglich die ssl keys vom webui.

> 
> > > > 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
> 
> Hier legst du mittels install-overlay ein neues, leeres File an, das
> das bestehe File überschreibt, sodass fastd NICHT das Upgrade
> überlebt (weil wir das ja so wollen)?
Genau. Die fastd Config soll ja vom vpn-select angelegt werden. Das
macht vermutlich langfristig Sinn das mal irgendwie zu ändern. Ob die
Config dann überleben soll oder nicht muss das fff-fastd Packet
entscheiden. Vor und mit dem Patch überlebt es nicht.

> Ist das auch der Grund, warum du manchmal files/* und manchmal
> overlay/* verwendest, je nachdem, ob ein bestehendes file
> überschrieben werden muss oder nicht?
Ja, man kann im Package/<Name>/install keine Dateien von anderen
Paketen überschreiben. Das rootfs-overlay ist so eine Art
Zwischenschritt, in welches Dateien installiert werden können. Der
Inhalt von rootfs-overlay wird am Ende vom Build-Prozess dann in das
rootfs geschoben. Am Ende überschreibt es dann Dateien.

Mir persönlich gefällt das Vorgehen so gar nicht, aber die einzigen
anderen funktionale Alternative sind
* die Dateien über uci-default zu löschen. Dann hat man den "dreck"
aber trotzdem im Image und auf dem Flash.
* die Dateien über das files/ Directory zu überschreiben. Das wollten
wir aber los werden, weil es keine Abhängigkeiten und Paket-Strukturen
kennt. Es würde Dateien überschreiben, auch wenn das überschreibende
Paket nicht gebaut wird.

Es gab ein neues buildroot Feature, was auch kurz in OpenWRT ging. Da
konnte man mittels Buildroot-Overlay die Makefiles von anderen Paketen
beeinflussen. Das wäre eine saubere Lösung gewesen, aber aufgrund der
Komplexität wurde (oder wird) es aus OpenWRT entfernt.

Tim

> Grüße
> 
> Adrian
> 
> 
> 
> 
> 
> > -----Original Message-----
> > From: Tim Niemeyer [mailto:tim@tn-x.org]
> > Sent: Sonntag, 11. Februar 2018 21:34
> > To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> > Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to
> > packages
> > 
> 
> ....
>
Adrian Schmutzler Feb. 11, 2018, 9:06 p.m.
Hallo Tim,

ich habe gerade auf einem Router ins keep.d gekuckt:
base-files            fastd                 uhttpd
base-files-essential  uboot-envtools

Da ziehen wir also ggf. noch anderes Zeug mit (k.A. ob das jetzt gut oder schlecht ist).

Ich finde es irgendwie eklig, immer nachsehen zu müssen, welche Files rumliegen und die dann manuell zu überschrieben.

Die Aufteilung auf die Packages ist allerdings auch in meinen Augen erstrebenswert. Ich würde noch einen ganz anderen Ansatz vorschlagen:
Wir können parallel zum keep.d einen "eigenen" Ordner keep.fff anlegen und dort packageabhängig Files reintun.

Dass müsste man 0001-sysupgrade-no-config-save.patch behalten, aber halt
--		/etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
-+		/etc/sysupgrade.conf /lib/upgrade/keep.fff/*  2>/dev/null) \

Nachteile wären in meinen Augen nur ein bisschen Speicher und die Tatsache, dass wir halt wieder einen Patch brauchen (ich finde den Patch aber weniger eklig als das manuelle überschreiben mit leeren Files).

Als Vorteile hätten wir, dass wir sicher nur unsere Files nehmen und nicht immer zwischen install und install-overlay unterscheiden müssen.
Und wir müssen nicht bei jedem LEDE-Update nachsehen, ob sich das keep.d geändert hat (was sicher leicht vergessen wird).

Grüße

Adrian


> -----Original Message-----
> From: Tim Niemeyer [mailto:tim@tn-x.org]
> Sent: Sonntag, 11. Februar 2018 21:53
> To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to packages
> 
> Am Sonntag, den 11.02.2018, 21:45 +0100 schrieb
> mail@adrianschmutzler.de:
> > Hallo,
> >
> > ich bin mir noch nicht so ganz sicher, ob ich das jetzt richtig
> > verstanden habe:
> >
> > > Den reinen OpenWRT Mechanismus können wir nach wie vor nicht
> nutzen,
> > > weil dann immer noch Config's überleben, die wir eigentlich gern
> > > überschreiben möchten. Daher wird dieser Mechanismus mit diesem
> > > Patch auch ausser Kraft gesetzt in  dem die entsprechenden files in
> > > /lib/upgrade/keep.d überschrieben werden.
> >
> > Du löschst ja jetzt 0001-sysupgrade-no-config-save.patch, d.h.
> > zunächst werden jetzt alle keep.d/*, die da von OpenWRT drin stehen,
> > wieder aktiv?
> Ja, korrekt. Aber von OpenWRT stehen nicht mehr so viele drin. (siehe
> unten). Neu ist lediglich die ssl keys vom webui.
> 
> >
> > > > > 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
> >
> > Hier legst du mittels install-overlay ein neues, leeres File an, das
> > das bestehe File überschreibt, sodass fastd NICHT das Upgrade überlebt
> > (weil wir das ja so wollen)?
> Genau. Die fastd Config soll ja vom vpn-select angelegt werden. Das macht
> vermutlich langfristig Sinn das mal irgendwie zu ändern. Ob die Config dann
> überleben soll oder nicht muss das fff-fastd Packet entscheiden. Vor und mit
> dem Patch überlebt es nicht.
> 
> > Ist das auch der Grund, warum du manchmal files/* und manchmal
> > overlay/* verwendest, je nachdem, ob ein bestehendes file
> > überschrieben werden muss oder nicht?
> Ja, man kann im Package/<Name>/install keine Dateien von anderen
> Paketen überschreiben. Das rootfs-overlay ist so eine Art Zwischenschritt, in
> welches Dateien installiert werden können. Der Inhalt von rootfs-overlay
> wird am Ende vom Build-Prozess dann in das rootfs geschoben. Am Ende
> überschreibt es dann Dateien.
> 
> Mir persönlich gefällt das Vorgehen so gar nicht, aber die einzigen anderen
> funktionale Alternative sind
> * die Dateien über uci-default zu löschen. Dann hat man den "dreck"
> aber trotzdem im Image und auf dem Flash.
> * die Dateien über das files/ Directory zu überschreiben. Das wollten wir aber
> los werden, weil es keine Abhängigkeiten und Paket-Strukturen kennt. Es
> würde Dateien überschreiben, auch wenn das überschreibende Paket nicht
> gebaut wird.
> 
> Es gab ein neues buildroot Feature, was auch kurz in OpenWRT ging. Da
> konnte man mittels Buildroot-Overlay die Makefiles von anderen Paketen
> beeinflussen. Das wäre eine saubere Lösung gewesen, aber aufgrund der
> Komplexität wurde (oder wird) es aus OpenWRT entfernt.
> 
> Tim
> 
> > Grüße
> >
> > Adrian
> >
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: Tim Niemeyer [mailto:tim@tn-x.org]
> > > Sent: Sonntag, 11. Februar 2018 21:34
> > > To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> > > Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to
> > > packages
> > >
> >
> > ....
> >
Tim Niemeyer Feb. 11, 2018, 9:15 p.m.
Moin Adrian

Am Sonntag, den 11.02.2018, 22:06 +0100 schrieb mail@adrianschmutzler.de:
> Hallo Tim,
> 
> ich habe gerade auf einem Router ins keep.d gekuckt:
> base-files            fastd                 uhttpd
> base-files-essential  uboot-envtools
> 
> Da ziehen wir also ggf. noch anderes Zeug mit (k.A. ob das jetzt gut oder schlecht ist).
> 
> Ich finde es irgendwie eklig, immer nachsehen zu müssen, welche Files rumliegen und die dann manuell zu überschrieben.
> 
> Die Aufteilung auf die Packages ist allerdings auch in meinen Augen
> erstrebenswert. Ich würde noch einen ganz anderen Ansatz vorschlagen:
> Wir können parallel zum keep.d einen "eigenen" Ordner keep.fff
> anlegen und dort packageabhängig Files reintun.
Jo, das hatte ich auch erst überlegt. Aber ich dachte: "lieber
möglichst nah am Original bleiben."

> Dass müsste man 0001-sysupgrade-no-config-save.patch behalten, aber halt
> > --		/etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
> > -+		/etc/sysupgrade.conf /lib/upgrade/keep.fff/*  2>/dev/null) \
> 
> Nachteile wären in meinen Augen nur ein bisschen Speicher und die
> Tatsache, dass wir halt wieder einen Patch brauchen (ich finde den
> Patch aber weniger eklig als das manuelle überschreiben mit leeren
> Files).

Ein weiterer Nachteil wäre es, dass wenn wir (oder jemand) ein Paket
installiert, was den OpenWRT Weg nutzen möchte, dass dies dann nicht
geht.

Im Beispiel von uhttp muss ich sagen, gefällt es mir eigentlich sehr
gut, so wie das gelöst ist.

> Als Vorteile hätten wir, dass wir sicher nur unsere Files nehmen und
> nicht immer zwischen install und install-overlay unterscheiden
> müssen.
> Und wir müssen nicht bei jedem LEDE-Update nachsehen, ob sich das
> keep.d geändert hat (was sicher leicht vergessen wird).
Das ist auf jeden Fall wahr. So lange wir dieses OpenWrt nur für die
von uns vorgesehenen Zwecke nutzen scheinen die Vorteile von deinem
Vorschlag zu überwiegen.

Da das Zeug eh erst im next-feature drauf soll haben wir noch etwas
Zeit. Ich würde das jetzt noch ein bisschen in der Diskussion lassen
und je nach dem ggfs mein Patch an deinen Vorschlag anpassen. Hätte da
gern aber noch ein paar mehr Meinungen.

Tim

> Grüße
> 
> Adrian
> 
> 
> > -----Original Message-----
> > > > From: Tim Niemeyer [mailto:tim@tn-x.org]
> > Sent: Sonntag, 11. Februar 2018 21:53
> > > > To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> > Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to packages
> > 
> > Am Sonntag, den 11.02.2018, 21:45 +0100 schrieb
> > mail@adrianschmutzler.de:
> > > Hallo,
> > > 
> > > ich bin mir noch nicht so ganz sicher, ob ich das jetzt richtig
> > > verstanden habe:
> > > 
> > > > Den reinen OpenWRT Mechanismus können wir nach wie vor nicht
> > 
> > nutzen,
> > > > weil dann immer noch Config's überleben, die wir eigentlich gern
> > > > überschreiben möchten. Daher wird dieser Mechanismus mit diesem
> > > > Patch auch ausser Kraft gesetzt in  dem die entsprechenden files in
> > > > /lib/upgrade/keep.d überschrieben werden.
> > > 
> > > Du löschst ja jetzt 0001-sysupgrade-no-config-save.patch, d.h.
> > > zunächst werden jetzt alle keep.d/*, die da von OpenWRT drin stehen,
> > > wieder aktiv?
> > 
> > Ja, korrekt. Aber von OpenWRT stehen nicht mehr so viele drin. (siehe
> > unten). Neu ist lediglich die ssl keys vom webui.
> > 
> > > 
> > > > > > 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
> > > 
> > > Hier legst du mittels install-overlay ein neues, leeres File an, das
> > > das bestehe File überschreibt, sodass fastd NICHT das Upgrade überlebt
> > > (weil wir das ja so wollen)?
> > 
> > Genau. Die fastd Config soll ja vom vpn-select angelegt werden. Das macht
> > vermutlich langfristig Sinn das mal irgendwie zu ändern. Ob die Config dann
> > überleben soll oder nicht muss das fff-fastd Packet entscheiden. Vor und mit
> > dem Patch überlebt es nicht.
> > 
> > > Ist das auch der Grund, warum du manchmal files/* und manchmal
> > > overlay/* verwendest, je nachdem, ob ein bestehendes file
> > > überschrieben werden muss oder nicht?
> > 
> > Ja, man kann im Package/<Name>/install keine Dateien von anderen
> > Paketen überschreiben. Das rootfs-overlay ist so eine Art Zwischenschritt, in
> > welches Dateien installiert werden können. Der Inhalt von rootfs-overlay
> > wird am Ende vom Build-Prozess dann in das rootfs geschoben. Am Ende
> > überschreibt es dann Dateien.
> > 
> > Mir persönlich gefällt das Vorgehen so gar nicht, aber die einzigen anderen
> > funktionale Alternative sind
> > * die Dateien über uci-default zu löschen. Dann hat man den "dreck"
> > aber trotzdem im Image und auf dem Flash.
> > * die Dateien über das files/ Directory zu überschreiben. Das wollten wir aber
> > los werden, weil es keine Abhängigkeiten und Paket-Strukturen kennt. Es
> > würde Dateien überschreiben, auch wenn das überschreibende Paket nicht
> > gebaut wird.
> > 
> > Es gab ein neues buildroot Feature, was auch kurz in OpenWRT ging. Da
> > konnte man mittels Buildroot-Overlay die Makefiles von anderen Paketen
> > beeinflussen. Das wäre eine saubere Lösung gewesen, aber aufgrund der
> > Komplexität wurde (oder wird) es aus OpenWRT entfernt.
> > 
> > Tim
> > 
> > > Grüße
> > > 
> > > Adrian
> > > 
> > > 
> > > 
> > > 
> > > 
> > > > -----Original Message-----
> > > > > > > > From: Tim Niemeyer [mailto:tim@tn-x.org]
> > > > Sent: Sonntag, 11. Februar 2018 21:34
> > > > > > > > To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> > > > Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to
> > > > packages
> > > > 
> > > 
> > > ....
> > > 
> 
>
Tim Niemeyer Aug. 11, 2018, 1:48 p.m.
Am Sonntag, den 11.02.2018, 22:15 +0100 schrieb Tim Niemeyer:
> Moin Adrian
> 
> Am Sonntag, den 11.02.2018, 22:06 +0100 schrieb mail@adrianschmutzler
> .de:
> > Hallo Tim,
> > 
> > ich habe gerade auf einem Router ins keep.d gekuckt:
> > base-files            fastd                 uhttpd
> > base-files-essential  uboot-envtools
> > 
> > Da ziehen wir also ggf. noch anderes Zeug mit (k.A. ob das jetzt
> > gut oder schlecht ist).
> > 
> > Ich finde es irgendwie eklig, immer nachsehen zu müssen, welche
> > Files rumliegen und die dann manuell zu überschrieben.
> > 
> > Die Aufteilung auf die Packages ist allerdings auch in meinen Augen
> > erstrebenswert. Ich würde noch einen ganz anderen Ansatz
> > vorschlagen:
> > Wir können parallel zum keep.d einen "eigenen" Ordner keep.fff
> > anlegen und dort packageabhängig Files reintun.
> 
> Jo, das hatte ich auch erst überlegt. Aber ich dachte: "lieber
> möglichst nah am Original bleiben."
> 
> > Dass müsste man 0001-sysupgrade-no-config-save.patch behalten, aber
> > halt
> > > --		/etc/sysupgrade.conf /lib/upgrade/keep.d/*
> > > 2>/dev/null) \
> > > -+		/etc/sysupgrade.conf
> > > /lib/upgrade/keep.fff/*  2>/dev/null) \
> > 
> > Nachteile wären in meinen Augen nur ein bisschen Speicher und die
> > Tatsache, dass wir halt wieder einen Patch brauchen (ich finde den
> > Patch aber weniger eklig als das manuelle überschreiben mit leeren
> > Files).
> 
> Ein weiterer Nachteil wäre es, dass wenn wir (oder jemand) ein Paket
> installiert, was den OpenWRT Weg nutzen möchte, dass dies dann nicht
> geht.
> 
> Im Beispiel von uhttp muss ich sagen, gefällt es mir eigentlich sehr
> gut, so wie das gelöst ist.
> 
> > Als Vorteile hätten wir, dass wir sicher nur unsere Files nehmen
> > und
> > nicht immer zwischen install und install-overlay unterscheiden
> > müssen.
> > Und wir müssen nicht bei jedem LEDE-Update nachsehen, ob sich das
> > keep.d geändert hat (was sicher leicht vergessen wird).
> 
> Das ist auf jeden Fall wahr. So lange wir dieses OpenWrt nur für die
> von uns vorgesehenen Zwecke nutzen scheinen die Vorteile von deinem
> Vorschlag zu überwiegen.
> 
> Da das Zeug eh erst im next-feature drauf soll haben wir noch etwas
> Zeit. Ich würde das jetzt noch ein bisschen in der Diskussion lassen
> und je nach dem ggfs mein Patch an deinen Vorschlag anpassen. Hätte
> da
> gern aber noch ein paar mehr Meinungen.

Ich bin inzwischen doch wieder eher der Meinung die Dateien während des
Builds zu überschreiben. Das spart Speicherplatz auf dem Flash.

Andere Meinungen?

Tim

> Tim
> 
> > Grüße
> > 
> > Adrian
> > 
> > 
> > > -----Original Message-----
> > > > > From: Tim Niemeyer [mailto:tim@tn-x.org]
> > > 
> > > Sent: Sonntag, 11. Februar 2018 21:53
> > > > > To: mail@adrianschmutzler.de; franken-dev@freifunk.net
> > > 
> > > Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and spread to
> > > packages
> > > 
> > > Am Sonntag, den 11.02.2018, 21:45 +0100 schrieb
> > > mail@adrianschmutzler.de:
> > > > Hallo,
> > > > 
> > > > ich bin mir noch nicht so ganz sicher, ob ich das jetzt richtig
> > > > verstanden habe:
> > > > 
> > > > > Den reinen OpenWRT Mechanismus können wir nach wie vor nicht
> > > 
> > > nutzen,
> > > > > weil dann immer noch Config's überleben, die wir eigentlich
> > > > > gern
> > > > > überschreiben möchten. Daher wird dieser Mechanismus mit
> > > > > diesem
> > > > > Patch auch ausser Kraft gesetzt in  dem die entsprechenden
> > > > > files in
> > > > > /lib/upgrade/keep.d überschrieben werden.
> > > > 
> > > > Du löschst ja jetzt 0001-sysupgrade-no-config-save.patch, d.h.
> > > > zunächst werden jetzt alle keep.d/*, die da von OpenWRT drin
> > > > stehen,
> > > > wieder aktiv?
> > > 
> > > Ja, korrekt. Aber von OpenWRT stehen nicht mehr so viele drin.
> > > (siehe
> > > unten). Neu ist lediglich die ssl keys vom webui.
> > > 
> > > > 
> > > > > > > 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
> > > > 
> > > > Hier legst du mittels install-overlay ein neues, leeres File
> > > > an, das
> > > > das bestehe File überschreibt, sodass fastd NICHT das Upgrade
> > > > überlebt
> > > > (weil wir das ja so wollen)?
> > > 
> > > Genau. Die fastd Config soll ja vom vpn-select angelegt werden.
> > > Das macht
> > > vermutlich langfristig Sinn das mal irgendwie zu ändern. Ob die
> > > Config dann
> > > überleben soll oder nicht muss das fff-fastd Packet entscheiden.
> > > Vor und mit
> > > dem Patch überlebt es nicht.
> > > 
> > > > Ist das auch der Grund, warum du manchmal files/* und manchmal
> > > > overlay/* verwendest, je nachdem, ob ein bestehendes file
> > > > überschrieben werden muss oder nicht?
> > > 
> > > Ja, man kann im Package/<Name>/install keine Dateien von anderen
> > > Paketen überschreiben. Das rootfs-overlay ist so eine Art
> > > Zwischenschritt, in
> > > welches Dateien installiert werden können. Der Inhalt von rootfs-
> > > overlay
> > > wird am Ende vom Build-Prozess dann in das rootfs geschoben. Am
> > > Ende
> > > überschreibt es dann Dateien.
> > > 
> > > Mir persönlich gefällt das Vorgehen so gar nicht, aber die
> > > einzigen anderen
> > > funktionale Alternative sind
> > > * die Dateien über uci-default zu löschen. Dann hat man den
> > > "dreck"
> > > aber trotzdem im Image und auf dem Flash.
> > > * die Dateien über das files/ Directory zu überschreiben. Das
> > > wollten wir aber
> > > los werden, weil es keine Abhängigkeiten und Paket-Strukturen
> > > kennt. Es
> > > würde Dateien überschreiben, auch wenn das überschreibende Paket
> > > nicht
> > > gebaut wird.
> > > 
> > > Es gab ein neues buildroot Feature, was auch kurz in OpenWRT
> > > ging. Da
> > > konnte man mittels Buildroot-Overlay die Makefiles von anderen
> > > Paketen
> > > beeinflussen. Das wäre eine saubere Lösung gewesen, aber aufgrund
> > > der
> > > Komplexität wurde (oder wird) es aus OpenWRT entfernt.
> > > 
> > > Tim
> > > 
> > > > Grüße
> > > > 
> > > > Adrian
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > > -----Original Message-----
> > > > > > > > > From: Tim Niemeyer [mailto:tim@tn-x.org]
> > > > > 
> > > > > Sent: Sonntag, 11. Februar 2018 21:34
> > > > > > > > > To: mail@adrianschmutzler.de; franken-dev@freifunk.ne
> > > > > > > > > t
> > > > > 
> > > > > Subject: Re: [PATCH 1/3] fff-sysupgrade: use keep.d and
> > > > > spread to
> > > > > packages
> > > > > 
> > > > 
> > > > ....
> > > >