?TableOfContents(2)

General info

Description: .deb package installation, upgrading, and removal testing tool
 piuparts tests that .deb packages (as used by Debian) handle
 installation, upgrading, and removal correctly. It does this by
 creating a minimal Debian installation in a chroot, and installing,
 upgrading, and removing packages in that environment, and comparing the
 state of the directory tree before and after. piuparts reports any
 files that have been added, removed, or modified during this process.
 . 
 piuparts is meant as a quality assurance tool for people who create .deb
 packages to test them before they upload them to the Debian package archive.

piuparts runs on piuparts.cs.helsinki.fi aka piatti.debian.org and just like lintian should be run on every developer machine before uploading :)

piuparts logs (currently outdated) are available at [http://piatti.debian.org http://piatti.debian.org]

#debian-qa is the irc-channel to coordinate work on irc, piuparts-devel is the project name on alioth.

Machine info

How to run piuparts on piatti

the piuparts stuff is partly in the piupartsm account (master end, including debmirroring), and partly in the piuartss account (the slave, which actually runs piuparts)

run piuparts-slave.py as piupartss and watch it run via screen. the slave starts the master when it needs it, you don't need to start it manually

also read http://liw.iki.fi/liw/debian/piuparts-logfile-processing-howto

If you want to help, please don't bother liw, h01ger has access too and you should bother him.

... to be continued! ...

Troubleshouting / maintainance

Sometimes the chroot tarballs in /home/piupartss/ need to be removed, currently there are sid.tar.gz and sarge.tar.gz

see /etc/piuparts/piuparts-slave.conf

Developing piuparts

Todo

done:

Piuparts and PTS integration suggestion

In order for the PTS to be able to display piuparts testing status for a package, and link to its log file, Piuparts could generate a set of static files that will be visible via http:

%s = source package name
%v = source package version
%p = piuparts version

/source/%s -> index page
/source/%s/%v -> a particular log
/source/%s/latest -> log for latest version
/source/%s/piuparts-%p/%v -> a particular log from a version of piuparts

similar for /binary-$ARCH/

/%s -> /source/%s

For PTS integration: one file with results for all source packages:
/results-per-source.txt
    %s pass $MATCHINGLOG
    %s fail $MATCHINGLOG

For Ubuntu development weather report (similar to PTS): a file with the following:
    Pass: %d
    Fail: %d

(See https://blueprints.launchpad.net/ubuntu/+spec/developer-weather-report for the Ubuntu developer weather report.)

Documentation

split this wiki page into subpages, so that the piuparts documentation can be mainained in the wiki, by exporting as docbook.

suggested structure: