It can be operated manually using the --split, --join and --info options.
It also has an automatic mode, invoked using the --auto option, where it maintains a queue of parts seen but not yet reassembled and reassembles a package file when it has seen all of its parts. The --listq and --discard options allow the management of the queue.
All splitting, joining and queueing operations produce informative messages on standard output; these may safely be ignored.
The parts are named prefix.NofM.deb where N is the part number, starting at 1, and M is the total number of parts (both in decimal).
If no prefix is supplied then the complete-archive filename is taken, including directory, with any trailing .deb removed.
The part files given as arguments must be all the parts of exactly the same original binary file. Each part must occur exactly once in the argument list, though the parts to not need to be listed in order.
The parts must of course all have been generated with the same part size specified at split time, which means that they must usually have been generated by the same invocation of dpkg-split --split.
The parts' filenames are not significant for the reassembly process.
By default the output file is called package-version.deb.
The part specified is examined, and compared with other parts of the same package (if any) in the queue of packages file parts.
If all parts of the package file of which part is a part are available then the package is reassembled and written to complete-output (which should not usually already exist, though this is not an error).
If not then the part is copied into the queue and complete-output is not created.
If part is not a split binary package part then dpkg-split will exit with status 1; if some other trouble occurs then it will exit with status 2.
The --output or -o option must be supplied when using --auto. (If this were not mandatory the calling program would not know what output file to expect.)
For each package file of which parts are in the queue the output gives the name of the package, the parts in the queue, and the total number of bytes stored in the queue.
If no package is specified then the queue is cleared completely; if any are specified then only parts of the relevant package(s) are deleted.
This overrides the default for a manual reassembly (--join) and is mandatory for an automatic queue-or-reassemble (--auto).
This mangles the prefix - either the default derived from the input filename or the one supplied as an argument: alphanumerics are lowercased, plus signs are replaced by x's and all other characters are discarded.
The result is then truncated as much as is necessary, and filenames of the form prefixNofM.deb are generated.
An exit status of 1 occurs only with --auto and indicates that the part file was not a binary package part.
An exit status of 2 indicates some kind of trouble, such as a system call failure, a file that looked like a package part file but was corrupted, a usage error or some other problem.
Full details of the packages in the queue are impossible to get without digging into the queue directory yourself.
There is no easy way to test whether a file that may be a binary package part is one.
The architecture is not represented in the part files' header, only in the control information of the contained binary package file, and it is not present in the filenames generated.
The filenames used in this directory are in a format internal to dpkg-split and are unlikely to be useful to other programs, and in any case the filename format should not be relied upon.
This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is NO WARRANTY.