Troubleshooting and development

Reporting bugs

To report bugs, it would be important to have a log of what’s going wrong. Most of the time, adding a --debug option and re-running the session should do the trick. Please send the log of such session along with your problem to ease the debugging process.

Mailing list

There is a mailing list for pbuilder on alioth (pbuilder-maint@lists.alioth.debian.org). You can subscribe through the alioth web interface.

IRC Channel

For coordination and communication, IRC channel #pbuilder on irc.oftc.net is used. Please log your intent there when you are going to start doing some changes and committing some change.

Information for pbuilder developers

This section tries to document current development practices and how things generally operate in development.

pbuilder is co-maintained with resources provided by Alioth. There is an Alioth project page at http://alioth.debian.org/projects/pbuilder. Home page is also available, at http://pbuilder.alioth.debian.org/ which shows this text. git repository is available through http, git, or, if you have an account on alioth, ssh.

git-clone git://git.debian.org/git/pbuilder/pbuilder.git
git-clone http://git.debian.org/git/pbuilder/pbuilder.git
git-clone ssh://git.debian.org/git/pbuilder/pbuilder.git

Git commit message should have the first one line describing what the commit does, formatted in the way debian/changelog is formatted because it is copied verbatim to changelog via git-dch. The second line is empty, and the rest should describe the background and extra information related to implementation of the commit.

Test-suites are available in ./testsuite/ directory. Changes are expected not to break the test-suites. ./run-test.sh is a basic test-suite, which puts a summary in run-test.log, and run-test-cdebootstrap.log. ./run-test-regression.sh is a regression test-suite, which puts the result in run-test-regression.log. Currently, run-test.sh is ran automatically daily to ensure that pbuilder is working.

Directory Meaning
./testsuite/ Directory for testsuite
./testsuite/run-test.sh Daily regression test to test against Debian Archive changes breaking pbuilder.
./testsuite/run-test.log A summary of testsuite
./testsuite/normal/ Directory for testsuite results of running pbuilder with debootstrap
./testsuite/cdebootstrap/ Directory for testsuite results of running pbuilder with cdebootstrap
./testsuite/run-regression.sh Regression testsuite, ran every time change is made to pbuilder to make sure there is no regression.
./testsuite/run-regression.log Summary of test result
./testsuite/regression/BugID-*.sh Regression tests, exit 0 for success, exit 1 for failure
./testsuite/regression/BugID-* Files used for the regression testsuite.
./testsuite/regression/log/BugID-* .sh.log Output of the regression test, output from the script is redirected by run-regression.sh

Table: Directory structure of the testsuite

When making changes, changes should be documented in the Git commit log. git-dch will generate debian/changelog from the commit log. Make the first line of your commit log meaningful, and add any bug-closing information available. debian/changelog should not be edited directly unless when releasing a new version.

A TODO file is available in debian/TODO. It’s mostly not well-maintained, but hopefully it will be more up-to-date when people start using it. emacs todoo-mode is used in editing the file.

When releasing a new version of pbuilder, the version is tagged with the git tag X.XXX (version number). This is done with ./git-tag.sh script available in the source tree.