From 9a40551ef509b9610e61fb94b9fba61bbed38cf9 Mon Sep 17 00:00:00 2001 From: Ohad Livne Date: Wed, 4 Jun 2025 22:45:50 +0300 Subject: [PATCH] Set up notifications for package availability --- .config/setup/crontab | 1 + .local/bin/package-alert | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100755 .local/bin/package-alert diff --git a/.config/setup/crontab b/.config/setup/crontab index 5fa77e0..b7dacbc 100644 --- a/.config/setup/crontab +++ b/.config/setup/crontab @@ -1 +1,2 @@ @hourly /home/ohad/.local/bin/make-backup +@hourly /home/ohad/.local/bin/package-alert diff --git a/.local/bin/package-alert b/.local/bin/package-alert new file mode 100755 index 0000000..f58f84f --- /dev/null +++ b/.local/bin/package-alert @@ -0,0 +1,21 @@ +#! /usr/bin/sh + +WATCHLIST=~/.local/share/package-alert/watchlist + +agg_results="" + +if [ -f "${WATCHLIST}" ]; then + for pattern in $(cat "${WATCHLIST}"); do + pat_results=$(apt-cache search --names-only "${pattern}") + if [ ! -z "${pat_results}" ]; then + agg_results="${agg_results:+${agg_results} +}Packages matching \"${pattern}\": +${pat_results} +" + fi + done +fi + +if [ ! -z "${agg_results}" ]; then + printf '%s' "${agg_results}" | /usr/sbin/sendmail "${USER}" +fi