Piuparts.debian.org: systematic QA on packages Holger Levsen Debian LinuxTag 2010.

Slides:



Advertisements
Similar presentations
Purdue University Center for Education and Research in Information Assurance and Security Building a distributed intrusion detection system with Perl Diego.
Advertisements

GreenSQL Yuli Stremovsky /MSN/Gtalk:
Package Managers What are they and why we use them.
Installing Linux softwares Sirak Kaewjamnong. 2 Software packets  When Linux developers create their software they typically bundle all the executable.
Min Kwan Park Test Tech Lead Visual C# QA team. Fail fast To-Dos for fail fast Analyze issues Information for further action Q&A Agenda.
Homework Reading Programming Assignments
INTRODUCTION TO C PROGRAMMING LANGUAGE Computer Programming Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
ProCol~ A jEdit Plugin for Remote Project Collaboration Justin Dieters Spring 2004 CS470 Final Presentation.
Trilinos 101: Getting Started with Trilinos November 7, :30-9:30 a.m. Mike Heroux Jim Willenbring.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Working with Ubuntu Linux Track 2 Workshop June 2010 Pago Pago, American Samoa.
NICOS System of Nightly Builds for Distributed Development Alexander Undrus CHEP’03.
T-unit: Tcl Unit Test Package Automated Unit Test Package For Tcl Procedures Final Presentation Joseph Boyle Loyola Marymount University.
Introduction to Linux ( I ) Sidney Fong 4 th Feb 2006.
How to publish your app 1 CS440. Step 1: Remove any debug logging  Good practice: comment out any debug logging  Why? CS440 2.
WebVizOr: A Fault Detection Visualization Tool for Web Applications Goal: Illustrate and evaluate the uses of WebVizOr, a new tool to aid web application.
Python From the book “Think Python”
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring Mike Phenow.
Developing the control system for the 40m OAN radiotelescope with ACS Observatorio Astronómico Nacional P. de VicenteOctober 2005.
Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c.
Aleph Version Maintenance. Version Maintenance Requirements for Aleph Stability Control Minimum changes for user Systematic patch application.
Linux Services Configuration
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 10 – C: the heap and manual memory management.
Getting Started with Trilinos October 14, :30-10:30 a.m. Jim Willenbring.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
Copyright© ANRITSU Craig Hendricks Sr. Wireless Business Development Manager August 4 th, 2014 SmartStudio Manager (SSM) Operation (For SSM Version 1.2.0)
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
Debian Package Management
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Towards an Information System Product Team.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
We want you! for Presentation at the debian miniconf at LCA 2007 in Sydney Holger Levsen Jan 15 th 2007 aka Debian-Edu.
Michael DeHaan & Adrian Likins Red Hat. What is Func? A way to communicate with all your machines and query or control them over the network. Func uses.
Autobuilding live-CDs with debian-live Presentation at the debian miniconf at LCA 2007 in Sydney Holger Levsen Jan 15 th 2007.
Upgrade-advisor DebConf9 Caceres, Extremadura, Spain Frank lin Piat
Packaging Software for Debian Roberto C. Sánchez Ohio Linuxfest Saturday, September 29, 2007.
Trust is good control is better The road to world domination is paved by policy Holger Levsen Lars Wirzenius Debconf9.
Troubleshooting Tools
We want you! for aka Debian-Edu
The long road to in Debian “Lenny” main
Air Plugins Extending and customizing uDeploy (IBM UrbanCode Deploy)
Chapter 9 Managing Software
Chuan-kai Lin Drake Diedrich Google Inc.
Development Environment
How Fedora Does Early Adoption & Uses Free Software
CSE 374 Programming Concepts & Tools
Overview – SOE Cfengine v3.6.5
SPI external software build tool and distribution mechanism
DCR ARB Presentation Team 5: Tour Conductor.
Different Types of Testing
NCAR-Developed Tools Bill Anderson and Marc Genty
Chapter 7 Installing Program &Backup Tool
The Linux Operating System
The Debian Videoteam behind the scenes
BIND 10 Packaging & Distribution
Giving Back Contributing to Debian and the New Maintainer Process
How to be a good upstream
debian-community.org (pre-)launch
University of Texas Rio Grande Valley Systems Administration CSCI 6175
CSCE 315 – Programming Studio, Fall 2017 Tanzir Ahmed
Introduction to Ansible
Hardware Hash Quality Assurance Tool V2
Your code is not just…your code
Scratch Programming Lesson 7 Debugging.
VirgoStaging Status F.Carbognani, S. Cortese, E. Pacaud.
Your code is not just…your code
SHELLSHOCK ATTACK.
Presentation transcript:

piuparts.debian.org: systematic QA on packages Holger Levsen Debian LinuxTag 2010

piuparts.debian.org: systematic QA on packages Holger Levsen Debian LinuxTag 2010

piuparts.debian.org: systematic QA on packages Holger Levsen Debian LinuxTag 2010

Trust is good control is better The road to world domination is paved by policy Holger Levsen Debian LinuxTag 2010

Package installatio n upgrading and removal test suite

wer nutzt piuparts?

regelmäßig?

wer nutzt piuparts? regelmäßig? piuparts.debian.org ?

wer nutzt piuparts? regelmäßig? piuparts.debian.org ? found a bug?

chroot = VirtualEnvironment() try: chroot.install(package) chroot.remove(package) chroot.check() except Exception: logging.error('FAIL') else: logging.info('PASS')

sudo piuparts foo.deb

0m0.0s DEBUG: Starting command: ['dpkg', '--info', 'liwc_1.20-5_amd64.deb'] 0m0.0s DUMP: new debian package, version 2.0. size bytes: control archive= 460 bytes. 494 bytes, 13 lines control Package: liwc Version: Section: devel Priority: optional Architecture: amd64 Depends: libc6 (>= 2.5-0ubuntu1) Installed-Size: 124 Maintainer: Ubuntu MOTU Developers Original-Maintainer: Antti-Juhani Kaijanaho Description: Tools for manipulating C source code Includes programs for converting C++ comments to C comments, removing C comments, print out string literals, and converting characters to trigraphs and trigraphs to characters. 0m0.0s DEBUG: Command ok: ['dpkg', '--info', 'liwc_1.20-5_amd64.deb'] 0m0.0s DEBUG: Created temporary directory /tmp/tmpsgAEyg 0m0.0s DEBUG: Setting up minimal chroot for jaunty at /tmp/tmpsgAEyg. + tens to hundreds kB more

1m7.0s INFO: PASS: All tests.

sudo piuparts -p foo.deb

1m7.3s ERROR: Broken symlinks:

sudo piuparts -p \ --no-symlinks foo.deb

g

piatti.debian.org fast AMD64 machine donated from HP hosted at Uni HEL restricted machine access up as it is since spring 2009 piuparts master/slave setup

piatti.debian.org fast AMD64 machine donated from HP hosted at Uni HEL restricted machine access up as it is since spring 2009 piuparts master/slave setup maintained by me only :-(

mostly piuparts-report.py & some bash scripts reports via mail (to h01ger + luk) reports on the web by source by maintainer PTS integration BTS usertag FAQ – use it!

sid / squeeze / lenny2squeeze ~ piuparts tests/day (with chroot tarballs...) in sid: ~21700 successfully tested ~400 failures ~3700 failed dependencies

sid / squeeze / lenny2squeeze ~ piuparts tests/day (with chroot tarballs...) in squeeze: ~25074 successfully tested ~139 failures ~343 failed dependencies

Keeping it running is not much work. Dealing with the results and the resulting discussions is. PTS integration helps, but...

filing bugs and dealing with them is real work: Status 45 Outstanding 5 Pending Upload 228 Resolved Severity 3 Grave functionality bugs 197 Serious (policy violations or makes package unfit for release) 66 Important bugs 12 Normal bugs

ToDo file more bugs. 600 of them. aid bug reporting circular depends easy approach: whitelist alternative depends detect more errors multiarch rewrite some bash in python ease master/slave setup even more

final words:

piuparts is an extremely nitpicky S.O.B. and really, really wants to find something wrong in your package. Every time it does, liw giggles. YOU DO NO WANT LIW TO GIGGLE!

piuparts is an extremely nitpicky S.O.B. and really, really wants to find something wrong in your package. Every time it does, liw+h01ger giggle. YOU DO NO WANT LIW TO GIGGLE! YOU NEITHER WANT H01GER TO GIGGLE!

Thank you for using piuparts and improving Debian! Policy is your friend. Trust the Policy. Love the Policy. Obey the Policy.