APG file validator for NurOS. Validates .apg packages against the APG v1 and v2 specifications: checks archive structure, verifies checksums, and validates metadata fields.
git clone https://github.com/NurOS-Linux/apgcheck
cd apgcheck
go build -o apgcheck .apgcheck -a <file.apg> [options]
| Flag | Short | Default | Description |
|---|---|---|---|
--apgfile |
-a |
Path to the .apg file to validate |
|
--apg-version |
-A |
1 |
APG format version (1 or 2) |
--skip-checksums |
false |
Skip MD5/CRC32 checksum verification | |
--max-size |
500 |
Max allowed decompression size in MB | |
--json |
-j |
false |
Output result as JSON |
--quiet |
-q |
false |
Suppress all output |
--verbose |
-V |
false |
Print detailed diagnostic info to stderr |
--no-color |
false |
Disable colored output | |
--version |
-v |
Show version and exit | |
--help |
-h |
Show help and exit |
Color output is also suppressed when the NO_COLOR environment variable is set or when output is redirected.
Validate an APG v1 package:
apgcheck -a ./astrum-1.3.2-x86_64.apgValidate an APG v2 package:
apgcheck -A 2 -a ./my-package-1.0.0.apgGet machine-readable output:
apgcheck -j -a ./package.apgAn APG file is a .tar.xz archive with the following layout:
v1:
data/ package files
md5sums MD5 checksums for files in data/
metadata.json package metadata
v2 adds:
crc32sums CRC32 checksums for files in data/
Required metadata.json fields for v1: name, version, description, maintainer, homepage, dependencies, conflicts, provides, replaces.
v2 additionally requires: type, tags, conf.
Licrnsed under GNU GPLv3.0