DH_APPSTREAM(1)

πŸ“¦ version 0.2, in ubuntu stonking

πŸ’– 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's Homepage field and the binary package stanza's Description field 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's License field, or from the Files: * stanza. and if the license just cannot be determined from debian/copyright? she pulls it from the font file's embedded metadata instead. either way it then gets converted into an SPDX expression with license-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