DH_INSTALLCATALOGS(1)

πŸ’– dh_installcatalogs β€” install and register SGML Catalogs πŸ’–

okay bestie, gather round, because this little debhelper program is the one that handles your SGML catalogs and honestly? it's giving ✨infrastructure✨


🌸 SYNOPSIS 🌸

dh_installcatalogs [debhelper options] [-n]

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, dh_installcatalogs is a debhelper program, and what it does is install and register SGML catalogs. that's the whole vibe. it plays nice with the Debian XML/SGML policy β€” fully compliant, no notes, we love a well-behaved tool πŸ’…

your catalogs get registered in a supercatalog, and that supercatalog lives at /etc/sgml/package.cat. yes, the supercatalog. very main character energy fr fr.

this command also automatically adds maintainer script snippets for registering and unregistering the catalogs and supercatalogs β€” unless you pass -n, in which case it minds its own business πŸ™ˆ. those snippets get inserted into the maintainer scripts and the triggers file by dh_installdeb; peep dh_installdeb(1) if you want the full explanation of how Debhelper maintainer script snippets work, iykyk.

also important: a dependency on sgml-base gets added to ${misc:Depends}, so bestie, please, please make sure your package actually uses that variable in debian/control. otherwise that dependency is just out there floating in the void 😭


πŸŽ€ FILES πŸŽ€

debian/package.sgmlcatalogs

this file lists the catalogs to be installed per package. each line in it should be in the form "source dest" where:

  • source β€” where the catalog lives in the source tree 🏠
  • dest β€” the destination location for the catalog under the package build area

and dest? she should start with /usr/share/sgml/. like, that's the address, no negotiating 🫢

substitution variables are supported in compat 13 and later, as documented over in debhelper(7). slay.


✨ OPTIONS ✨

  • -n, --no-scripts β€” do not modify postinst/postrm/prerm scripts, and do not add an activation trigger. hand off, no touchy πŸ™…β€β™€οΈ

πŸ’€ NOTES πŸ’€

heads up bestie, this command is not idempotent. 😭

you need to call dh_prep(1) between invocations of this command. otherwise? it may cause multiple instances of the same text to be added to maintainer scripts. and then your maintainer scripts are just... repeating themselves. a whole echo chamber. not the vibe.


🌈 SEE ALSO 🌈


πŸ‘‘ AUTHOR πŸ‘‘

Adam Di Carlo <aph@debian.org>


okay that's the whole page, no cap. this one ships as version 14.5ubuntu1, dated 2026-09-21, brought to you by the fine folks behind DH_INSTALLCATALOGS(1) β€” go forth and register those catalogs, you absolute icon πŸ§šπŸ’–

πŸ“¦ where this page comes from