install-sgmlcatalog
Install and manage SGML catalog files
SYNOPSIS
install-sgmlcatalog [OPTION]... CATALOG-FILE [INSTALL-DIR]
PARAMETERS
--add
Add a CATALOG entry for CATALOG-FILE to /etc/sgml/catalog
--remove
Remove the entry for CATALOG-FILE from /etc/sgml/catalog
--install
Install CATALOG-FILE to standard location (default action)
--root DIR
Use DIR as filesystem root (for chroot/build environments)
-h, --help
Display usage summary and exit
-V, --version
Print version information and exit
DESCRIPTION
install-sgmlcatalog manages the installation, addition, and removal of SGML catalog files into the global system catalog, typically /etc/sgml/catalog.
SGML catalogs map public identifiers (unique names for document types) to system identifiers (file paths for DTDs, entities, etc.), enabling tools like nsgmls, jade, or onsgmls to process SGML documents without hardcoded paths.
The command is primarily used in package post-install scripts (e.g., Debian/Ubuntu) to register catalogs during software installation. By default, it installs the catalog file to a standard location under /usr/share/sgml/ and optionally adds a CATALOG entry to the main catalog file. The --add option appends an entry like CATALOG "/path/to/catalog", while --remove deletes it. After modifications, it invokes update-catalog to rebuild delegate catalogs.
This ensures consistent entity resolution across the system, crucial for DocBook, LinuxDoc, and other SGML-based documentation tools.
CAVEATS
Requires root privileges to modify system catalogs.
Backup /etc/sgml/catalog before manual use.
Not for XML (use xmlcatalog instead).
FILES
Modifies /etc/sgml/catalog and /etc/sgml/sgml-delegate.cat.
Installs catalogs under /usr/share/sgml/.
EXAMPLES
install-sgmlcatalog --add /usr/share/sgml/docbook/4.5/catalog
install-sgmlcatalog --remove /usr/share/sgml/docbook/4.5/catalog
install-sgmlcatalog /path/to/mycatalog /usr/share/sgml/mypkg/
HISTORY
Developed for Debian's sgml-base package in the late 1990s to standardize SGML catalog management amid growing DocBook usage in Linux documentation.
SEE ALSO
update-catalog(8), sgmlcatalog(5), catalog(5), xmlcatalog(1)


