NAME
yaclc - check the bug closings in a Debian changelog
SYNOPSIS
yaclc [-i /path/to/index.db] [-dhvnelp] changes-file
ARGUMENTS
-i file
Use file as an index, greatly reducing load on the BTS, and greatly
increasing the speed of processing. yaclc tries using this file
before it tries any other method of getting info about the bug. If
you are on an official Debian machine (something.debian.org), a
useful argument might be ’-i
/org/bugs.debian.org/spool/index.archive’ or .../index.db.
-d Print debugging output. Implies -v.
-h Print a usage message.
-v Be verbose.
-n No HTTP queries. To disable LDAP queries simply don’t specify the
-l option. Useful if you are not connected to the ’net but do have
a local index.db file.
-e Only print output on errors (when no bug by that id can be found,
or when the bug does not belong to the same package as the
changelog.)
-l Use LDAP to query the BTS before trying HTTP.
-p Before the list of bugs, print a space-separated list of binary and
source packages that changes-file describes. Note that bugs that
belong to the pseudo-package wnpp are treated as belonging to the
correct package, but "wnpp" is not printed here.
changes-file
A .changes file, or a changelog in Debian format. A .changes file
works better for multi-binary packages. To read from STDIN, this
option may be omitted or be ‘-’.
OUTPUT
Outputs lines of the following form:
bug-number package bit
where bug-number is a bug number, as used in the BTS, package is the
package to which the bug belongs, or ‘[unknown-package]’ if the bug
does not have a package. bit is 1 if package is one of the packages
which the changes file describes or is wnpp, or 0 otherwise. If yaclc
cannot look up the bug because it cannot access a server, bit will be
set to 1 because it should only be 0 if the bug definitely belongs to a
different package. If, however, there is a Bug Tracking System Error,
bit will be 0 because the Error is usually that the bug doesn’t exist.
The Author thinks that this is the Right Thing, but is probably
persuadable if you care enough to talk to him.
To parse this output, you might use something like this:
@lines = <YACLC>;
foreach (@lines) {
m/^(\d+) (\S+) (0│1)$/;
my ($bugid, $package, $is_proper) = ($1, $2, $3);
# do processing here...
}
EXIT CODE
yaclc returns 1 if any bugs were found that belong to the wrong package
or don’t seem to exist, and 0 otherwise. This is to facilitate use in
scripts, something like this:
yaclc -e ../foobar.changes ││ echo "Look at your changelog once more!"
which will print all the bad bugs, and "Look at your changelog..." if
there are any bad ones.
BUGS
Bugs should be reported using the Debian bug-tracking system, available
at http://bugs.debian.org/.
SEE ALSO
dpkg-parsechangelog
AUTHOR AND COPYRIGHT
This program is Copyright 2001 by Thomas Smith <chihuahua@tmbg.org>.
It is free software. You may distribute it under the terms of the GNU
Lesser GPL, any version.