From 6688ec9a20c3cab79708b0ed55433f42e7c5daaa Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 16 May 2023 11:44:54 -0700 Subject: [PATCH] ikiwiki: Use drop-in config component for /etc files Tests: - Config files are all symlinks in /etc/ - Creating blog and wiki works - Wiki is accessible Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- debian/freedombox.maintscript | 3 +++ plinth/modules/ikiwiki/__init__.py | 10 +++++++++- .../etc/apache2/conf-available/ikiwiki-plinth.conf | 0 .../share/freedombox}/etc/ikiwiki/plinth-blog.setup | 0 .../share/freedombox}/etc/ikiwiki/plinth-wiki.setup | 0 5 files changed, 12 insertions(+), 1 deletion(-) rename plinth/modules/ikiwiki/data/{ => usr/share/freedombox}/etc/apache2/conf-available/ikiwiki-plinth.conf (100%) rename plinth/modules/ikiwiki/data/{ => usr/share/freedombox}/etc/ikiwiki/plinth-blog.setup (100%) rename plinth/modules/ikiwiki/data/{ => usr/share/freedombox}/etc/ikiwiki/plinth-wiki.setup (100%) diff --git a/debian/freedombox.maintscript b/debian/freedombox.maintscript index 10d88a9d1..1b18b42ca 100644 --- a/debian/freedombox.maintscript +++ b/debian/freedombox.maintscript @@ -109,3 +109,6 @@ rm_conffile /etc/gitweb-freedombox.conf 23.10~ rm_conffile /etc/apache2/conf-available/gitweb-freedombox.conf 23.10~ rm_conffile /etc/apache2/conf-available/gitweb-freedombox-auth.conf 23.10~ rm_conffile /etc/apache2/conf-available/i2p-freedombox.conf 23.10~ +rm_conffile /etc/ikiwiki/plinth-blog.setup 23.10~ +rm_conffile /etc/ikiwiki/plinth-wiki.setup 23.10~ +rm_conffile /etc/apache2/conf-available/ikiwiki-plinth.conf 23.10~ diff --git a/plinth/modules/ikiwiki/__init__.py b/plinth/modules/ikiwiki/__init__.py index fbe490f30..cc3f30794 100644 --- a/plinth/modules/ikiwiki/__init__.py +++ b/plinth/modules/ikiwiki/__init__.py @@ -6,6 +6,7 @@ from django.utils.translation import gettext_lazy as _ from plinth import app as app_module from plinth import cfg, frontpage, menu +from plinth.config import DropinConfigs from plinth.modules.apache.components import Webserver from plinth.modules.backups.components import BackupRestore from plinth.modules.firewall.components import Firewall @@ -34,7 +35,7 @@ class IkiwikiApp(app_module.App): app_id = 'ikiwiki' - _version = 1 + _version = 2 def __init__(self): """Create components for the app.""" @@ -61,6 +62,13 @@ class IkiwikiApp(app_module.App): ]) self.add(packages) + dropin_configs = DropinConfigs('dropin-configs-ikiwiki', [ + '/etc/ikiwiki/plinth-blog.setup', + '/etc/ikiwiki/plinth-wiki.setup', + '/etc/apache2/conf-available/ikiwiki-plinth.conf', + ]) + self.add(dropin_configs) + firewall = Firewall('firewall-ikiwiki', info.name, ports=['http', 'https'], is_external=True) self.add(firewall) diff --git a/plinth/modules/ikiwiki/data/etc/apache2/conf-available/ikiwiki-plinth.conf b/plinth/modules/ikiwiki/data/usr/share/freedombox/etc/apache2/conf-available/ikiwiki-plinth.conf similarity index 100% rename from plinth/modules/ikiwiki/data/etc/apache2/conf-available/ikiwiki-plinth.conf rename to plinth/modules/ikiwiki/data/usr/share/freedombox/etc/apache2/conf-available/ikiwiki-plinth.conf diff --git a/plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-blog.setup b/plinth/modules/ikiwiki/data/usr/share/freedombox/etc/ikiwiki/plinth-blog.setup similarity index 100% rename from plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-blog.setup rename to plinth/modules/ikiwiki/data/usr/share/freedombox/etc/ikiwiki/plinth-blog.setup diff --git a/plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-wiki.setup b/plinth/modules/ikiwiki/data/usr/share/freedombox/etc/ikiwiki/plinth-wiki.setup similarity index 100% rename from plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-wiki.setup rename to plinth/modules/ikiwiki/data/usr/share/freedombox/etc/ikiwiki/plinth-wiki.setup