munin-libvirt-plugins
Build times (auto-updated)
- any: 1m10s (2026-10-15 08:42 UTC, MAKEFLAGS=-j6)
- Path:
maintained/munin-libvirt-plugins. New package, created 2026-10-15,
initial AUR push done by the user the same day – now a real git submodule
(ssh://aur@aur.archlinux.org/munin-libvirt-plugins.git), AUR confirms the
user as maintainer. Converting from the earlier plain untracked directory
to the submodule hit a snag worth remembering: the user had also already
run git submodule add themselves locally (setting up their own AUR push),
so scripts/add_maintained.sh failed with
fatal: 'maintained/munin-libvirt-plugins' already exists in the index
after an rm -rf of the plain directory – the script doesn’t check that
command’s exit code, so it printed “added” anyway despite failing. Recovered
cleanly with git submodule update --init maintained/munin-libvirt-plugins
(the .gitmodules entry was already correct from the user’s own setup) –
no data lost, but don’t rm -rf a package directory before confirming
via git ls-files/git status whether it’s already a tracked gitlink,
especially right after telling the user “I’ll drop this in, you handle the
AUR side” – they may do more locally than just the AUR-side push.
- Real build bug caught by the actual chroot pipeline, not the earlier
plain
makepkg -s test: first repo_release.sh attempt failed with
ERROR: Cannot find the git package needed to handle git sources –
git was missing from makedepends. My earlier validation build (plain
makepkg -s directly on this host, before the chroot pipeline existed for
this package) didn’t catch it because git was already installed on the
host itself, masking the missing makedepends entry. Fixed by adding
makedepends=('git'); pkgrel not bumped since this was fixed before any
version of the package was ever actually published (not a “fix a published
package” bump). Lesson: a plain non-chroot makepkg -s test is not a
substitute for a real chroot build when validating a brand-new PKGBUILD –
it can silently pass due to host-side packages the chroot doesn’t have.
- 4 Python3 Munin plugins (
libvirt-cputime, libvirt-blkstat,
libvirt-ifstat, libvirt-mem) to monitor libvirt-managed VMs, plus a
munin-libvirt-plugins-detect autoconfig helper. GPL-2.0-only.
- Upstream is
agx/munin-libvirt-plugins (Guido Günther,
github.com/agx/munin-libvirt-plugins), not the similarly-named
MikeQG/munin-libvirt-plugins fork – the latter has zero tags and no real
commits since 2012; agx’s is what Debian actually packages
(munin-libvirt-plugins 0.0.7-1.2 in sid), confirmed via
packages.debian.org. No existing AUR package under this or a similar
name – confirmed directly against the real AUR RPC API
(https://aur.archlinux.org/rpc/v5/search/...), not a web-search
summary, which falsely claimed a munin-libvirt-git package already
existed (hallucinated/wrong – always verify AUR package-existence claims
against the RPC API directly, not a search summary).
- Pinned to the exact git tag Debian builds from (
debian/0.0.7-1), via a
git+...#tag=debian/0.0.7-1 source – upstream doesn’t publish GitHub
Release tarballs, only tags, so a VCS source made more sense than guessing
at a tarball URL. sha256sums=('SKIP') since it’s an unsigned plain git
source (no ?signed, no validpgpkeys – upstream doesn’t sign tags for
this project).
- Upstream’s own
Makefile has a real gap worth knowing about: install:
build depends on a build target that’s declared .PHONY but has no
rule at all, and does not list the sed-generated
munin-libvirt-plugins-detect file as an install prerequisite either –
make install alone, cold, would try to install a munin-libvirt-plugins-detect
file that doesn’t exist yet. Debian’s debian/rules works around this
implicitly (plain dh $@ -> dh_auto_build runs bare make, which builds
the Makefile’s first target, all: $(DETECT), before dh_auto_install
runs make install separately). Mirrored that split explicitly in the
PKGBUILD: build() runs plain make (generates the detect script from
its .in template), package() runs
make DESTDIR="${pkgdir}" SBINDIR=/usr/bin install (overriding upstream’s
default SBINDIR=/usr/sbin – Arch convention, /usr/sbin is just a
symlink to /usr/bin here anyway but no reason to rely on that).
depends=('munin-node' 'libvirt-python' 'libxml2' 'python') – matches
Debian’s Depends: munin-node, python3, python3-libvirt, python3-libxml2
exactly, translated to real Arch package names. Confirmed on this host:
core/libxml2 already ships the python3 libxml2 module directly (no
separate python-libxml2 package exists or is needed on Arch – checked
pacman -Ql libxml2 | grep python), and both import libvirt /
import libxml2 succeed with libvirt-python + libxml2 installed.
- Build-tested clean via plain
makepkg -s (not yet run through this
project’s chroot/repo_release.sh pipeline, since it’s not going to be
published to the private archlinuxaba repo – this is a genuine AUR-bound
package, built here only to prove the PKGBUILD/Makefile interaction works).
Resulting file layout verified by hand (tar tf): plugins under
/usr/share/munin/plugins, detect helper under /usr/bin, license +
README under /usr/share/licenses / /usr/share/doc. namcap wasn’t
available outside a chroot on this host to double-check further –
worth a quick namcap pass once this does go through a real chroot build
(e.g. after the AUR push, via the normal maintained/ pipeline).