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.