A config file consists of any number of stanzas, separated with at least one empty lines. A stanza has the following format:
Package: package
Accept-Origin: origin1
Track-Origin: origin2
Track-Version: version
All these lines in a stanza are required, and they have the following meaning:
The above stanza would cause package to be skipped from program output, as long as its candidate version comes from origin1, and at the same time its newest version available from origin2 equals version.
If there is more than one stanza for a given package, then it is omitted from the program output if at least one of them matches the current situation.
Package: package
Accept-Origin: *
Track-Origin: distributor
Track-Version: =candidate
Package: package
Accept-Origin: *
Track-Origin: distributor
Track-Version: =candidate-base
where distributor is the system distributor's identifier, as returned by lsb_release --id or by the DISTRIB_ID field in the /etc/lsb-release file.
puppet-softwarelab (0.2) [SoftwareLab: 0.2 0.1]
The following stanza makes it skip such packages:
Package: puppet-softwarelab
Accept-Origin: SoftwareLab
Track-Origin: *
Track-Version: =candidate
If the puppet-softwarelab package will be "pinned" to "release o=Softwarelab", then such configuration will make apt-forktracer report if puppet-softwarelab appears in any source other than SoftwareLab in a version newer than the one available from it.
spamc (3.2.3-0.volatile1) [Debian: 3.1.7-2] [volatile.debian.org: 3.2.3-0.volatile1]
The following stanza will cause such package to be skipped:
Package: spamc
Accept-Origin: volatile.debian.org
Track-Origin: *
Track-Version: =candidate
In this situation a small official version string change (for example to 3.1.7-2etch1) will be silently ignored. Such configuration is therefore only suitable for cases where you trust the person providing the backport to carefully track changes in the stable edition and make sure they are incorporated in the backport they are distributing. In other cases, you should probably use the following configuration.
policyd-weight (0.1.14-beta-6etch2.0.sl.1) [Debian: 0.1.14-beta-6etch2] [SoftwareLab: 0.1.14-beta-6etch2.0.sl.1]
The following configuration is useful in such cases:
Package: policyd-weight
Accept-Origin: SoftwareLab
Track-Origin: Debian
Track-Version: 0.1.14-beta-6etch2
It is worth mentioning, that if you apply a certain convention when numbering the modified version, then the Default configuration described before is sufficient. In this case, if the modified version would have a version number such as 0.1.14-beta-6etch2~sl.1 then the above-mentioned stanza would be unnecessary. What is more, there would be no need to keep any configuration up-to-date in case of new stable version releases, because the default configuration is created dynamically based on the current situation.