changestool1
Verify, dump, modify, create or fix debian .changes files
Usage
changestool --help
changestool [options]
.changes-filename
command
[per-command-arguments]
Overview
changestool is a little program to operate on Debian .changes files, as they are produced by dpkg-genchanges(1) and used to feed built Debian packages into Debian repository managers like reprepro(1) or dak.
Examples
changestool bloat.changes setdistribution local
will modify the Distribution: header inside bloat.changes to say local instead of what was there before.
changestool reprepro_1.2.0-1.local_sparc.changes includeallsources
will modify the given file to also list .orig.tar.gz it does not list because you forgot to build it with dpkg-buildpackage -sa.
changestool blafasel_1.0_abacus.changes updatechecksums
will update the md5sums to those of the files referenced by this file. (So one can do quick'n'dirty corrections to them before uploading to your private package repository)
changestool --create test.changes add bla_1-1.dsc bla_1-1_abacus.deb
will add the specified files (format detected by filename, use adddeb or adddsc if you know it). If the file test.changes does not exist yet, a minimal one will be generated. Though that might be too minimal for most direct uses.
Options
Options can be specified before the command. Each affects a different subset of commands and is ignored by other commands.
-
-h --help -
Displays a short list of options and commands with description.
-
-o --outputdir dir -
Not yet implemented.
-
-s --searchpath path -
A colon-separated list of directories to search for files if they are not found in the directory of the .changes file.
-
--create -
Flag for the commands starting with
addto create the.changesfile if it does not yet exists.
-
--create-with-all-fields -
Flag for the commands starting with
addto create the.changesfile if it does not yet exists. Unlike--create, this creates more fields to make things like dupload happier. Currently that creates fakeUrgencyandChangesfields.
Commands
verify-
Check for inconsistencies in the specified
.changesfile and the files referenced by it.
updatechecksums[filename]-
Update the checksum (md5sum and size) information within the specified
.changesfile and all.dscfiles referenced by it. Without arguments, all files will be updated. To only update specific files, give their filename (without path) as arguments.
setdistribution[distributions]-
Change the
Distribution:header to list the remaining arguments.
includeallsources[filename]-
List all files referenced by
.dscfiles mentioned in the.changesfile in said file. Without arguments, all missing files will be included. To only include specific files, give their filename (without path) as arguments.Take a look at the description of
-si,-saand-sdin the manpage ofdpkg-genchanges/dpkg-buildpackagehow to avoid to have to do this at all.Note that while
repreprowill just ignore files listed in a.changesfile when it already has the file with the same size and md5sum,dakmight choke in that case.
- adddeb filenames
-
Add the
.deband.udebfiles specified by their filenames to the.changesfile. Filenames without a slash will be searched in the current directory, the directory the changes file resides in and in the directories specified by the--searchpath.
- adddsc filenames
-
Add the
.dscfiles specified by their filenames to the.changesfile. Filenames without a slash will be searched in the current directory, in the directory the changes file resides in and in the directories specified by the--searchpath.
- addrawfile filenames
-
Add the files specified by their filenames to the
.changesfile. Filenames without a slash will be searched in the current directory, in the directory the changes file resides in and in the directories specified by the--searchpath.
- add filenames
-
Behave like
adddscfor filenames ending in.dsc, likeadddebfor filenames ending in.debor.udeb, and likeaddrawfilefor all other filenames
- dumbremove filenames
-
Remove the specified files from the .changes file. No other fields (Architectures, Binaries, ...) are updated and no related files is removed. Just the given files (which must be specified without any
/) are no longer listen in the .changes file (and only no longer in the changes file).
Releases
11 releases since Debian 4.0 (Etch); the text changed 5 times.
--create since Debian 5.0 (Lenny);
--create-with-all-fields since Debian 6.0 (Squeeze).
--bunzip2 until Debian 13 (Trixie);
--lunzip until Debian 13 (Trixie);
--unlzma until Debian 13 (Trixie);
--unxz until Debian 13 (Trixie).