From 0809cd77eb0f231c5d166092594b66e9ffe2b76b Mon Sep 17 00:00:00 2001 From: Henna Haahti <84767854+aateekoohenna@users.noreply.github.com> Date: Thu, 5 Mar 2026 10:15:57 +0200 Subject: [PATCH 1/6] run necessary tasks after install --- packages/ytl-linux-tasks/Makefile | 4 +++- packages/ytl-linux-tasks/after-install.sh | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 packages/ytl-linux-tasks/after-install.sh diff --git a/packages/ytl-linux-tasks/Makefile b/packages/ytl-linux-tasks/Makefile index 80c304c..cd3c597 100644 --- a/packages/ytl-linux-tasks/Makefile +++ b/packages/ytl-linux-tasks/Makefile @@ -1,5 +1,5 @@ NAME := ytl-linux-tasks -VERSION := 0.1.0 +VERSION := 0.2.0 DEPENDENCIES := --depends just @@ -19,5 +19,7 @@ deb: --vendor "Matriculation Examination Board" \ --url "https://github.com/digabi/ytl-linux" \ --deb-no-default-config-files \ + --after-install after-install.sh \ + --after-upgrade after-install.sh \ $(DEPENDENCIES) \ . diff --git a/packages/ytl-linux-tasks/after-install.sh b/packages/ytl-linux-tasks/after-install.sh new file mode 100644 index 0000000..4ebf831 --- /dev/null +++ b/packages/ytl-linux-tasks/after-install.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +/usr/local/bin/ytl-tasks the-needful From fdfcdf5a0c00789bc8f205abf5f24c299710a513 Mon Sep 17 00:00:00 2001 From: Henna Haahti <84767854+aateekoohenna@users.noreply.github.com> Date: Mon, 9 Mar 2026 12:54:05 +0200 Subject: [PATCH 2/6] ytl-tasks: make maintenance a systemd service finally the bikeshed has a nice color: 'the-needful' is renamed to 'maintenance' --- packages/ytl-linux-tasks/Makefile | 1 + packages/ytl-linux-tasks/after-install.sh | 4 +++- packages/ytl-linux-tasks/justfile | 4 ++-- .../scripts/2026-02-18_migrate-package-keys.py | 12 ++++++++++++ .../ytl-linux-tasks/ytl-tasks-maintenance.service | 9 +++++++++ 5 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 packages/ytl-linux-tasks/ytl-tasks-maintenance.service diff --git a/packages/ytl-linux-tasks/Makefile b/packages/ytl-linux-tasks/Makefile index cd3c597..d75bfec 100644 --- a/packages/ytl-linux-tasks/Makefile +++ b/packages/ytl-linux-tasks/Makefile @@ -11,6 +11,7 @@ deb: mkdir -p deb-root install -D -m 644 justfile deb-root/usr/local/share/ytl-linux-tasks/justfile install -D -m 755 ytl-tasks deb-root/usr/local/bin/ytl-tasks + install -D -m 644 ytl-tasks-maintentance.service deb-root/etc/systemd/system/ytl-tasks-maintenance.service cp -r scripts deb-root/usr/local/share/ytl-linux-tasks/scripts fpm -C deb-root/ -s dir --name $(NAME) --architecture all -t deb --version "$(VERSION)" \ diff --git a/packages/ytl-linux-tasks/after-install.sh b/packages/ytl-linux-tasks/after-install.sh index 4ebf831..3403951 100644 --- a/packages/ytl-linux-tasks/after-install.sh +++ b/packages/ytl-linux-tasks/after-install.sh @@ -1,3 +1,5 @@ #!/usr/bin/env bash -/usr/local/bin/ytl-tasks the-needful +systemctl daemon-reload +systemctl enable ytl-tasks-maintenance.service +systemctl start ytl-tasks-maintenance.service diff --git a/packages/ytl-linux-tasks/justfile b/packages/ytl-linux-tasks/justfile index 974cf75..21421c9 100644 --- a/packages/ytl-linux-tasks/justfile +++ b/packages/ytl-linux-tasks/justfile @@ -4,8 +4,8 @@ default: # A group of tasks essential for every healthy YTL Linux installation. [private] -the-needful: migrate-package-keys +maintenance: migrate-package-keys # Installs public keys of package sources to supported location migrate-package-keys: - ./scripts/2026-02-18_migrate-package-keys.py + './scripts/2026-02-18_migrate-package-keys.py' diff --git a/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py b/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py index 327d4ab..1f392ae 100755 --- a/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py +++ b/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py @@ -1,10 +1,19 @@ #!/usr/bin/env python3 import pathlib +import platform SOURCE_NAMES = "docker", "virtualbox-oracle", "ytl-linux" +def migration_necessary(): + try: + info = platform.freedesktop_os_release() + return info["VERSION_ID"] >= "24.04" + except OSError, KeyError: + return False + + def merge(source: str, key: str): def inner(): yield from source.splitlines(keepends=False) @@ -54,6 +63,9 @@ def migrate(self): if __name__ == "__main__": + if not migration_necessary(): + exit() + sources = [Source(name) for name in SOURCE_NAMES] for src in sources: diff --git a/packages/ytl-linux-tasks/ytl-tasks-maintenance.service b/packages/ytl-linux-tasks/ytl-tasks-maintenance.service new file mode 100644 index 0000000..5cf96c3 --- /dev/null +++ b/packages/ytl-linux-tasks/ytl-tasks-maintenance.service @@ -0,0 +1,9 @@ +[Unit] +Description=YTL Linux maintenance tasks + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/ytl-tasks maintenance + +[Install] +WantedBy=multi-user.target From 30b38f8b2f8f16d20e9844d2fcba95ab640eb0cb Mon Sep 17 00:00:00 2001 From: Henna Haahti <84767854+aateekoohenna@users.noreply.github.com> Date: Mon, 9 Mar 2026 15:57:34 +0200 Subject: [PATCH 3/6] fix typo & extra args --- packages/ytl-linux-tasks/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/ytl-linux-tasks/Makefile b/packages/ytl-linux-tasks/Makefile index d75bfec..8a019bd 100644 --- a/packages/ytl-linux-tasks/Makefile +++ b/packages/ytl-linux-tasks/Makefile @@ -11,7 +11,7 @@ deb: mkdir -p deb-root install -D -m 644 justfile deb-root/usr/local/share/ytl-linux-tasks/justfile install -D -m 755 ytl-tasks deb-root/usr/local/bin/ytl-tasks - install -D -m 644 ytl-tasks-maintentance.service deb-root/etc/systemd/system/ytl-tasks-maintenance.service + install -D -m 644 ytl-tasks-maintenance.service deb-root/etc/systemd/system/ytl-tasks-maintenance.service cp -r scripts deb-root/usr/local/share/ytl-linux-tasks/scripts fpm -C deb-root/ -s dir --name $(NAME) --architecture all -t deb --version "$(VERSION)" \ @@ -21,6 +21,5 @@ deb: --url "https://github.com/digabi/ytl-linux" \ --deb-no-default-config-files \ --after-install after-install.sh \ - --after-upgrade after-install.sh \ $(DEPENDENCIES) \ . From 4ca944e6d7d7ddc49204fed31c2f7edc389b48f0 Mon Sep 17 00:00:00 2001 From: Henna Haahti <84767854+aateekoohenna@users.noreply.github.com> Date: Mon, 9 Mar 2026 16:09:42 +0200 Subject: [PATCH 4/6] multiple error types must be parenthesized --- .../ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py b/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py index 1f392ae..dd683df 100755 --- a/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py +++ b/packages/ytl-linux-tasks/scripts/2026-02-18_migrate-package-keys.py @@ -10,7 +10,7 @@ def migration_necessary(): try: info = platform.freedesktop_os_release() return info["VERSION_ID"] >= "24.04" - except OSError, KeyError: + except (OSError, KeyError): return False From 83c98e856cde5ed1374137e942db011eae06632f Mon Sep 17 00:00:00 2001 From: Henna Haahti <84767854+aateekoohenna@users.noreply.github.com> Date: Mon, 9 Mar 2026 16:34:23 +0200 Subject: [PATCH 5/6] remove the maintenance job from after-install.sh --- packages/ytl-linux-tasks/after-install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/ytl-linux-tasks/after-install.sh b/packages/ytl-linux-tasks/after-install.sh index 3403951..a6b3ebc 100644 --- a/packages/ytl-linux-tasks/after-install.sh +++ b/packages/ytl-linux-tasks/after-install.sh @@ -2,4 +2,3 @@ systemctl daemon-reload systemctl enable ytl-tasks-maintenance.service -systemctl start ytl-tasks-maintenance.service From 75c93daa94001015e99fd12b8e20e773c73fbffd Mon Sep 17 00:00:00 2001 From: Henna Haahti <84767854+aateekoohenna@users.noreply.github.com> Date: Mon, 9 Mar 2026 17:00:17 +0200 Subject: [PATCH 6/6] add ytl-linux-tasks to ytl-linux-customize* packages --- packages/ytl-linux-customize-24/Makefile | 4 ++-- packages/ytl-linux-customize/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/ytl-linux-customize-24/Makefile b/packages/ytl-linux-customize-24/Makefile index 69d9068..684b679 100644 --- a/packages/ytl-linux-customize-24/Makefile +++ b/packages/ytl-linux-customize-24/Makefile @@ -1,9 +1,9 @@ -VERSION := 1.1.0 +VERSION := 1.2.0 # Dependencies which are not related to any code in the DEPENDENCIES_META := --depends virtualbox-7.1 --depends ethtool --depends exfat-fuse --depends update-manager --depends gnome-icon-theme \ --depends dconf-cli --depends ytl-linux-cpu-governor --depends ytl-linux-digabi1-examnet --depends ytl-linux-digabi2 --depends ytl-linux-digabi2-examnet \ - --depends anydesk-meb + --depends anydesk-meb --depends ytl-linux-tasks RECOMMENDS_META := --deb-recommends digabi-usb-monster DEPENDENCIES_NAKSU := --depends wget --depends zenity diff --git a/packages/ytl-linux-customize/Makefile b/packages/ytl-linux-customize/Makefile index 123d828..e88db14 100644 --- a/packages/ytl-linux-customize/Makefile +++ b/packages/ytl-linux-customize/Makefile @@ -1,8 +1,8 @@ -VERSION := 1.1.0 +VERSION := 1.2.0 # Dependencies which are not related to any code in the DEPENDENCIES_META := --depends virtualbox-7.0 --depends ethtool --depends exfat-fuse --depends update-manager --depends gnome-icon-theme --depends dconf-cli \ - --depends anydesk-meb + --depends anydesk-meb --depends ytl-linux-tasks RECOMMENDS_META := --deb-recommends digabi-usb-monster DEPENDENCIES_NAKSU := --depends wget --depends zenity