dctrl2xml(1) Debian control data to XML converter


dctrl2xml [-x | -j] [-f FILE]


dctrl2xml is a tool that converts Debian control data into an XML representation. It can be used to convert data which is normally found in debian/control, .changes, .dsc, Packages, Sources, and similar files to XML.

For most fields dctrl2xml just uses the field name as element name and the field data as element content. For other fields, such as package interrelationship fields (Depends, Build-Depends, etc.) or the Files field in .changes or Sources files, dctrl2xml additionally parses their field data to represent it in a more fine-structured form.


For a full summary of options, run dctrl2xml --help.
Show dctrl2xml's version number.
-h, --help
Show help about options.
-f FILE, --file=FILE
Read Debian control data from file FILE instead of standard input. FILE can be either a plain text file or a gzip, bzip2 or ZIP file.
-x, --xml
Output Debian control data as XML (default).
-j, --json
Output Debian control data as JSON.


dctrl2xml -f /var/lib/dpkg/available
Convert the whole dpkg(1) available file to XML and print it to standard output. This is a typical stress test for dctrl2xml.
apt-cache show hello build-essential | dctrl2xml
Convert the package records of the hello and build-essential packages to XML and print it to standard output. This is an example of how dctrl2xml can be used in pipes where it reads the control data from standard input.
apt-cache showsrc hello | dctrl2xml | xmllint --format -
This is similar to the above example, except that the xmllint(1) tool (which is in the libxml2-utils Debian package) is used to reformat and reindent dctrl2xml's output to make it more human readable and that the source package records of the hello package are used.
apt-cache showsrc hello | dctrl2xml -j
In this example hello's source package record is printed as JSON instead of XML.


Written by Frank S. Thomas <[email protected]>.