dcmd man page

dcmd — expand file lists of .dsc/.changes files in the command line


dcmd [options] [command] [changes-file|dsc-file] ...


dcmd replaces any reference to a .dsc or .changes file in the command line with the list of files in its 'Files' section, plus the file itself.  It allows easy manipulation of all the files involved in an upload (for .changes files) or a source package (for .dsc files).

If command is omitted (that is the first argument is an existing .dsc or .changes file), the expanded list of files is printed to stdout, one file by line. Useful for usage in backticks.


There are a number of options which may be used in order to select only a subset of the files listed in the .dsc or .changes file. If a requested file is not found, an error message will be printed.


Select the .dsc file.


Select .changes files for the 'source' architecture.


Select .changes files for binary architectures.


Select .changes files. Implies --schanges and --bchanges.


Select architecture-dependent binary packages (.deb files).


Select architecture-independent binary packages (.deb files).


Select binary packages (.deb files). Implies --archdeb and --indepdeb.


Select architecture-dependent .udeb binary packages.


Select architecture-independent .udeb binary packages.


Select .udeb binary packages. Implies --archudeb and --indepudeb.


Select the upstream .tar file.


Select the Debian .debian.tar or .diff file.

Each option may be prefixed by --no to indicate that all files not matching the specification should be selected.

It is not possible to combine positive filtering options (e.g. --dsc) and negative filtering options (e.g. --no-changes) in the same dcmd invocation.

--no-fail-on-missing, -r

If any of the requested files were not found, do not output an error.

--package, -p

Output package name part only.

--sort, -s

Sort output alphabetically.

--tac, -t

Reverse output order.


Copy the result of a build to another machine:

$ dcmd scp rcs_5.7-23_amd64.changes elegiac:/tmp
rcs_5.7-23.dsc                  100%  490     0.5KB/s   00:00
rcs_5.7-23.diff.gz              100%   12KB  11.7KB/s   00:00
rcs_5.7-23_amd64.deb            100%  363KB 362.7KB/s   00:00
rcs_5.7-23_amd64.changes        100% 1095     1.1KB/s   00:00

$ dcmd --diff --deb scp rcs_5.7-23_amd64.changes elegiac:/tmp
rcs_5.7-23.diff.gz              100%   12KB  11.7KB/s   00:00
rcs_5.7-23_amd64.deb            100%  363KB 362.7KB/s   00:00

Check the contents of a source package:

$ dcmd md5sum rcs_5.7-23.dsc
8fd09ea9654cda128f8d5c337d3b8de7  rcs_5.7.orig.tar.gz
f0ceeae96603e823eacba6721a30b5c7  rcs_5.7-23.diff.gz
5241db1e231b1f43ae5514b63d2523f8  rcs_5.7-23.dsc

$ dcmd --no-diff md5sum rcs_5.7-23.dsc
8fd09ea9654cda128f8d5c337d3b8de7  rcs_5.7.orig.tar.gz
5241db1e231b1f43ae5514b63d2523f8  rcs_5.7-23.dsc

See Also

dpkg-genchanges(1), dpkg-source(1)


This program was written by Romain Francoise <rfrancoise@debian.org> and is released under the GPL, version 2 or later.

Referenced By


Debian Utilities DEBIAN