From 40a8be6885b3aac1a7b1434301ad6e7201f60ee5 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 8 Mar 2007 14:56:27 +0000 Subject: [PATCH] packaging fixes; include a-t-o manpage; etc. --- Makefile | 12 ++- debian/changelog | 9 ++- debian/rules | 10 ++- runner/adt-run.1 | 2 +- runner/adt-testreport-onepackage.1 | 113 +++++++++++++++++++++++++++++ settings.make | 5 +- xen/Makefile | 3 +- xen/initscript | 11 +++ 8 files changed, 150 insertions(+), 15 deletions(-) create mode 100644 runner/adt-testreport-onepackage.1 diff --git a/Makefile b/Makefile index 808b74b..141a970 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,11 @@ include settings.make programs = virt-subproc/adt-virt-chroot \ virt-subproc/adt-virt-xenlvm \ virt-subproc/adt-virt-null \ - runner/adt-run + runner/adt-run \ + runner/adt-testreport-onepackage + +examples = runner/onepackage-config \ + runner/ubuntu-config pythonfiles = virt-subproc/VirtSubproc.py @@ -33,14 +37,16 @@ all: cd xen && $(MAKE) install-here: - $(INSTALL_DIRS) -d $(bindir) $(docdir) $(man1dir) $(pythondir) + $(INSTALL_DIRS) -d $(bindir) $(docdir) $(man1dir) \ + $(pythondir) $(examplesdir) set -e; for f in $(programs); do \ $(INSTALL_PROGRAM) $$f $(bindir); \ test ! -f $$f.1 || $(INSTALL_DOC) $$f.1 $(man1dir); \ done $(INSTALL_DATA) $(pythonfiles) $(pythondir) $(INSTALL_DOC) CREDITS debian/changelog $(docdir) - $(INSTALL_DOC) doc/README*[^~] $(docdir) + $(INSTALL_DOC) doc/README*[!~] $(docdir) + $(INSTALL_DOC) $(examples) $(examplesdir) install: install-here cd xen && $(MAKE) install diff --git a/debian/changelog b/debian/changelog index f8b0444..87176ba 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,12 @@ -autopkgtest (0.7.2) unstable; urgency=low +autopkgtest (0.7.2) feisty; urgency=low - * New adt-testreport-onepackage script, with some example config - files onepackage-config and ubuntu-config. + * adt-testreport-onepackage: new management script, with some + example config files onepackage-config and ubuntu-config. * Fixed quite a few bugs in adt-run. * Made adt_distro xenlvm config var settable. + * Fixed various packaging problems. - -- + -- Ian Jackson Thu, 8 Mar 2007 14:54:33 +0000 autopkgtest (0.7.1) feisty; urgency=low diff --git a/debian/rules b/debian/rules index 5c96b5a..00145e0 100755 --- a/debian/rules +++ b/debian/rules @@ -47,16 +47,18 @@ binary binary-indep: checkdir sharedir=$(topdir)/debian/$p-$x/usr/share/$p/$x \ etcdir=$(topdir)/debian/$p-$x/etc cfg_suffix='' - cat CREDITS debian/copyright.suffix \ - >debian/$p/usr/share/doc/$p/copyright + set -e; for f in $p $p-$x; do \ + cat CREDITS debian/copyright.suffix \ + >debian/$$f/usr/share/doc/$$f/copyright; \ + done dh_installinit -p $p-$x --onlyscripts --name=adt$x -- defaults 19 + dh_installchangelogs dh_compress dh_link dh_md5sums - dh_fixperms dh_gencontrol + dh_fixperms dh_installdeb - dh_installchangelogs dh_builddeb clean: checkdir diff --git a/runner/adt-run.1 b/runner/adt-run.1 index 1fbd59e..b65bd28 100644 --- a/runner/adt-run.1 +++ b/runner/adt-run.1 @@ -262,7 +262,7 @@ well-tested. .SH AUTHORS AND COPYRIGHT This manpage is part of autopkgtest, a tool for testing Debian binary -packages. autopkgtest is Copyright (C) 2006-1007 Canonical Ltd and +packages. autopkgtest is Copyright (C) 2006-2007 Canonical Ltd and others. See \fB/usr/share/doc/autopkgtest/CREDITS\fR for the list of diff --git a/runner/adt-testreport-onepackage.1 b/runner/adt-testreport-onepackage.1 new file mode 100644 index 0000000..2d8286f --- /dev/null +++ b/runner/adt-testreport-onepackage.1 @@ -0,0 +1,113 @@ +.TH adt\-testreport\-onepackage 1 2007 autopkgtest "Linux Programmer's Manual" +.SH NAME +adt\-testreport\-onepackage \- choose one package and test it with adt-run +.SH SYNOPSYS +.B adt\-testreport\-onepackage +.RI [ variable \fB=\fR value | settings\-file ]... +.br +.SH DESCRIPTION +.B adt\-testreport\-onepackage +is a rather ad-hoc script which chooses a package to test, calls +adt-run, and reports the results. a-t-o has the following +functionality: + +a-t-o downloads the Sources file, chooses a package to test (see +below), downloads its source, invokes adt-run, writes a report +describing the outcome, and emails the report to some appropriate +address. + +\fBWARNING\fR - it is essential to reconfigure this program before +use, as the supplied examples will \fBsend emails\fR to people who +will become \fBvery upset\fR with you! +.SH CONFIGURATION +Command-line arguments containing \fB=\fR are interpreted by a-t-o +with \fBeval\fR; other arguments are sourced using \fB.\fR, +in each case interpreted as bash script. Configuration fragment +authors should bear in mind that a-t-o uses \fBset -e\fR. + +Various variables can be set for useful effect. A selection of the +most usual ones, with default values, can be seen at the top of the +a-t-o script itself. Certain others are mentioned in this manpage. +There is no exhaustive list and no documentation of the semantics. +.SH PACKAGE SELECTION +a-t-o maintains a record of when each package was last tested, what +version was tested, and whether the package had any tests. + +This record is used to choose which package should be tested next: +packages which have changed since the last test are preferred, as are +packages which didn't lack tests last time they were examined. + +If the configuration sets \fBpkg\fR to a package name (for example by +passing \fBpkg=\fR\fIpackage-name\fR), this overrides +a-t-o's package selection algorithm. +.SH REPORTING +If \fBinteractive\fR is set to \fBtrue\fR (the default), a-t-o will +not redirect the output from adt-run and will not email anyone, +although the start of the email which would have been sent is sent to +stdout. If \fBinteractive\fR is \fBfalse\fR, a-t-o sends an email to +its administrator (if a-t-o considers that the testing machinery is +broken, or if \fBmaintainer_email_override\fR is set), or otherwise to +the package maintainer. + +No email is sent if there were no tests, or all the tests skipped or +passed. + +The emailed report contains a summary of the outcome of the tests, and +the output from adt-run. Additionally, if an email is sent, the build +trees, test results, and so forth, will be uploaded to the location +specified with the \fBdest\fR* options (see the +\fBonepackage-config\fR example configuration file). + +Some vague progress information is printed to a-t-o's stdout. +.SH FILES +The \fBtmp=\fR\fItmp\fR and \fBvar=\fR\fIvar\fR configuration +variables name two directories which must belong solely to this +instance of a-t-o. + +\fItmp\fR will be erased by a-t-o at startup and then used for +temporary files. It is not cleaned up afterwards; it is assumed that +the next run of a-t-o will do that. + +\fIvar\fR is used to record the state, including the information about +each package used for package selection. \fIvar\fR\fB/log\fR contains +a one-line record of each test run and may need to be rotated. + +\fItmp\fR and \fIvar\fR default to \fBtmp\fR and \fBvar\fR in a-t-o's +starting directory. +.SH EXIT STATUS +0 a package was apparently tested +.br +20 adt-run reported an unexpected failure +.br +other other unexpected failures including bad usage, disk full, etc. + +When a-t-o is run in a loop, the loop should stop pending +administrator intervention if a-t-o exits nonzero. +.SH SEE ALSO +\fBadt-run\fR(1). +.SH BUGS +\fBIt is essential not to use the example configuration!\fR +This configuration is likely to send inappropriate emails! + +There is no documentation for the variable settings, and no error +handling for detecting attempts to set incorrectly named variables. + +The tuning parameters for the package selection algorithm cannot be +adjusted. This algorithm is not hugely sophisticated. There should +be a facility for explicitly requesting retests (other than setting +\fBpkg\fR); there should be some kind of manual prioritisation queue. + +a-t-o cannot choose a distrorelease (eg, dapper, feisty, etch, sid) or +suite (eg main, non-free, universe); the caller must do that. + +Configuration by the use of bash fragments is rather unsophisticated. + +The script lacks flexibility in many respects; many additional +configuration settings and hooks are needed. +.SH AUTHORS AND COPYRIGHT +This manpage is part of autopkgtest, a tool for testing Debian binary +packages. autopkgtest is Copyright (C) 2006-2007 Canonical Ltd and +others. + +See \fB/usr/share/doc/autopkgtest/CREDITS\fR for the list of +contributors and full copying conditions. diff --git a/settings.make b/settings.make index ea7f67e..0ddf956 100644 --- a/settings.make +++ b/settings.make @@ -5,6 +5,7 @@ mandir = $(share)/man man1dir = $(mandir)/man1 pkgname = autopkgtest docdir = $(share)/doc/$(pkgname) +examplesdir = $(share)/doc/$(pkgname)/examples sharedir = $(share)/$(pkgname) pythondir = $(share)/$(pkgname)/python sharedir_lnfrom = $(share)/$(pkgname) @@ -17,5 +18,5 @@ cfg_suffix = .dist INSTALL = install INSTALL_DIRS = $(INSTALL) -d INSTALL_PROGRAM = $(INSTALL) -m 0755 -INSTALL_DATA = $(INSTALL) -INSTALL_DOC = $(INSTALL) +INSTALL_DATA = $(INSTALL) -m 0644 +INSTALL_DOC = $(INSTALL) -m 0644 diff --git a/xen/Makefile b/xen/Makefile index 7971bcf..200e031 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -45,7 +45,8 @@ install: all $(INSTALL_DATA) $$f $(sharedir); \ done $(INSTALL_DATA) initscript $(etcinitddir)/adtxenlvm$(cfg_suffix) - $(INSTALL_DATA) vif-route-adt $(xenscripts)/vif-route-adt$(cfg_suffix) + $(INSTALL_PROGRAM) vif-route-adt \ + $(xenscripts)/vif-route-adt$(cfg_suffix) $(INSTALL_DOC) README example-config $(docdir) readconfig: sed-readconfig readconfig.in diff --git a/xen/initscript b/xen/initscript index 7b37270..04312d2 100755 --- a/xen/initscript +++ b/xen/initscript @@ -2,6 +2,17 @@ set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +### BEGIN INIT INFO +# Provides: adtxenlvm +# Required-Start: $network $local_fs +# Required-Stop: +# Should-Start: $remote_fs +# Should-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Prepare firewall tables for autopkgtest Xen guests +### END INIT INFO + lsbif=/lib/lsb/init-functions if test -e $lsbif; then . $lsbif -- 2.30.2