Build and packaging library
  • Python 66%
  • Makefile 24.6%
  • Shell 9.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Lindemann cae983479c
lib.Distro.verify(): Add method
jw-base verify pipes the output of rpm -qV for all janware packages
into a grep for md5 mismatches and missing files. The same capability,
distribution-independent, belongs in the Distro abstraction so that tools
like jw-nettools can check the integrity of the packages they install on a
fleet of hosts.

- Add Distro.verify(), which verifies the given package names, or all
  packages selected by the package filter when none are given, and returns
  the flagged files
- Add Distro._verify() as the distribution hook
- Add FlaggedFile, the record for a flagged file: package, file, and the
  package manager's verify status line - not distribution independent as of
  today, but it's a start
- pm/rpm.py: parse_verify_output() parses the output of `rpm -qV` and
  reports md5 mismatches and missing files, the latter reported with the
  literal word "missing" in the flag field; size, mode, mtime, user, and
  group mismatches are noise on dev machines and are ignored.
  verify_packages() runs `rpm -qV` per package and collects the findings
- pm/dpkg.py: parse_verify_output() parses the output of `dpkg -V` and
  reports md5sum (P) mismatches and missing files (M); verify_packages()
  runs `dpkg -V` per package
- The SUSE, Red Hat, and Debian Distro classes implement _verify() with the
  respective pm helpers; the Arch Distro raises NotImplementedError, like
  its other package manager hooks

Signed-off-by: Jan Lindemann <jan@janware.com>
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v1.2.0
2026-10-16 09:40:22 +02:00
.github/workflows ci.yaml: test-packaging.yaml@{master-test -> master} 2026-06-08 19:43:15 +02:00
bin bin, make, scripts: Re-add files necessary for packaging jw-build 2025-11-14 11:22:50 +01:00
conf run-success.mk: Record last successful run 2026-09-16 18:16:17 +02:00
doc doc: Add subdir 2026-08-19 20:51:11 +02:00
make py-defs.mk: Define PYTHON_RUNNER 2026-10-16 09:08:10 +02:00
scripts mkspec-wrapper.sh: Fix INSTALL_LOG default 2026-10-16 08:48:20 +02:00
src lib.Distro.verify(): Add method 2026-10-16 09:40:22 +02:00
test lib.Distro.verify(): Add method 2026-10-16 09:40:22 +02:00
.gitignore run-success.mk: Record last successful run 2026-09-16 18:16:17 +02:00
HASH Release 1.0.0-275@suse-tumbleweed/x86_64 2026-10-12 23:37:33 +00:00
Makefile .gitignore: Run make gitignore 2026-09-13 23:09:26 +02:00
RELEASES Release 1.0.0-275@suse-tumbleweed/x86_64 2026-10-12 23:37:33 +00:00
VERSION Start version: 1.0.0-275 2026-10-12 23:11:55 +00:00