mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-11-01 07:49:30 +00:00
Compare commits
6 Commits
714abafb0c
...
fe7f6da2b1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe7f6da2b1 | ||
|
|
be95bcbc9b | ||
|
|
9c8a808eaa | ||
|
|
effe91a6d1 | ||
|
|
ec78a93b4e | ||
|
|
b1cc874abb |
20
debian/changelog
vendored
20
debian/changelog
vendored
@ -1,3 +1,23 @@
|
||||
freedombox (26.11.1) unstable; urgency=medium
|
||||
|
||||
[ James Valleroy ]
|
||||
* d/tests: Re-arrange test steps to help with debugging
|
||||
* doc: Fetch latest manual
|
||||
|
||||
[ Oğuz Ersen ]
|
||||
* Translated using Weblate (Turkish)
|
||||
|
||||
[ Hosted Weblate user 54392 ]
|
||||
* Translated using Weblate (Chinese (Simplified Han script))
|
||||
|
||||
[ Sunil Mohan Adapa ]
|
||||
* apache: Stop installing uwsgi by default (Closes: #1144740)
|
||||
|
||||
[ Dietmar ]
|
||||
* Translated using Weblate (German)
|
||||
|
||||
-- James Valleroy <jvalleroy@mailbox.org> Wed, 19 Aug 2026 21:09:59 -0400
|
||||
|
||||
freedombox (26.11) unstable; urgency=medium
|
||||
|
||||
[ Burak Yavuz ]
|
||||
|
||||
@ -8,6 +8,12 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
|
||||
|
||||
The following are the release notes for each !FreedomBox version.
|
||||
|
||||
== FreedomBox 26.11.1 (2026-08-19) ==
|
||||
|
||||
* apache: Stop installing uwsgi by default
|
||||
* debian: Re-arrange test steps to help with debugging
|
||||
* locale: Update translations for Chinese (Simplified Han script), German, Turkish
|
||||
|
||||
== FreedomBox 26.11 (2026-08-17) ==
|
||||
|
||||
=== Highlights ===
|
||||
|
||||
@ -8,6 +8,12 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
|
||||
|
||||
The following are the release notes for each !FreedomBox version.
|
||||
|
||||
== FreedomBox 26.11.1 (2026-08-19) ==
|
||||
|
||||
* apache: Stop installing uwsgi by default
|
||||
* debian: Re-arrange test steps to help with debugging
|
||||
* locale: Update translations for Chinese (Simplified Han script), German, Turkish
|
||||
|
||||
== FreedomBox 26.11 (2026-08-17) ==
|
||||
|
||||
=== Highlights ===
|
||||
|
||||
@ -3,4 +3,4 @@
|
||||
Package init file.
|
||||
"""
|
||||
|
||||
__version__ = '26.11'
|
||||
__version__ = '26.11.1'
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
|
||||
"PO-Revision-Date: 2026-08-04 17:01+0000\n"
|
||||
"PO-Revision-Date: 2026-08-22 20:51+0000\n"
|
||||
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
|
||||
"freedombox/cs/>\n"
|
||||
@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 2026.8.1.dev0\n"
|
||||
"X-Generator: Weblate 2026.9.dev0\n"
|
||||
|
||||
#: plinth/config.py:103
|
||||
#, python-brace-format
|
||||
@ -2016,6 +2016,8 @@ msgid ""
|
||||
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
|
||||
"address, or both."
|
||||
msgstr ""
|
||||
"Vyberte na základě toho, co vaše ISP poskytuje: veřejnou IPv4 adresu, "
|
||||
"veřejnou IPv6 adresu, nebo obě."
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:52
|
||||
msgid "GnuDIP"
|
||||
@ -2026,22 +2028,16 @@ msgid "Other update URL"
|
||||
msgstr "Další aktualizace URL"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:57
|
||||
#, fuzzy
|
||||
#| msgid "IP address"
|
||||
msgid "IPv4 address only"
|
||||
msgstr "IP adresa"
|
||||
msgstr "pouze IPv4 adresu"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:58
|
||||
#, fuzzy
|
||||
#| msgid "IP address"
|
||||
msgid "IPv6 address only"
|
||||
msgstr "IP adresa"
|
||||
msgstr "pouze IPv6 adresu"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:59
|
||||
#, fuzzy
|
||||
#| msgid "Not a valid IP address."
|
||||
msgid "Both IPv4 and IPv6 addresses"
|
||||
msgstr "Neplatná IP adresa."
|
||||
msgstr "Obě IPv4 a IPv6 adresy"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:61
|
||||
msgid "Service Type"
|
||||
@ -2087,10 +2083,8 @@ msgid "Show password"
|
||||
msgstr "Zobrazit heslo"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:100
|
||||
#, fuzzy
|
||||
#| msgid "IP Address"
|
||||
msgid "IP Address Type"
|
||||
msgstr "IP adresa"
|
||||
msgstr "Typ IP adresy"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:117
|
||||
msgid "This field is required."
|
||||
@ -2138,10 +2132,8 @@ msgid "Last update"
|
||||
msgstr "Minulá aktualizace"
|
||||
|
||||
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
|
||||
#, fuzzy
|
||||
#| msgid "IP addresses"
|
||||
msgid "IP Addresses"
|
||||
msgstr "IP adresy"
|
||||
msgstr "IP Adresy"
|
||||
|
||||
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
|
||||
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
|
||||
@ -10844,14 +10836,12 @@ msgid "Service <em>%(service_name)s</em> is not running."
|
||||
msgstr "Služba <em>%(service_name)s</em> není spuštěná."
|
||||
|
||||
#: plinth/templates/apps-add.html:16
|
||||
#, fuzzy
|
||||
#| msgid "Add new app"
|
||||
msgid "Add New App"
|
||||
msgstr "Přidání nové aplikace"
|
||||
msgstr "Přidat novou aplikaci"
|
||||
|
||||
#: plinth/templates/apps-add.html:21
|
||||
msgid "There are no more apps available to add."
|
||||
msgstr ""
|
||||
msgstr "Nejsou k dispozici žádné další aplikace."
|
||||
|
||||
#: plinth/templates/apps.html:20
|
||||
msgid "Add new app"
|
||||
@ -10859,7 +10849,7 @@ msgstr "Přidání nové aplikace"
|
||||
|
||||
#: plinth/templates/apps.html:27
|
||||
msgid "There are currently no apps added."
|
||||
msgstr ""
|
||||
msgstr "Nejsou k dispozici žádné aplikace."
|
||||
|
||||
#: plinth/templates/base.html:31
|
||||
msgid ""
|
||||
|
||||
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
|
||||
"PO-Revision-Date: 2026-06-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2026-08-20 00:46+0000\n"
|
||||
"Last-Translator: Dietmar <sagen@permondes.de>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
|
||||
"freedombox/de/>\n"
|
||||
@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2026.7.dev0\n"
|
||||
"X-Generator: Weblate 2026.9.dev0\n"
|
||||
|
||||
#: plinth/config.py:103
|
||||
#, python-brace-format
|
||||
@ -2063,6 +2063,8 @@ msgid ""
|
||||
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
|
||||
"address, or both."
|
||||
msgstr ""
|
||||
"Wählen Sie je nachdem, was Ihr Internetdienstanbieter bereitstellt: eine "
|
||||
"öffentliche IPv4-Adresse, eine öffentliche IPv6-Adresse oder beides."
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:52
|
||||
msgid "GnuDIP"
|
||||
@ -2073,22 +2075,16 @@ msgid "Other update URL"
|
||||
msgstr "Andere Update-URL"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:57
|
||||
#, fuzzy
|
||||
#| msgid "IP address"
|
||||
msgid "IPv4 address only"
|
||||
msgstr "IP-Adresse"
|
||||
msgstr "Nur IPv4-Adresse"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:58
|
||||
#, fuzzy
|
||||
#| msgid "IP address"
|
||||
msgid "IPv6 address only"
|
||||
msgstr "IP-Adresse"
|
||||
msgstr "Nur IPv6-Adresse"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:59
|
||||
#, fuzzy
|
||||
#| msgid "Not a valid IP address."
|
||||
msgid "Both IPv4 and IPv6 addresses"
|
||||
msgstr "Keine gültige IP-Adresse."
|
||||
msgstr "Sowohl IPv4- als auch IPv6-Adressen"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:61
|
||||
msgid "Service Type"
|
||||
@ -2134,10 +2130,8 @@ msgid "Show password"
|
||||
msgstr "Passwort anzeigen"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:100
|
||||
#, fuzzy
|
||||
#| msgid "IP Address"
|
||||
msgid "IP Address Type"
|
||||
msgstr "IP-Adresse"
|
||||
msgstr "IP-Adresstyp"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:117
|
||||
msgid "This field is required."
|
||||
@ -2185,8 +2179,6 @@ msgid "Last update"
|
||||
msgstr "Letztes Update"
|
||||
|
||||
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
|
||||
#, fuzzy
|
||||
#| msgid "IP addresses"
|
||||
msgid "IP Addresses"
|
||||
msgstr "IP-Adressen"
|
||||
|
||||
@ -3048,7 +3040,7 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/first_boot/__init__.py:47
|
||||
msgid "First Boot"
|
||||
msgstr ""
|
||||
msgstr "Erster Start"
|
||||
|
||||
#: plinth/modules/first_boot/__init__.py:68
|
||||
msgid "Setup complete! Next steps:"
|
||||
@ -3072,18 +3064,14 @@ msgid "See next steps"
|
||||
msgstr "Siehe nächste Schritte"
|
||||
|
||||
#: plinth/modules/first_boot/forms.py:14
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "Enter the secret generated during FreedomBox installation. This secret "
|
||||
#| "can also be obtained by running the command \"sudo cat /var/lib/plinth/"
|
||||
#| "firstboot-wizard-secret\" on your {box_name}"
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Enter the secret generated during {box_name} installation. This secret can "
|
||||
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
||||
"wizard-secret\" on your {box_name}"
|
||||
msgstr ""
|
||||
"Geben Sie den geheimen Schlüssel ein, der während der FreedomBox-"
|
||||
"Installation generiert wurde. Dieser Geheime kann auch durch Ausführen des "
|
||||
"Geben Sie den geheimen Schlüssel ein, der während der {box_name}-"
|
||||
"Installation generiert wurde. Dieser Geheime kann durch Ausführen des "
|
||||
"Befehls \"sudo cat /var/lib/plinth/firstboot-wizard-secret\" auf Ihrer "
|
||||
"{box_name}"
|
||||
|
||||
@ -4791,10 +4779,14 @@ msgid ""
|
||||
"game. It allows users to build and explore 3D worlds, interact with others, "
|
||||
"and engage in various activities such as crafting, mining, and combat."
|
||||
msgstr ""
|
||||
"Luanti, ehemals Minetest, ist ein Multiplayer-Sandbox-Spiel mit unendlichen "
|
||||
"Welten, das auf Blöcken basiert. Es ermöglicht den Nutzern, 3D-Welten zu "
|
||||
"erschaffen und zu erkunden, mit anderen zu interagieren und verschiedenen "
|
||||
"Aktivitäten wie Handwerk, Bergbau und Kämpfen nachzugehen."
|
||||
|
||||
#: plinth/modules/minetest/__init__.py:36
|
||||
msgid "Luanti offers several educational benefits, including:"
|
||||
msgstr ""
|
||||
msgstr "Luanti bietet zahlreiche Vorteile im Hinblick auf Bildung, darunter:"
|
||||
|
||||
#: plinth/modules/minetest/__init__.py:37
|
||||
msgid ""
|
||||
@ -4803,6 +4795,10 @@ msgid ""
|
||||
"exploration.</li><li>Fostering social interaction and collaboration among "
|
||||
"players.</li></ul>"
|
||||
msgstr ""
|
||||
"<ul><li>Förderung des räumlichen Denkens und der Problemlösungsfähigkeiten.</"
|
||||
"li><li>Förderung von Kreativität und Selbstentfaltung durch Bauen und "
|
||||
"Erkunden.</li><li>Förderung der sozialen Interaktion und Zusammenarbeit "
|
||||
"zwischen den Spielern.</li></ul>"
|
||||
|
||||
#: plinth/modules/minetest/__init__.py:43
|
||||
#, python-brace-format
|
||||
@ -4813,10 +4809,16 @@ msgid ""
|
||||
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
||||
"documentation</a> or online resources."
|
||||
msgstr ""
|
||||
"Zu Beginn installieren Sie den <a href=\"https://www.luanti.org/downloads/\">"
|
||||
"Luanti-Client</a> auf den Geräten der Benutzer und stellen über die IP-"
|
||||
"Adresse von {box_name} und den Standardport (30000) eine Verbindung zum "
|
||||
"Luanti-Server her. Weitere Informationen finden Sie in der offiziellen <a "
|
||||
"href=\"https://docs.luanti.org/\">Minetest-Dokumentation</a> oder in Online-"
|
||||
"Ressourcen."
|
||||
|
||||
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
|
||||
msgid "Luanti"
|
||||
msgstr ""
|
||||
msgstr "Luanti"
|
||||
|
||||
#: plinth/modules/minetest/forms.py:13
|
||||
msgid "Maximum number of players"
|
||||
@ -10484,14 +10486,12 @@ msgid "IP Address"
|
||||
msgstr "IP-Adresse"
|
||||
|
||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
|
||||
#, fuzzy
|
||||
#| msgid "Private key path"
|
||||
msgid "Private Key"
|
||||
msgstr "Private Key"
|
||||
|
||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:29
|
||||
msgid "Click to reveal"
|
||||
msgstr ""
|
||||
msgstr "Zum Anzeigen klicken"
|
||||
|
||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:36
|
||||
msgid "Important:"
|
||||
@ -10500,6 +10500,8 @@ msgstr "Wichtig:"
|
||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:37
|
||||
msgid "Save the private key now. This page shows it only once!"
|
||||
msgstr ""
|
||||
"Speichern Sie den privaten Schlüssel jetzt. Diese Seite zeigt ihn nur einmal "
|
||||
"an!"
|
||||
|
||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:41
|
||||
msgid "Client configuration file"
|
||||
@ -11080,24 +11082,20 @@ msgid "Service <em>%(service_name)s</em> is not running."
|
||||
msgstr "Dienst <em>%(service_name)s</em> läuft nicht."
|
||||
|
||||
#: plinth/templates/apps-add.html:16
|
||||
#, fuzzy
|
||||
#| msgid "Add a new peer"
|
||||
msgid "Add New App"
|
||||
msgstr "Hinzufügen eines neuen Peers"
|
||||
msgstr "Neue App hinzufügen"
|
||||
|
||||
#: plinth/templates/apps-add.html:21
|
||||
msgid "There are no more apps available to add."
|
||||
msgstr ""
|
||||
msgstr "Es stehen keine weiteren Apps zum Hinzufügen zur Verfügung."
|
||||
|
||||
#: plinth/templates/apps.html:20
|
||||
#, fuzzy
|
||||
#| msgid "Add a new peer"
|
||||
msgid "Add new app"
|
||||
msgstr "Hinzufügen eines neuen Peers"
|
||||
msgstr "Neue App hinzufügen"
|
||||
|
||||
#: plinth/templates/apps.html:27
|
||||
msgid "There are currently no apps added."
|
||||
msgstr ""
|
||||
msgstr "Derzeit sind keine Apps hinzugefügt."
|
||||
|
||||
#: plinth/templates/base.html:31
|
||||
msgid ""
|
||||
|
||||
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
|
||||
"PO-Revision-Date: 2026-08-11 10:51+0000\n"
|
||||
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
|
||||
"PO-Revision-Date: 2026-08-22 20:51+0000\n"
|
||||
"Last-Translator: John Doe <thraex@numericable.fr>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
|
||||
"freedombox/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@ -2067,6 +2067,8 @@ msgid ""
|
||||
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
|
||||
"address, or both."
|
||||
msgstr ""
|
||||
"Choisissez en fonction de ce que votre FAI fournit : une adresse IPv4 "
|
||||
"publique, une adresse IPv6 publique ou bien les deux à la fois."
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:52
|
||||
msgid "GnuDIP"
|
||||
@ -2077,22 +2079,16 @@ msgid "Other update URL"
|
||||
msgstr "URL de mise à jour alternative"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:57
|
||||
#, fuzzy
|
||||
#| msgid "IP address"
|
||||
msgid "IPv4 address only"
|
||||
msgstr "Adresse IP"
|
||||
msgstr "Adresse IPv4 seulement"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:58
|
||||
#, fuzzy
|
||||
#| msgid "IP address"
|
||||
msgid "IPv6 address only"
|
||||
msgstr "Adresse IP"
|
||||
msgstr "Adresse IPv6 seulement"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:59
|
||||
#, fuzzy
|
||||
#| msgid "Not a valid IP address."
|
||||
msgid "Both IPv4 and IPv6 addresses"
|
||||
msgstr "Ce n’est pas une adresse IP valide."
|
||||
msgstr "À la fois une adresse IPv4 et une adresse IPv6"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:61
|
||||
msgid "Service Type"
|
||||
@ -2138,10 +2134,8 @@ msgid "Show password"
|
||||
msgstr "Afficher le mot de passe"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:100
|
||||
#, fuzzy
|
||||
#| msgid "IP Address"
|
||||
msgid "IP Address Type"
|
||||
msgstr "Adresse IP"
|
||||
msgstr "Type d'adresse IP"
|
||||
|
||||
#: plinth/modules/dynamicdns/forms.py:117
|
||||
msgid "This field is required."
|
||||
@ -2189,8 +2183,6 @@ msgid "Last update"
|
||||
msgstr "Dernière mise à jour"
|
||||
|
||||
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
|
||||
#, fuzzy
|
||||
#| msgid "IP addresses"
|
||||
msgid "IP Addresses"
|
||||
msgstr "Adresses IP"
|
||||
|
||||
@ -11141,14 +11133,12 @@ msgid "Service <em>%(service_name)s</em> is not running."
|
||||
msgstr "Le service <em>%(service_name)s</em> n’est pas actif."
|
||||
|
||||
#: plinth/templates/apps-add.html:16
|
||||
#, fuzzy
|
||||
#| msgid "Add new app"
|
||||
msgid "Add New App"
|
||||
msgstr "Ajouter une nouvelle appli"
|
||||
|
||||
#: plinth/templates/apps-add.html:21
|
||||
msgid "There are no more apps available to add."
|
||||
msgstr ""
|
||||
msgstr "Il n'existe plus d'applis disponibles à ajouter."
|
||||
|
||||
#: plinth/templates/apps.html:20
|
||||
msgid "Add new app"
|
||||
@ -11156,7 +11146,7 @@ msgstr "Ajouter une nouvelle appli"
|
||||
|
||||
#: plinth/templates/apps.html:27
|
||||
msgid "There are currently no apps added."
|
||||
msgstr ""
|
||||
msgstr "Actuellement il n'y a pas d'appli ajoutée."
|
||||
|
||||
#: plinth/templates/base.html:31
|
||||
msgid ""
|
||||
|
||||
@ -69,7 +69,7 @@ from plinth import action_utils
|
||||
from plinth import app as app_module
|
||||
from plinth import cfg
|
||||
from plinth.config import DropinConfigs
|
||||
from plinth.daemon import Daemon, RelatedDaemon
|
||||
from plinth.daemon import Daemon
|
||||
from plinth.modules import names
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
from plinth.modules.letsencrypt.components import LetsEncrypt
|
||||
@ -96,10 +96,9 @@ class ApacheApp(app_module.App):
|
||||
is_essential=True, name=_('Apache HTTP Server'))
|
||||
self.add(info)
|
||||
|
||||
packages = Packages('packages-apache', [
|
||||
'apache2', 'php-fpm', 'ssl-cert', 'uwsgi-core',
|
||||
'uwsgi-plugin-python3', 'libapache2-mod-auth-openidc'
|
||||
])
|
||||
packages = Packages(
|
||||
'packages-apache',
|
||||
['apache2', 'php-fpm', 'ssl-cert', 'libapache2-mod-auth-openidc'])
|
||||
self.add(packages)
|
||||
|
||||
dropin_configs = DropinConfigs('dropin-configs-apache', [
|
||||
@ -134,10 +133,6 @@ class ApacheApp(app_module.App):
|
||||
daemon = Daemon('daemon-apache', 'apache2')
|
||||
self.add(daemon)
|
||||
|
||||
# To be able to disable the old uwsgi init.d script.
|
||||
related_daemon = RelatedDaemon('related-daemon-apache', 'uwsgi')
|
||||
self.add(related_daemon)
|
||||
|
||||
@staticmethod
|
||||
def post_init():
|
||||
"""Perform post initialization operations."""
|
||||
|
||||
@ -42,7 +42,7 @@ def _validate_service(service):
|
||||
"""Validate a service manifest provided as a dictionary."""
|
||||
assert isinstance(service['name'], str)
|
||||
assert isinstance(service['type'], str)
|
||||
assert service['type'] in ('apache', 'uwsgi', 'system')
|
||||
assert service['type'] in ('apache', 'system')
|
||||
if service['type'] == 'apache':
|
||||
assert service['kind'] in ('config', 'site', 'module')
|
||||
|
||||
|
||||
@ -87,10 +87,6 @@ def test_invalid_directories_and_files(section):
|
||||
None,
|
||||
[],
|
||||
['service'],
|
||||
[{
|
||||
'type': 'uwsgi',
|
||||
'name': 'service'
|
||||
}],
|
||||
[{
|
||||
'type': 'system',
|
||||
'name': 'service'
|
||||
|
||||
@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
from plinth import app as app_module
|
||||
from plinth import frontpage, menu
|
||||
from plinth.config import DropinConfigs
|
||||
from plinth.daemon import Daemon
|
||||
from plinth.daemon import Daemon, RelatedDaemon
|
||||
from plinth.modules.apache.components import Webserver
|
||||
from plinth.modules.backups.components import BackupRestore
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
@ -50,7 +50,7 @@ class BepastyApp(app_module.App):
|
||||
|
||||
app_id = 'bepasty'
|
||||
|
||||
_version = 4
|
||||
_version = 5
|
||||
|
||||
def __init__(self) -> None:
|
||||
"""Create components for the app."""
|
||||
@ -72,7 +72,8 @@ class BepastyApp(app_module.App):
|
||||
clients=manifest.clients, tags=info.tags)
|
||||
self.add(shortcut)
|
||||
|
||||
packages = Packages('packages-bepasty', ['bepasty'])
|
||||
packages = Packages('packages-bepasty',
|
||||
['bepasty', 'uwsgi', 'uwsgi-plugin-python3'])
|
||||
self.add(packages)
|
||||
|
||||
dropin_configs = DropinConfigs('dropin-configs-bepasty', [
|
||||
@ -97,6 +98,10 @@ class BepastyApp(app_module.App):
|
||||
**manifest.backup)
|
||||
self.add(backup_restore)
|
||||
|
||||
# To be able to disable the old uwsgi init.d script.
|
||||
related_daemon = RelatedDaemon('related-daemon-bepasty', 'uwsgi')
|
||||
self.add(related_daemon)
|
||||
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
|
||||
@ -10,7 +10,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.daemon import Daemon
|
||||
from plinth.daemon import Daemon, RelatedDaemon
|
||||
from plinth.modules.apache.components import Webserver
|
||||
from plinth.modules.backups.components import BackupRestore
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
@ -42,7 +42,7 @@ class RadicaleApp(app_module.App):
|
||||
|
||||
app_id = 'radicale'
|
||||
|
||||
_version = 6
|
||||
_version = 7
|
||||
|
||||
def __init__(self) -> None:
|
||||
"""Create components for the app."""
|
||||
@ -66,7 +66,8 @@ class RadicaleApp(app_module.App):
|
||||
tags=info.tags, login_required=True)
|
||||
self.add(shortcut)
|
||||
|
||||
packages = Packages('packages-radicale', ['radicale'],
|
||||
packages = Packages('packages-radicale',
|
||||
['radicale', 'uwsgi', 'uwsgi-plugin-python3'],
|
||||
rerun_setup_on_upgrade=True)
|
||||
self.add(packages)
|
||||
|
||||
@ -94,6 +95,10 @@ class RadicaleApp(app_module.App):
|
||||
**manifest.backup)
|
||||
self.add(backup_restore)
|
||||
|
||||
# To be able to disable the old uwsgi init.d script.
|
||||
related_daemon = RelatedDaemon('related-daemon-radicale', 'uwsgi')
|
||||
self.add(related_daemon)
|
||||
|
||||
def enable(self):
|
||||
"""Fix missing directories before enabling radicale."""
|
||||
privileged.fix_paths()
|
||||
|
||||
@ -8,7 +8,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
from plinth import app as app_module
|
||||
from plinth import frontpage, menu
|
||||
from plinth.config import DropinConfigs
|
||||
from plinth.daemon import Daemon
|
||||
from plinth.daemon import Daemon, RelatedDaemon
|
||||
from plinth.modules.apache.components import Webserver
|
||||
from plinth.modules.backups.components import BackupRestore
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
@ -31,7 +31,7 @@ class SearxApp(app_module.App):
|
||||
|
||||
app_id = 'searx'
|
||||
|
||||
_version = 7
|
||||
_version = 8
|
||||
|
||||
def __init__(self) -> None:
|
||||
"""Create components for the app."""
|
||||
@ -59,7 +59,9 @@ class SearxApp(app_module.App):
|
||||
|
||||
# Include libjs-bootstrap to prevent accidental uninstall (see
|
||||
# issue #2298).
|
||||
packages = Packages('packages-searx', ['searx', 'libjs-bootstrap'])
|
||||
packages = Packages(
|
||||
'packages-searx',
|
||||
['searx', 'libjs-bootstrap', 'uwsgi', 'uwsgi-plugin-python3'])
|
||||
self.add(packages)
|
||||
|
||||
dropin_configs = DropinConfigs('dropin-configs-searx', [
|
||||
@ -91,6 +93,10 @@ class SearxApp(app_module.App):
|
||||
**manifest.backup)
|
||||
self.add(backup_restore)
|
||||
|
||||
# To be able to disable the old uwsgi init.d script.
|
||||
related_daemon = RelatedDaemon('related-daemon-searx', 'uwsgi')
|
||||
self.add(related_daemon)
|
||||
|
||||
def set_shortcut_login_required(self, login_required):
|
||||
"""Change the login_required property of shortcut."""
|
||||
self.get_component('shortcut-searx').login_required = login_required
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user