?-flagged packagesResearch notes for adding .nvchecker.toml files to the 79 packages currently
flagged ? (no upstream-version checker) by scripts/check_for_updates_maintained.sh.
Planning only — no .nvchecker.toml files or PKGBUILD changes were made.
Key nvchecker facts discovered while researching this (confirmed against
lilydjwg/nvchecker upstream source, July 2026):
sourceforge source type in nvchecker. SourceForge
projects have to be checked with source = "regex" against the project’s RSS
feed (https://sourceforge.net/projects/<name>/rss?path=/<name>), which lists
every uploaded file. Verified live against the cppcms feed (see below).source = "gitlab" takes a host = "..." key for self-hosted GitLab, which
covers KDE’s invent.kde.org and other self-hosted instances.source = "github" also takes an optional host key for GitHub Enterprise,
and use_max_tag / use_latest_release / use_max_release toggles.source = "git" runs git ls-remote against any git URL (no API, no
host restriction) and returns either all tags, or (with use_commit = true,
optionally branch = ...) the tip commit of a ref. This is the right tool for
VCS-only packages and for non-GitHub/GitLab git servers like code.qt.io.source = "launchpad" exists (launchpad = "<project>") — good news for the
five Launchpad-hosted packages here.source = "ubuntupkg" / source = "debianpkg" exist and query the
Launchpad/sources.debian.org package archives directly — useful for packages
that are themselves repackaged Debian/Ubuntu archive tarballs.source = "cpan" exists but nothing in this list needs it.vcs source type has been removed from nvchecker entirely.All five share one upstream release cadence (KDE Frameworks) and one source
pattern: https://download.kde.org/stable/frameworks/<major.minor>/<name>-<pkgver>.tar.xz.
Recommended check: self-hosted GitLab tags at invent.kde.org/frameworks/<name>.
source = "gitlab", gitlab = "frameworks/kcontacts", host = "invent.kde.org", use_max_tag = true.gitlab = "frameworks/kdesu", same host/pattern.gitlab = "frameworks/kitemmodels".gitlab = "frameworks/kplotting".gitlab = "frameworks/kunitconversion".(Repo paths under invent.kde.org/frameworks/* follow KDE’s standard
Frameworks convention; worth a one-time sanity check per repo before writing
the toml, but all five are well-known, actively maintained Frameworks modules.)
Nine packages share the KDE PIM / release-service source layout:
https://download.kde.org/stable/release-service/<pkgver>/src/<name>-<pkgver>.tar.xz.
Recommended check: GitLab tags at invent.kde.org/pim/<name>.
gitlab = "pim/akonadi-contacts", host = "invent.kde.org", use_max_tag = true.gitlab = "pim/akonadi-notes".gitlab = "pim/grantleetheme".gitlab = "pim/kidentitymanagement".gitlab = "pim/kmime".gitlab = "pim/kontactinterface".gitlab = "pim/kpimtextedit".gitlab = "pim/akonadi".Note: akonadi-notes (Qt6) is currently at 24.08.3 while the rest of the
family sits at 23.08.5 — they don’t all bump on exactly the same day, but they
share the same release-service mechanism and repo-naming convention.
Three packages track the Plasma 5 LTS tarball layout at
https://download.kde.org/stable/plasma/<pkgver>/<name>-<pkgver>.tar.xz.
gitlab = "plasma/kdecoration", host = "invent.kde.org", use_max_tag = true.gitlab = "plasma/kscreenlocker".gitlab = "plasma/layer-shell-qt".These are not part of the Frameworks/PIM/Plasma lockstep releases — each has
its own versioning — but all live on KDE’s self-hosted GitLab, so the same
gitlab + host = "invent.kde.org" mechanism applies per-repo.
https://download.kde.org/stable/kdiagram/. gitlab = "graphics/kdiagram" (verify exact group path), use_max_tag = true.gitlab = "libraries/kirigami-addons", host = "invent.kde.org".gitlab = "libraries/kquickimageeditor".gitlab = "libraries/ktextaddons".Straightforward: real GitHub repo, real version tags, source = "github" will
just work.
github.com/gyunaev/kchmviewer, tags like RELEASE_8_0. source = "github", github = "gyunaev/kchmviewer", use_max_tag = true.github.com/Libvisual/libvisual, release tags like libvisual-0.4.2. github = "Libvisual/libvisual", use_max_release = true (or regex-strip the libvisual- prefix from tag names).github.com/gpg/gpgmeqt (tag gpgmeqt-$pkgver), not from a KDE mirror. github = "gpg/gpgmeqt", use_max_tag = true (tag prefix gpgmeqt- needs stripping).github.com/Libre-WD-40/git. The fork carries upstream git’s own version tags, so github = "Libre-WD-40/git", use_max_tag = true is a reasonable check (falls back to watching the fork’s tag stream rather than official git.git, which is what’s actually consumed).These packages use PKGBUILD pkgver() functions (or hand-maintained
commit pins) rather than tagged releases — nvchecker’s generic git source
(works over plain git ls-remote, no API/host restriction) is the right tool
for all of them.
0.0.6.<commit7>) — github.com/lexborisov/modest. source = "git", git = "https://github.com/lexborisov/modest.git", use_commit = true.date.commit7 via pkgver()) — github.com/juhovh/shairplay. Same pattern, use_commit = true.github.com/barsnick/valkyrie, branch valkyrie-qt5-qt6. use_commit = true, branch = "valkyrie-qt5-qt6".rN.hash via pkgver()) — github.com/leesaudan2/woz2dsk. use_commit = true (won’t reproduce the exact rN.hash count format, but will flag new commits, which is the point).rN.hash via pkgver()) — github.com/JorjBauer/wozzle. Same as woz2dsk.pkgver()) — github.com/alexanderwink/subdl. use_commit = true on the default branch; flags upstream changes even though the maintainer updates pkgver by hand.v5.15.2) — code.qt.io/qt/qtmqtt.git, not GitHub/GitLab-API-backed but a plain git server, so the generic git source (tag-listing mode, no use_commit) works: git = "https://code.qt.io/qt/qtmqtt.git".github.com/mp3splt/mp3splt)Three packages all pin different commits/tags of the same upstream
monorepo, each building a different subdirectory (libmp3splt, newmp3splt,
mp3splt-gtk) — they’ll always want independent nvchecker entries (different
commit pins) but share one git config shape:
0.9.3.1519+r5+g<hash>)2.6.3.1519+r2+g<hash>)0.9.3.1519+r4+g<hash>)All three: source = "git", git = "https://github.com/mp3splt/mp3splt.git", use_commit = true, branch = "master".
0.9.8+r47+g<hash>) — separate upstream, github.com/tat/mimetic. Same git + use_commit = true pattern, different repo.Five packages are all releases of Nils Hilbricht’s “Laborejo Software Suite”,
all published to one flat directory: https://hilbricht.net/downloads/lss/.
Verified live (July 2026) — the directory currently lists exactly the
tarballs these five PKGBUILDs already use, confirming they’re all at the
latest available version right now:
agordejo-0.4.2.tar.gz
laborejo-2.2.2.tar.gz
libcalfbox-lss-1.2.0.tar.xz
patroneo-2.4.1.tar.gz
tembro-0.6.0.tar.gz
The project also has a self-hosted GitLab (git.laborejo.org, referenced by
libcalfbox-lss’s url=), but it did not resolve/respond during this
research (TLS cert mismatch / domain not configured on the host) — treat it as
unreliable and prefer the directory-listing regex instead.
Recommended for all five: source = "regex", url = "https://hilbricht.net/downloads/lss/", regex = "<pkgname>-([\\d.]+)\\.tar\\.(gz|xz)".
nvchecker has a native launchpad source (launchpad = "<project>", queries
api.launchpad.net). All five of these already source from launchpad.net.
dbmodel Launchpad project with different Qt-version patches) — source = "launchpad", launchpad = "dbmodel" for all three (same config, three packages — flag as a shared-upstream group).launchpad = "trayclock".launchpad = "vattery".sourceforge source)nvchecker has no dedicated SourceForge source type. The working substitute, verified live against the real cppcms feed:
source = "regex", url = "https://sourceforge.net/projects/<project>/rss?path=/<project>",
regex = "<project>-([\\d.]+)\\.tar\\.(gz|bz2)".
Fetched https://sourceforge.net/projects/cppcms/rss?path=/cppcms directly and
confirmed entries like /cppcms/1.2.1/cppcms-1.2.1.tar.bz2 and beta releases
like cppcms-2.0.0.beta2.tar.bz2 — the regex above naturally skips betas
because .beta2 breaks the immediate \.tar\. match.
cppcms. Confirmed live: latest stable is still 1.2.1 (only 2.0.0-beta releases are newer). Quick win.sourceforge.net/projects/cppcms/files/cppdb/) as cppcms — shares upstream project with cppcms, note as a pair.bochs — this one is actually actively maintained (2.8 is a 2023 release); best candidate in this group for a real quick win.openobex (obexftp is a companion tool built against openobex). Group as a pair; both use the RSS-regex template above.espeak. Long superseded by the espeak-ng fork but the SF project/regex is still checkable.hdrecover. Ancient (~2007), essentially abandoned but checkable.libots.sourceforge.net) but the PKGBUILD actually pulls the tarball from sources.archlinux.org’s historical mirror — verify the SF project page is still live before relying on the RSS trick; may need to fall back to “dead”.mp3wrap. Abandoned (~2004) but checkable.ogmrip. Abandoned (~2013) but checkable.rxvt. Frozen but checkable.setserial. Ancient but checkable.nvchecker has native debianpkg/ubuntupkg sources that query the
Debian/Ubuntu package archives directly.
1.0.3_1.6) — sourced from archive.ubuntu.com/.../universe/l/lockdev/. Genuine quick win: source = "ubuntupkg", ubuntupkg = "lockdev".archive.debian.org (the archived, no-longer-current Debian archive; package was removed from Debian and upstream site is dead — url= is literally /dev/null in the PKGBUILD). debianpkg/sources.debian.org almost certainly won’t find a removed package — treat as dead (see below), not a real quick win despite superficially matching this category.No API, no releases feed — just an old-school Apache/nginx directory index to regex against. Feasibility varies a lot by how alive the upstream still is.
https://dl.suckless.org/tools/ii-2.0.tar.gz. source = "regex", url = "https://dl.suckless.org/tools/", regex = "ii-([\\d.]+)\\.tar\\.gz". suckless projects do cut occasional releases; reasonable quick-ish win. (Alternative: git source against git://git.suckless.org/ii tags.)http://untroubled.org/ucspi-unix/archive/. Same directory-regex approach; small personal project, unlikely to ever show a new version but mechanically checkable.http://www.fractint.org/ftp/current/linux/. Same approach; project does still cut occasional point releases (p16 suggests active patch numbering), reasonable candidate.https://invisible-island.net/archives/ncurses/ (or https://ftp.gnu.org/gnu/ncurses/) directory listing — this is an actively-updated upstream even though this package intentionally freezes the ABI, so it’s a genuinely useful check.source = "regex" against https://ftp.gnu.org/gnu/binutils/ directory listing would detect newer releases even though the maintainer may choose not to bump (cross-toolchain pin).https://ftp.gnu.org/gnu/gcc/ listing.https://sourceware.org/pub/newlib/ listing.https://freedesktop.org/software/vaapi/releases/libva-vdpau-driver/. Directory-listing regex is mechanically possible, but upstream has been dead since ~2012 (superseded by newer VA-API drivers) — low value, see dead-projects note below too.These are cases where either (a) upstream is confirmed gone/archived/dead, or (b) the package is intentionally frozen at a fixed version forever by design, so an automated “new version available” signal would never fire and isn’t meaningful. Forcing a checker onto these would just be noise.
pkgver is permanently 2.13.pkgver will never change again; a checker would always confirm “no update,” which is technically true but zero value.rahul.net/dholmes/ctorrent/), last real upstream activity well over a decade ago, patches are locally-carried Debian patches, not upstream releases. No upstream release feed exists.helm.cs.unibo.it), dead since ~2009, no changelog/feed/repo to check against.storage.googleapis.com/google-code-archive-downloads/...) since Google Code shut down in 2016. This is a frozen historical snapshot — there will never be a new version.amejia1/libshairport) was deleted by its author; the PKGBUILD now sources from a private mirror (archlinux32.andreasbaumann.cc) of an old release. No live upstream exists at all.url=/dev/null in the PKGBUILD itself), package was removed from Debian, source comes from archive.debian.org’s permanent archive of a no-longer-distributed package. No live upstream to check.ibiblio.org), no release since ~2010, no discoverable upstream repo or feed.xdialog.free.fr), last release 2005, personal free.fr hosting of uncertain current reachability; effectively abandoned.yabause.org, tarballs on tuxfamily.net), project abandoned since ~2015 (development moved to successor emulators like Kronos/Mednafen). tuxfamily directory listing is mechanically regex-able but no new release is realistically expected..nvchecker.tomls first — trivial, verified-working sources)github source, tag-based.github source, tag-based.github source (gpg/gpgmeqt), tag-based.ubuntupkg source, exact package-name match.launchpad source, one config reused three times.launchpad source.hilbricht.net/downloads/lss/, verified live (directory contents currently match all five PKGBUILDs exactly).gitlab+host=invent.kde.org config is written and proven, since it’s the same shape repeated ~17 times with just the repo path changing.git + use_commit works mechanically, but won’t reproduce the exact +rN+g<hash> pkgver scheme these PKGBUILDs use; it’ll flag “there are new commits” without telling you the right rN count, so some manual pkgver math is still needed after the alert.git/use_commit flags new commits but doesn’t reproduce the rN.hash pkgver format used by their pkgver() functions.