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 diff --git a/packages/ytl-linux-tasks/Makefile b/packages/ytl-linux-tasks/Makefile index 80c304c..8a019bd 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 @@ -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-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)" \ @@ -19,5 +20,6 @@ deb: --vendor "Matriculation Examination Board" \ --url "https://github.com/digabi/ytl-linux" \ --deb-no-default-config-files \ + --after-install 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..a6b3ebc --- /dev/null +++ b/packages/ytl-linux-tasks/after-install.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +systemctl daemon-reload +systemctl enable 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..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 @@ -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