Compare commits

...
4 Commits
Author SHA1 Message Date
Daniele Fucini 6b26b358d7 Mention aur build in README 2026-10-14 13:06:48 +02:00
Daniele Fucini 4a9eebcad2 Warn when aur repo -u fails
Print a warning instead of silently counting 0 AUR updates, and stop
discarding aur's stderr so the cause shows up in the journal.
2026-10-14 13:06:40 +02:00
Daniele Fucini f32d2a0c87 Add README 2026-10-13 21:18:08 +02:00
Daniele Fucini 255cb6350f Update PKGBUILD 2026-10-07 19:48:31 +02:00
3 changed files with 87 additions and 3 deletions
+2 -2
View File
@@ -3,7 +3,7 @@
# Maintainer: Daniele Fucini <dfucini [at] gmail [dot] com>
pkgname=update-notify
pkgver=3.2
pkgver=3.3
pkgrel=1
pkgdesc='Notify when updates are available'
arch=('any')
@@ -17,7 +17,7 @@ optdepends=('aurutils: to check AUR packages in the local repo for updates'
'git-monitor: to check git repos for updates')
source=(git+${url}?signed#tag=${pkgver})
validpgpkeys=('7E12BC1FF3B6EDB2CD8053EB981A2B2A3BBF5514')
sha256sums=('a81613c3098c9af6dabe1da67f26efeee4d0753352e38ba4c0ee1d7e86f7d2d7')
sha256sums=('413435ce9215cf6e37f9a11e69aba7d6338489547a552a6977f4f283da9402c2')
package()
{
+80
View File
@@ -0,0 +1,80 @@
# update-notify
Desktop notifications for pending updates on Arch Linux.
update-notify runs on a systemd user timer and checks:
- **Repo updates**, using `checkupdates` from pacman-contrib.
- **AUR updates** for packages in a local aurutils repository (`aur repo -u`).
- **Custom kernel rebuilds**: when a stock kernel (e.g. `linux-lts`) has a newer version than your custom build of it (e.g. `linux-lts-custom`).
It sends one notification, and only when its content changes since the last one:
- Update counts are shown once the total number of updates reaches a threshold (default 30). Reminders for `git-monitor` and pending firmware updates (`fwupdmgr`) are added when those tools are installed.
- Kernel rebuild reminders are always shown, even below the threshold.
## Requirements
- `pacman-contrib`
- `libnotify` and a running notification daemon
Optional:
- `aurutils`: check AUR packages in the local repository
- `fwupd`: check for firmware updates
- `git-monitor`: remind to check git packages
## Installation
Build and install the package with the included PKGBUILD:
```
makepkg -si
```
Or, with aurutils, build it into your local repository with `aur build` and install it with pacman.
Then enable the timer:
```
systemctl --user enable --now update-notify.timer
```
The timer runs 5 minutes after boot, then every 6 hours.
## Usage
```
update-notify [threshold]
```
`threshold` is the minimum number of updates (repo + AUR) before update counts are shown. The default is 30.
To change the threshold used by the timer, override the service:
```
systemctl --user edit update-notify.service
```
```ini
[Service]
ExecStart=
ExecStart=/usr/bin/update-notify 50
```
## Configuration
These settings are at the top of the script:
- `AUR_REPO`: name of the local aurutils repository (default `aur-local`).
- `KERNELS`: maps each stock kernel package to its custom build. Kernels where either package isn't installed are skipped.
Changes to the installed script are overwritten on upgrade, so change them in the source and rebuild the package.
Kernel versions are compared without `pkgrel`, so a stock packaging-only update doesn't trigger a rebuild reminder. A custom build already in the local repository but not installed yet counts as up to date.
The content of the last notification is stored in `$XDG_STATE_HOME/update-notify` (default `~/.local/state/update-notify`). Delete it to get the current notification again.
## License
GPL-3.0-or-later. See [LICENSE](LICENSE).
+5 -1
View File
@@ -88,7 +88,11 @@ arch_updates=${#arch_list[@]}
aur_updates=0
if command -v aur >/dev/null 2>&1; then
aur_updates=$(aur repo -u -d "$AUR_REPO" 2>/dev/null | wc -l)
if aur_out=$(aur repo -u -d "$AUR_REPO"); then
[[ -n $aur_out ]] && aur_updates=$(wc -l <<< "$aur_out")
else
echo "aur repo -u failed, AUR updates not counted" >&2
fi
fi
updates=$((arch_updates + aur_updates))