== Introduction == ==== Outline ==== * Introduction * What piuparts(.d.o) is about * Development status * How to help * Your input ==== Who am I ==== * a Debian user since 1995 * a Debian volunteer since 2001 ** a DebConf volunteer ** Debian Edu ** piuparts ** some other packages ==== Who are you? ==== *<1-3> How many of you have had bugs filed against their packages based on piuparts? *<2-3> How many of you have received false positives? *<3> How many of you have filed bugs against piuparts? == What piuparts is about == ==== Debian is defined by the Debian Policy Manual ==== '''Abstract''' This manual describes the policy requirements for the Debian distribution. This includes the structure and contents of the Debian archive and several design issues of the operating system, as well as technical requirements that each package must satisfy to be included in the distribution. ==== Piuparts, explained in two seconds ==== * <1-2> '''Debian Policy''' ** <1-2> `piuparts` makes sure packages behave in respect to '''Debian Policy''' ** <2> `lintian` also makes sure packages behave in respect to '''Debian Policy''' (but it "just" looks at the sources) ==== Piuparts, explained in a minute ==== *<1-5> in short: piuparts detects policy violations in packages *<1-5> `piuparts` is short for "'''p'''ackage '''i'''nstallation, '''up'''grading '''a'''nd '''r'''emoval '''t'''esting '''s'''uite" *<2-5> ...so it detects ''quite some'' policy violations in packages: **<3-5> packages which don't clean up after removal **<4-5> packages which behave badly on upgrades **<5> packages which behave badly at installation ==== Two very short HOWTOs ==== *<1-2> sudo piuparts ''some.deb'' *<2> sudo piuparts ''some.changes'' ==== How to use piuparts the even lazier way ==== * upload your package * wait for piuparts.debian.org to test it: ==== piuparts.debian.org ==== * <1-4> tests all packages in `main` for `sid`, `testing2sid`, `wheezy`, `squeeze2wheezy` and `squeeze` ** <2-4> up in its current form since 3.5 years, tests for `lenny2squeeze` are disabled ** <2-4> 5 * 30000 packages tested = 150000 (binary) packages tested * <3-4> 27944 successfully tested packages in squeeze, 93 failures, 62 other * <3-4> 35311 successfully tested packages in wheezy, 56 failures, 53 other * <3-4> 34851 successfully tested packages in sid, 398 failures, 1329 other * <3-4> in average 2-3 buggy packages found per day... * <4> ''usually'' people fix '''filed''' bugs rather fast... == Development status == ==== News since Squeeze ==== * master/slave support (piuparts-master is in Wheezy) * support for \url{http://packages.qa.debian.org/adequate} in Jessie and wheezy-backports ==== Team ==== * originally written by Lars Wirzenius * now: Andreas, h01ger and Dave Steel * since 2010: 8 commiters in total * tomorrow: you! ==== Team ==== * originally written by Lars Wirzenius * now: Andreas, h01ger and Dave Steel * since 2010: 9 commiters in total * tomorrow: you! ==== Piuparts basics ==== * written in Python * maintained in Git * always looking for more contributors == How to help == ==== Two-minutes guide for new contributors ==== *<1-4> git clone git://anonscm.debian.org/piuparts/piuparts.git *<2-4> git checkout -b feature/unicorn origin/develop *<3-4> make your changes *<4> submit your feature branch or Git patchset on bugs.debian.org ==== Git branches ==== * `master` for releases * `develop` for daily development * `bikeshed`: in production on p.d.o, generally same as `develop` ==== Help test piuparts itself ==== *<1-3> `unittests.py` was last really edited before 2007 *<2-3> test an archive with known good and known wrong packages, see how piuparts behaves *<3> you can make the difference ==== Roadmap ==== See ./TODO in Git. ==== Random improvements you care about (and I don't) ==== Patches you need to write if you want it (and sometimes, first convince us it's a good idea): * extra tests for initscripts (\#558819) * cowbuilder support * LVM support * make piuparts run without root privs (\#708663) ==== Need to discuss first? ==== or \#debian-qa on irc.debian.org == Your input == ==== Let's get organized ==== We've seen what piuparts can do already. ''And now?'' Let's discuss and coordinate the Debian developers community with the efforts put into piuparts. ==== What are the needs? ==== * Run piuparts on the whole archive, not only amd64 * Raise some errors priority (broken symlinks, to start with) * Add your needs here * The long road to fully automated bug filing ** ... to keep this QA effort alive and kicking ** ... to make it possible to add more and more tests without increasing workload too much * More, see the roadmap! ==== Talk to us! ==== Send your ideas to . * \url{http://piuparts.debian.org/} * \url{https://wiki.debian.org/piuparts} ==== Questions / Thank you ==== * <1-3> Thank you for your time and for being (or becoming) a good citizen of the free software world! * <2-3> Any questions? * <3> Just ask me directly anytime! :-) ==== Copyright ==== Copyright 2013 Holger Levsen \\ Licenced under Creative Commons CC-BY-SA 3.0 \url{http://creativecommons.org/licenses/by-sa/3.0/deed} Thanks to intrigeri! ==== Obey! ==== \begin{center} Policy is your friend. \\ Trust the Policy. \\ Love the Policy. \\ Obey the Policy. \\ \end{center}