DH_APPSTREAM(1)
π DH_APPSTREAM π
okay bestie, gather round, because we're talking about dh_appstream β the debhelper girlie that generates and installs AppStream metainfo XML for you. no cap. β¨
β¨ SYNOPSIS β¨
dh_appstream [debhelper options]
πΈ DESCRIPTION πΈ
So dh_appstream is a debhelper program, and what she does is generate AppStream metainfo XML files straight from your Debian binary package info, then install them right into the package build directory. cute, functional, iconic. π
Right now she's serving exactly one genre of metainfo: font packages, aka <component type="font">. that's her whole thing at the moment, and she ate. π₯
She hooks herself into the debhelper sequence right after dh_install, which is the moment that matters, because that's when she can go discover the font files that already got installed into the package build directory. timing is everything, periodt. β°
Here's her little routine: she reads metadata from debian/control and debian/copyright, she finds your font files using fc-query, and then she generates the metainfo XML from a built-in template. very self-sufficient of her. π
π Important override energy: if the file debian/package.appstream.xml already exists, she uses it as-is (that's the manual override) and does no auto-generation at all. she knows when to sit down and let you cook.
And when a license gets obtained? license-detector steps in to convert the license text into an SPDX expression. slay. π¦
π FILES π
debian/package.appstream.xmlβ the manual override file. if it exists, it gets installed as-is and no auto-generation happens. your file, your rules. πdebian/controlβ the Source stanza'sHomepagefield and the binary package stanza'sDescriptionfield are what get used to populate the metainfo XML. that's the source material, literally. πdebian/copyrightβ if it's in machine-readable (DEP-5) format, the license gets extracted from the header stanza'sLicensefield, or from theFiles: *stanza. and if the license just cannot be determined fromdebian/copyright? she pulls it from the font file's embedded metadata instead. either way it then gets converted into an SPDX expression withlicense-detector. resourceful queen. π
β¨ OPTIONS β¨
-a,--arch-archβ act only on architecture-dependent packages.-i,--indepβ act only on architecture-independent packages.-ppackage,--package=packageβ act only on the specified package.-Npackage,--no-package=packageβ do not act on the specified package.-s,--same-archβ act only on packages that match the build architecture. matchy matchy. π«Ά--no-actβ do not really do anything; just print what would be done. a dress rehearsal, no commitment. π
π SEE ALSO π
and that's the whole page bestie, you understood it, I'm so proud. πβ¨
dh-appstream version 0.2, dated 2026-09-15 β that's the vibe, that's the version, mwah. ππ
π¦ where this page comes from
- ubuntu stonking: dh-appstream 0.2 Β· CC0-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms