Differences between revisions 2 and 3
Revision 2 as of 2013-06-01 15:04:58
Size: 4081
Editor: HolgerLevsen
Comment: add TOC
Revision 3 as of 2013-06-01 16:50:13
Size: 3944
Editor: HolgerLevsen
Comment: improve structure
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:

*most of this is still to be written*

TODO these scripts should really be converted to a single script that can do all the different runs (at the same time, if needed).
*This is still incomplete.*
Line 97: Line 94:
== run upgrade test squeeze2wheezy == = run upgrade test squeeze2wheezy =
Line 130: Line 127:
== run upgrade test lenny2squeeze2wheezy == = run upgrade test lenny2squeeze2wheezy =
Line 167: Line 164:
== run custom scripts == = run custom scripts =
Line 169: Line 166:
TODO: TODO: describe this:

Howto setup a piuparts test-instance for development

*This is still incomplete.*

Setup a private repo using reprepro

To be able to run piuparts on packages outside the archive, they need to be in a repository, which is available via http.

Install reprepro and create a repo in /var/www/debian:

  • create dir /var/www/debian/conf/
  • create repo definitions in /var/www/debian/conf/distributions

Codename: sid
Architectures: amd64 i386 source
Components: main contrib non-free
UDebComponents: main

Codename: wheezy
Architectures: amd64 i386 source
Components: main contrib non-free
UDebComponents: main

Codename: squeeze
Architectures: amd64 i386 source
Components: main contrib non-free
UDebComponents: main

Codename: lenny
Architectures: amd64 i386 source
Components: main contrib non-free
UDebComponents: main
  • create the repo's:

reprepro -b /var/www/debian export lenny
reprepro -b /var/www/debian export squeeze
reprepro -b /var/www/debian export wheezy
reprepro -b /var/www/debian export sid
  • export /var/www via http
  • add packages to the repo:

reprepro -b /var/www/debian -C main includedeb wheezy *deb
  • remove packages from the repo:

reprepro -b /var/www/debian -C main remove ${PKG}

Create pbuilder tarballs

This step can be skipped, but if you create tarballs with pbuilder first, creating the initial chroot is faster, because there is no need for a debootstrap each time.

For each distro (eg wheezy) and each arch (eg amd64), create a configfile.

/etc/pbuilder/pbuilderrc.i386-wheezy:

ARCHITECTURE=i386
DISTRIBUTION=wheezy
BASETGZ=/var/cache/pbuilder/base-$DISTRIBUTION-$ARCHITECTURE.tgz
BUILDRESULT=/var/cache/pbuilder/result-$DISTRIBUTION-$ARCHITECTURE

MIRRORSITE=http://ftp.de.debian.org/debian

PKGNAME_LOGFILE_EXTENTION=.buidlog

Then just run

pbuilder --create --configfile /etc/pbuilder/pbuilderrc.i386-wheezy

run install test

TODO

run upgrade test squeeze2wheezy

In this example, /ram is a ramdisk which is large enough to do the piuparts run.

run_piuparts_squeeze2wheezy:

#! /bin/bash

PKG=$1
LOCALREPO=http://localhost/debian

piuparts \
 --tmpdir=/ram \
 --warn-on-others \
 --no-eatmydata \
 --warn-on-leftovers-after-purge \
 --skip-logrotatefiles-test \
 --scriptsdir /etc/piuparts/scripts \
 -d squeeze \
 -d wheezy \
 -m http://ftp.de.debian.org/debian/ \
 -m ${LOCALREPO} \
 --do-not-verify-signatures \
 -b /var/cache/pbuilder/base-squeeze-i386.tgz \
 --apt \
 $PKG | tee ${PKG}.`date +%s`.log

run upgrade test lenny2squeeze2wheezy

As lenny isn't available on mirrors anymore, it needs to be downloaded from archive.debian.org. Currently, piuparts doesn't really have a nice way to deal with this (see bug #699028), but this patch works for now:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699028#5

run run_piuparts_lenny2squeeze2wheezy:

PKG=$1
LOCALREPO=http://localhost/debian
PIUPARTSDIR=/path/to/piuparts/dir

${PIUPARTSDIR}/piuparts.lenny \
 --tmpdir=/ram \
 --warn-on-others \
 --no-eatmydata \
 --warn-on-leftovers-after-purge \
 --skip-logrotatefiles-test \
 --scriptsdir /etc/piuparts/scripts \
 --dpkg-noforce-unsafe-io \
 --no-eatmydata \
 -d lenny \
 -d squeeze \
 -d wheezy \
 -m http://ftp.de.debian.org/debian/ \
 -m ${LOCALREPO} \
 --do-not-verify-signatures \
 -b /var/cache/pbuilder/base-lenny-i386.tgz \
 --apt \
 $PKG | tee ${PKG}.`date +%s`.log

run custom scripts

TODO: describe this:

  • examples from scripts that are used in the piuparts runs on the archive
    • install some extra package before the piuparts run
    • others?
  • example scripts to display extra info in the log


CategoryPermalink