9380 Commits

Author SHA1 Message Date
James Valleroy
ac3f0efa94
Release v25.5 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v25.5
2025-03-10 20:53:02 -04:00
James Valleroy
20f683c2b6
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 20:52:14 -04:00
James Valleroy
2568935abb
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 20:09:05 -04:00
Максим Горпиніч
88dc95fc34
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1827 of 1827 strings)
2025-03-11 01:06:14 +01:00
Sunil Mohan Adapa
fa57610b07
setup: Fix issue with pending app update and force upgrade
Closes: #2490

- When app update and force upgrade are pending on an app, app.setup() is run
during initialization. During setup(), force upgrade is first run as expected.
However, force upgrade does not do it's job when an app needs version upgrade.
setup() then tries to run package install() for the app and fails because
configuration file prompt is pending.

Tests:

- On a fresh bookworm container, update all packages. Run freedombox and ensure
that first setup has been completed. Stop freedombox and increment the firewall
app version. Then change sources.list and change bookworm to testing. Run apt
update. Then start the fredombox service. Notice that firewall app setup is run.
During the setup, force upgrader is executed. It install the newer firewall
package with the newer configuration file and performs the configuration file
changes. After that setup process continues and completes successfully.
firewalld package has been upgraded from 1.3.x to 2.3.x. firewalld service is
running. In /etc/firewalld/firewalld.conf default zone is set to external and
backend is set to nftables.

- Rerun the above test without the patches and notice that force upgrader does
not recognize firewall as a package to upgrade and setup() fails when trying to
install() packages. This is run in a loop continuously.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:58:20 -04:00
Sunil Mohan Adapa
eaed05e02b
upgrades: Use bind mounts to edit sources file only upon completion
- Save changes to /etc/apt/sources.list as a different file.

- When launching the dist upgrade process via systemd-run, use bind mounting to
ensure that the newly created sources file is treated as the original
/etc/apt/sources.list.

- If the process completes successfully, rename the new file to the original
sources.list. If the process terminates abruptly or machine reboots,
sources.list will remain unchanged. This will also the dist upgrade process to
be restarted (and hopefully continued).

Tests:

- On a fresh stable container, running dist-upgrade succeeds.

- While dist-upgrade is running, /etc/apt/sources.list is unmodified. After the
operation is successfully completed, /etc/apt/sources.list has been updates
successfully. If the operation fails, /etc/apt/sources.list remains unmodified.

- During the run the following are run:
  - apt update
  - package holds
  - debconf selections
  - full-upgrade
  - autoremove
  - unattended-upgrades
  - restarting freedombox service
  - waiting 10 minutes
  - apt update

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:39 -04:00
Sunil Mohan Adapa
33cbdd734b
upgrades: Minor refactor to pre-dist upgrade checks
- Don't perform sources.list changes in the check() method.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
f02b77f212
upgrades: tests: Add unit tests for dist upgrade methods
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
8c93ea20a4
upgrades: Perform easier checks first during dist upgrade
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
0022dc5889
action_utils: Ensure that package are unheld if dist upgrade fails
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
3aff47039f
upgrades: Simplify some global names
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
bbc2a2b0de
upgrades: Log messages using python logging framework
- When an action is invoked, it configured to handle console and journal
handlers. Console logger (StreamHandler) flushes after each event. Journal event
is sent immediately after the event. So, we are not losing the immediate flush
advantage by switching to logging framework.

- Since console logging is present (and the output is not captured away), using
journal handler also will double log each event. Remove the journal handler.
Console is where the output of various commands is logged. So, keep that.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
1b89151c38
upgrades: Log apt output to journal during dist upgrade
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
32739bb8b7
upgrades: Simplify dist upgrades checks using exceptions
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
9ddfbc4fed
upgrades: Use systemd service status instead of flag file
- A service with the same name can't be started again.

- Transient service goes away as soon as the process ends. This is like
automatically removing the flag. This ensures that stale file does not cause an
issue.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
e58d3d8465
upgrades: Refactor code to retrieve the new codename
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
69058645ab
upgrades: Perform sources file update more reliably
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
ac5f778ae8
upgrades: Relax list of packages to hold during dist upgrade
Closes: #2493.

Tests:

- For each of the packages in the list, download the Bookworm version and Trixie
version of the packages. See if the files in /etc/ that were modified were also
files we also modify. If so, keep it in the list. Otherwise, remove it from the
list.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
5a15665b41
upgrades: Split the main dist upgrade code
- To make it easier to test and read.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
6b13e0eb7a
upgrades: Refactor code to hold packages
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
20d9f8af8d
upgrades: Use systemd-run to create transient service
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:38 -04:00
Sunil Mohan Adapa
0b807a8ce1
upgrades: Refactor code for disabling Quassel during dist-upgrade
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:37 -04:00
Sunil Mohan Adapa
e97e1fc725
upgrades: Refactor code to disable snapshots
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:37 -04:00
Sunil Mohan Adapa
1d8e406528
upgrades: Drop special handling for searx
Helps: #2493.

- searx will not be part of Trixie.

- This special upgrade code is not required for Bookworm -> Trixie upgrade.

- This code is not be invoked for Bullseye -> Bookworm upgrade as this removal
will not reach Bullseye.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:37 -04:00
Sunil Mohan Adapa
7cef898948
upgrades: Split dist upgrade into a separate module
- For ease of maintenance and testing.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 18:20:37 -04:00
Sunil Mohan Adapa
0ff7705577
ui: system: When canceling search stay on current page
Tests:

- On app and system pages, canceling the search using the close button at the
end of the search bar will remove the search tags but will stay on the same
page.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2025-03-10 13:34:43 -07:00
Sunil Mohan Adapa
8198eedf78
ui: Minor change with renaming a variable
Tests:

- In apps and system page, removing the last tag from search bar keeps the same
page but without any filtering.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2025-03-10 13:13:24 -07:00
Sunil Mohan Adapa
3790e3949e
ui: tags: Redirect to apps or system page appropriately
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 14:25:47 -04:00
Sunil Mohan Adapa
a5ab31c1af
ui: tags: Add tag search/filter for system page
Tests:

- In apps page, notice that all the tags are displayed as expected.

- Inside an app from apps sections, clicking on an tag shows the apps with that
tag filtered.

- Clicking on the search bar shows the list of all tags.

- Clicking on tag from search list adds that tag to the search list.

- Labels are shown properly in the search bar.

- Clicking on label removes it from search.

- Search results are sorted based on the number of matches.

- Clicking on the close button the tags search input removes filtering.

- All the above tests work for systems page with systems app. Sections are shown
even when apps are filtered by tags. Sections without results are not shown.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 14:25:45 -04:00
Sunil Mohan Adapa
9555697140
ui: tags: Minor refactoring in menu filtering and sorting
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 14:25:42 -04:00
Sunil Mohan Adapa
29d6cb2302
ui: tags: Show tags on all cards pages if present
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-10 14:25:39 -04:00
Sunil Mohan Adapa
d629295110
sogo: Fix a typo in tags
Thanks to user 'fefekrzr' for pointing it out.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2025-03-03 12:41:40 -08:00
James Valleroy
45509357a4
Release v25.4.1
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v25.4.1
2025-03-02 13:12:35 -05:00
James Valleroy
231d2e2cbc
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-02 13:11:46 -05:00
James Valleroy
506ed65e9f
debian: Move e2fsprogs to Recommends
Temporary workaround for piuparts bug #1010967.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-03-02 11:55:25 -05:00
Jiří Podhorecký
483f1c3b7e
Translated using Weblate (Czech)
Currently translated at 100.0% (1827 of 1827 strings)
2025-02-27 06:06:52 +01:00
Dietmar
762dbdad84
Translated using Weblate (German)
Currently translated at 98.3% (1797 of 1827 strings)
2025-02-27 06:06:52 +01:00
109247019824
588c7847a9
Translated using Weblate (Bulgarian)
Currently translated at 56.0% (1024 of 1827 strings)
2025-02-25 22:04:29 +01:00
109247019824
dec3d3bf9e
Translated using Weblate (Bulgarian)
Currently translated at 55.9% (1023 of 1827 strings)
2025-02-25 17:07:36 +01:00
109247019824
7023d6f6b3
Translated using Weblate (Bulgarian)
Currently translated at 55.9% (1022 of 1827 strings)
2025-02-25 12:56:52 +01:00
Besnik Bleta
bd292df6f1
Translated using Weblate (Albanian)
Currently translated at 99.5% (1819 of 1827 strings)
2025-02-25 10:20:08 +01:00
109247019824
e50d250749
Translated using Weblate (Bulgarian)
Currently translated at 55.5% (1015 of 1827 strings)
2025-02-25 10:20:08 +01:00
大王叫我来巡山
28706ea161
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 62.6% (1145 of 1827 strings)
2025-02-25 10:20:08 +01:00
109247019824
d5303506ff
Translated using Weblate (Bulgarian)
Currently translated at 55.1% (1008 of 1827 strings)
2025-02-25 07:15:40 +01:00
Burak Yavuz
281ee94350
Translated using Weblate (Turkish)
Currently translated at 100.0% (1827 of 1827 strings)
2025-02-25 07:15:40 +01:00
James Valleroy
8667efafc3
Release v25.4 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v25.4
2025-02-24 20:46:56 -05:00
James Valleroy
320e57c42b
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-02-24 20:46:23 -05:00
James Valleroy
1241c329f9
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-02-24 20:13:47 -05:00
Sunil Mohan Adapa
d411718fb1
dynamicdns: Handle addition of duplicate domains
Tests:

- Adding a new domain works. Adding a new domain with old name results in error
message.

- Editing a old domain works. Updating the domain name works. Updating
configuration parameters without domain name change works.

- Adding a domain with capital letters results in domain with lower cased
letters.

Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-02-24 17:30:46 -05:00
Sunil Mohan Adapa
84bf20e1b8
names: Handle addition of duplicate static domains
Tests:

- Adding an new unique domain works.

- Adding an existing domain results in an error.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-02-24 17:30:42 -05:00