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

Tim Niemeyer tim at tn-x.org
So Feb 11 21:33:38 CET 2018


Hi

Am Sonntag, den 11.02.2018, 21:28 +0100 schrieb mail at 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 at freifunk.net] On Behalf
> > Of Tim Niemeyer
> > Sent: Sonntag, 11. Februar 2018 21:25
> > To: franken-dev at 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 at 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 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..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 at freifunk.net
> > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
> 
> 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180211/b3c73691/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev