[PATCH v3 2/3] gateway.d: Add configuration script for meta information

Adrian Schmutzler mail at adrianschmutzler.de
Mi Apr 24 00:13:15 CEST 2019


Hallo Fabian,

da bist du mir ja weit entgegen gekommen.

Trotzdem leider eine Anmerkung und eine Frage unten:

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
> Fabian Bläse
> Sent: Dienstag, 23. April 2019 18:09
> To: franken-dev at freifunk.net
> Subject: [PATCH v3 2/3] gateway.d: Add configuration script for meta
> information
> 
> This adds a configuration script for applying hostname,
> coordinates, hoodname and contact address.
> 
> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> ---
> Changes in v3:
> - Use meta information from /etc/config/fff
> - rename 01-meta to 10-meta
> ---
>  .../fff-gateway/files/etc/gateway.d/10-meta   | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 src/packages/fff/fff-gateway/files/etc/gateway.d/10-
> meta
> 
> diff --git a/src/packages/fff/fff-gateway/files/etc/gateway.d/10-meta
> b/src/packages/fff/fff-gateway/files/etc/gateway.d/10-meta
> new file mode 100644
> index 0000000..3b8c9d2
> --- /dev/null
> +++ b/src/packages/fff/fff-gateway/files/etc/gateway.d/10-meta
> @@ -0,0 +1,37 @@
> +configure() {
> +	## set hostname
> +	if name=$(uci -q get fff.system.hostname); then
> +		uci -q set system. at system[0].hostname="$name"
> +	else
> +		echo "WARNING: No hostname set!"
> +	fi
> +
> +	## set contact
> +	if ! contact=$(uci -q get fff.system.contact); then

Anmerkung:
So wie du das jetzt nutzt, könnte man auf die Variablenzuweisung verzichten und einfach nur das uci get prüfen.
Würde ich aber für nen Review auch so akzeptieren.

> +		echo "WARNING: No contact set!"
> +	fi
> +
> +	## set location
> +	if ! lat=$(uci -q get fff.system.latitude) || ! long=$(uci -q get
> fff.system.longitude); then

Selbe Anmerkung

> +		echo "WARNING: No location set!"
> +	fi
> +
> +	## hoodname
> +	if hood=$(uci -q get fff.system.hoodname); then

Hmm, hostname und Location sind Eigenschaften des Routers/Gerät, aber der Hoodname ist eine Eigenschaft der Hood. Den hätte ich daher nicht nach /etc/config/fff getan.
Der gehört meines Erachtens ins hoodfile. Da du ja aber meintest, du wolltest vom Hoodfile unabhängig sein, wäre mir hier dann /etc/config/gateway noch lieber. Am liebsten wäre mir aber, wenn das hier gar nicht steht, sondern man das irgendwo prüft, wo man Sachen macht, die mit der Hood zu tun haben.
Wenn du das trotzdem hier machen willst, könnte ich mit /etc/config/gateway leben. Zur Not kann man das später ja auch nochmal rumschieben, wenn man das größere Bild besser sieht.

Beste Grüße

Adrian

> +		echo "Setting hood name: $hood"
> +		uci -q set "system. at system[0].hood=$hood"
> +	else
> +		echo "WARNING: No hoodname set!"
> +	fi
> +}
> +
> +apply() {
> +	uci commit system
> +	uci commit fff
> +	echo "$(uci get "system. at system[0].hostname")" >
> /proc/sys/kernel/hostname
> +}
> +
> +revert() {
> +	uci revert system
> +	uci revert fff
> +}
> --
> 2.21.0
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190424/64f68b0a/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev