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

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Aug 12 19:43:20 CEST 2018


Hallo,

ich finde es nach wie vor umständlicher, immer genau zu verfolgen, welche
Dateien OpenWrt jetzt gerade in /lib/upgrade/keep.d rein wirft, um sie dann
selektiv zu überschreiben.

Ich würde mich aber diesem Patch nicht verweigern und ihn ggf. auch
reviewen. Als Alternative zu dem install-overlay hätte ich zwei verschiedene
Ideen:

1. Man könnte pro Package anstatt des install-overlay mit einem leeren File
jeweils ein uci-default Skript verwenden, in dem ein rm Befehl steht. Dann
kommt die Original-Datei halt ins ROM, aber wir sparen uns die
Doppel-Geschichte mit files und overlay.

2. Man könnte ALLE Dateien in einem uci-default Skript per "rm
/lib/upgrade/keep.d/*" löschen. Das hätte den Vorteil, dass wir keine
vergessen können, und nicht darauf achten müssen, ob OpenWrt eine neue
einführt. Auch dann sparen wir uns das install-overlay. Der Nachteil wäre,
dass wir so nicht eine einzelne behalten könnten, was im Moment aber auch
nicht vorgesehen ist.

Weitere Anmerkungen:
- Ist es Absicht, dass du uhttpd nicht überschreibst (ist zumindest auf
meinen 18.06 Routern drauf)? Die Certs können ruhig mit jedem Update neu
verteilt werden, zumal die größenmäßig beim 841er die gespeicherte Config
nochmal ein bisschen größer und damit die Ausfälle wahrscheinlicher machen.
- Bei der Gateway-Firmware ist ein zusätzlicher File für OpenVPN. Das
sollten wir im Hinterkopf behalten, im Moment brauchen wir openvpn aber ja
glaube ich ohnehin nicht.
- Folgendes musst du unbedingt auch noch berücksichtigen:
https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff
-support/files/etc/init.d/fff-userconfig

Das wird in Zeile 8 die /etc/sysupgrade.conf editiert. Das müsste da raus
und als /lib/upgrade/keep.d/support eingebunden werden. Bei der Gelegenheit
kann man auch gleich in Zeile 12 die Variable verwenden.

Inline diesmal nichts.

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Tim Niemeyer
> Sent: Samstag, 11. August 2018 16:05
> To: franken-dev at freifunk.net
> Subject: [PATCH v2] 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>
> 
> ---
> 
> 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-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




Mehr Informationen über die Mailingliste franken-dev