From 0daf6f353e35270dd6487b276edec915f4f2b904 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 16 May 2023 11:58:29 -0700 Subject: [PATCH] networks: Use drop-in config component for /etc files Tests: - Config files are all symlinks in /etc/ - Network manager does run the dispatcher script due to write permission for group. This issue is unrelated to the patch, however. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- debian/freedombox.maintscript | 1 + plinth/modules/networks/__init__.py | 8 +++++++- .../etc/NetworkManager/dispatcher.d/10-freedombox-batman | 0 3 files changed, 8 insertions(+), 1 deletion(-) rename plinth/modules/networks/data/{ => usr/share/freedombox}/etc/NetworkManager/dispatcher.d/10-freedombox-batman (100%) diff --git a/debian/freedombox.maintscript b/debian/freedombox.maintscript index 39934f6f7..8a56abf86 100644 --- a/debian/freedombox.maintscript +++ b/debian/freedombox.maintscript @@ -120,3 +120,4 @@ rm_conffile /etc/fail2ban/filter.d/matrix-auth-freedombox.conf 23.10~ rm_conffile /etc/apache2/conf-available/mediawiki-freedombox.conf 23.10~ rm_conffile /etc/mediawiki/FreedomBoxStaticSettings.php 23.10~ rm_conffile /etc/apache2/conf-available/minidlna-freedombox.conf 23.10~ +rm_conffile /etc/NetworkManager/dispatcher.d/10-freedombox-batman 23.10~ diff --git a/plinth/modules/networks/__init__.py b/plinth/modules/networks/__init__.py index 6bda322df..d231b832e 100644 --- a/plinth/modules/networks/__init__.py +++ b/plinth/modules/networks/__init__.py @@ -8,6 +8,7 @@ from django.utils.translation import gettext_lazy as _ from plinth import app as app_module from plinth import daemon, kvstore, menu, network +from plinth.config import DropinConfigs from plinth.package import Packages from . import privileged @@ -45,7 +46,7 @@ class NetworksApp(app_module.App): app_id = 'networks' - _version = 1 + _version = 2 can_be_disabled = False @@ -66,6 +67,11 @@ class NetworksApp(app_module.App): packages = Packages('packages-networks', ['network-manager', 'batctl']) self.add(packages) + dropin_configs = DropinConfigs('dropin-configs-networks', [ + '/etc/NetworkManager/dispatcher.d/10-freedombox-batman', + ]) + self.add(dropin_configs) + def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() diff --git a/plinth/modules/networks/data/etc/NetworkManager/dispatcher.d/10-freedombox-batman b/plinth/modules/networks/data/usr/share/freedombox/etc/NetworkManager/dispatcher.d/10-freedombox-batman similarity index 100% rename from plinth/modules/networks/data/etc/NetworkManager/dispatcher.d/10-freedombox-batman rename to plinth/modules/networks/data/usr/share/freedombox/etc/NetworkManager/dispatcher.d/10-freedombox-batman