[RFC] fff-network: Tidy up network files on startup

Submitted by Adrian Schmutzler on July 4, 2017, 6:42 p.m.

Details

Message ID 1499193777-30971-1-git-send-email-freifunk@adrianschmutzler.de
State Deferred
Headers show

Commit Message

Adrian Schmutzler July 4, 2017, 6:42 p.m.
To prevent lots of network configurations crowding the /etc
directory, this renames the correct file to network.config
and deletes all the others. The network.config is never
overwritten, so changes may be made here.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 src/packages/fff/fff-network/files/usr/sbin/configurenetwork | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
index 7ecfa3b..d3c9b49 100755
--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
@@ -10,7 +10,17 @@ 
 # GNU General Public License for more details.
 
 BOARD="$(uci get board.model.name)"
-. /etc/network.$BOARD
+
+if [ ! -s /etc/network.config ] ; then
+    cp /etc/network.$BOARD /etc/network.config && find /etc/network.* -type f -maxdepth 0 ! -name 'network.mode' ! -name 'network.config' -exec rm {} \+
+fi
+
+if [ -s /etc/network.config ] ; then
+    . /etc/network.config
+else
+    . /etc/network.$BOARD # Fallback option if copying did not work
+fi
+
 
 if ! uci get network.$SWITCHDEV.ifname; then
 

Comments

Tim Niemeyer July 5, 2017, 10:27 a.m.
Hi

Dagegen, weil das löschen verbraucht Speicher und bringt sonst keinen Vorteil.

Wenn überhaupt, dann sollten die Files gar nicht erst im Image landen.

Tim

Am 4. Juli 2017 20:42:57 MESZ schrieb Adrian Schmutzler <freifunk@adrianschmutzler.de>:
>To prevent lots of network configurations crowding the /etc
>directory, this renames the correct file to network.config
>and deletes all the others. The network.config is never
>overwritten, so changes may be made here.
>
>Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>
>Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>---
>src/packages/fff/fff-network/files/usr/sbin/configurenetwork | 12
>+++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
>diff --git
>a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>index 7ecfa3b..d3c9b49 100755
>--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>@@ -10,7 +10,17 @@
> # GNU General Public License for more details.
> 
> BOARD="$(uci get board.model.name)"
>-. /etc/network.$BOARD
>+
>+if [ ! -s /etc/network.config ] ; then
>+    cp /etc/network.$BOARD /etc/network.config && find /etc/network.*
>-type f -maxdepth 0 ! -name 'network.mode' ! -name 'network.config'
>-exec rm {} \+
>+fi
>+
>+if [ -s /etc/network.config ] ; then
>+    . /etc/network.config
>+else
>+    . /etc/network.$BOARD # Fallback option if copying did not work
>+fi
>+
> 
> if ! uci get network.$SWITCHDEV.ifname; then
>
Adrian Schmutzler July 5, 2017, 11:44 a.m.
Hi,

der Vorteil wäre halt, dass man bei Änderungen nicht einen aus 20+ Files raussuchen muss (ist aber zugegeben natürlich nicht dramatisch; man könnte halt Verwechslungen vorbeugen, wie dass der WR841N v12 die Datei mit v11 benutzt). Und es wird nur einmal pro Firmware-Update gelöscht, also ist der Schaden auch nicht so groß.

Gerade bzgl. Speicherverbrauch wäre es aber in der Tat sinnvoller, gleich nur den richtigen File in die Firmware zu bauen. Dafür müsste man aber wohl im LEDE rumpatchen (und ich hab keine Ahnung wie), da die fff-network package ja nur einmal pro Architektur die files kopiert (also z.B. nur für ar71xx). Man müsste also dann im Image-Erstellprozess selbst die entsprechende Datei nachträglich auswählen...

Grüße

Adrian

-----Original Message-----
From: Tim Niemeyer [mailto:tim@tn-x.org] 
Sent: Mittwoch, 5. Juli 2017 12:28
To: Adrian Schmutzler <freifunk@adrianschmutzler.de>; franken-dev@freifunk.net
Subject: Re: [RFC PATCH] fff-network: Tidy up network files on startup

Hi

Dagegen, weil das löschen verbraucht Speicher und bringt sonst keinen Vorteil.

Wenn überhaupt, dann sollten die Files gar nicht erst im Image landen.

Tim

Am 4. Juli 2017 20:42:57 MESZ schrieb Adrian Schmutzler <freifunk@adrianschmutzler.de>:
>To prevent lots of network configurations crowding the /etc directory, 
>this renames the correct file to network.config and deletes all the 
>others. The network.config is never overwritten, so changes may be made 
>here.
>
>Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>
>Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>---
>src/packages/fff/fff-network/files/usr/sbin/configurenetwork | 12
>+++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
>diff --git
>a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>index 7ecfa3b..d3c9b49 100755
>--- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>+++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>@@ -10,7 +10,17 @@
> # GNU General Public License for more details.
> 
> BOARD="$(uci get board.model.name)"
>-. /etc/network.$BOARD
>+
>+if [ ! -s /etc/network.config ] ; then
>+    cp /etc/network.$BOARD /etc/network.config && find /etc/network.*
>-type f -maxdepth 0 ! -name 'network.mode' ! -name 'network.config'
>-exec rm {} \+
>+fi
>+
>+if [ -s /etc/network.config ] ; then
>+    . /etc/network.config
>+else
>+    . /etc/network.$BOARD # Fallback option if copying did not work fi
>+
> 
> if ! uci get network.$SWITCHDEV.ifname; then
>