MODULEMD-VALIDATOR(1)

πŸ“¦
version 2.15.3 Β· 3 versions
  • 2.15.3 Β· arch rolling, centos-stream 10, debian bookworm, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 2.13.0 Β· centos-stream 9
  • 2.13.0 Β· ubuntu jammy
, in arch rolling, centos-stream 10, debian bookworm, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– MODULEMD-VALIDATOR πŸ’–

okay bestie, gather round, because this is the modulemd-validator situation and honestly? it's giving "tiny tool, huge responsibility". it lives in the libmodulemd universe and its whole job is checking that your modulemd documents are valid. that's it. that's the gig. πŸ‘‘


✨ NAME ✨

modulemd-validator β€” validate modulemd documents. yes. that's the whole thing. it validates. it's the validator. iconic behavior fr fr. πŸŽ€


🌸 SYNOPSIS 🌸

modulemd-validator [--quiet|--verbose|--debug] FILE...
modulemd-validator [--quiet|--verbose|--debug] --type=TYPE FILE
modulemd-validator {--version|--help}

three whole modes, bestie. pick your fighter. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so this tool validates modulemd documents β€” the ones you hand it as positional arguments β€” using a libmodulemd parser. that's the engine under the hood, we're just the vibe check on top. ✨

here's the tea though: if you don't pass a --type option, then every document type that can show up in a YUM repository gets recognized. and in that case, each FILE can contain multiple modulemd documents. so you can just yeet a whole pile of docs at it and it'll sort itself out. 🫢

but if you do pass --type? now we're in strict mode, bestie. then exactly one FILE containing exactly one modulemd document must be provided, and that document gets validated against the given TYPE. no extras. no plus-ones. it's a solo date. 😭


πŸ’– OPTIONS πŸ’–

  • --type=TYPE β€” constrain a document type. this is the "be specific or be quiet" flag. the recognized types are:
    • modulemd-v1 β€” an obsolete format used for building and installing modules. it's giving vintage. it's giving no-longer-the-move. πŸ•°οΈ
    • modulemd-v2 β€” a deprecated format for building modules, and a contemporary format for built modules β€” the kind that can be placed into a YUM repository and installed by a package manager. so it's half retired, half thriving. duality. πŸ¦‹
    • modulemd-defaults-v1 β€” a format for defining default streams and default profiles of a module. found in YUM repositories. the "here's what you get if you don't pick" format. πŸŽ€
    • modulemd-obsoletes-v1 β€” a format for defining streams which reach, or will reach, their end of life. it can also recommend a new stream that obsoleted the old one. it's the "this is over, here's your rebound" format. πŸ’€βž‘οΈπŸ’– found in YUM repositories.
    • modulemd-packager-v2 β€” an obsolete format for building modules. respectfully, it had its era. πŸ•°οΈ
    • modulemd-packager-v3 β€” a contemporary format for building modules. current. relevant. main character energy. πŸ‘‘
    • modulemd-translations-v1 β€” a contemporary format for delivering localized human-oriented texts (e.g. a description or a summary) associated with a module. found in YUM repositories. it's the multilingual queen. 🌈
okay so heads up: only single-document files are supported here. and for compatibility, if this option isn't provided, then any document type loadable into a modulemd index (i.e. those intended for YUM repositories) is acceptable. so like, no --type = anything goes, basically. πŸ™ˆ
  • --debug β€” output debugging messages. for when you need to see everything going on in there. πŸ”
  • -q, --quiet β€” print no output. silent. mysterious. unbothered. ✨
  • -v, --verbose β€” be verbose. the opposite of the above. it will talk. a lot. πŸ—£οΈ
  • -h, --help β€” print a usage text and then exit. your little cheat sheet. πŸŽ€
  • -V, --version β€” print a version number and then exit. who are you? which version? find out. πŸ’…

⭐ EXIT CODE ⭐

if the supplied documents are valid (and satisfy the --type constrain), a zero exit code will be returned. yay! πŸŽ‰

otherwise, a non-zero code will be emitted. sad! 😭

that's it. that's the whole pass/fail situation. periodt.


🌸 REPORTING BUGS 🌸

bugs and feature requests can be reported at the libmodulemd home page. don't suffer in silence bestie, tell the maintainers, they literally want to know. 🫢


πŸ”₯ SEE ALSO πŸ”₯

the specification of the modulemd documents is available in a yaml_spec directory at the libmodulemd home page. go read the specs, they're right there, iykyk. πŸ“šβœ¨


and that's the whole page, bestie!! πŸ’– this one's brought to you by libmodulemd β€” go validate something and have the best day, mwah πŸŽ€πŸ’…πŸ¦‹