← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~mvo/launchpad/support-timeframe-fix-660433 into lp:launchpad

 

Michael Vogt has proposed merging lp:~mvo/launchpad/support-timeframe-fix-660433 into lp:launchpad.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)


Hello,

this branch fixes the soyuz bug #660433. It will re-generate the support-timeframe information (Supported tag in more-extras.overrides) for all supported distros to update it for packages like new kernels that get added as NEW packages after the final release. 

I added a simple test for the functionality. I'm not sure it follows the guidelines, there was no tests/ directory under cronscripts/publishing (and the test is done with sh).

Its also prepares mock-data (./mock-data/ubuntu-archive/ubuntu) for testing germinate integration. This is not used (yet?), so that part of the tree could be removed (this would make the diff less cluttered).

Someone with soyuz experience (and knowledge about e.g. the content of "crontab -l") needs to review this carefully as it will affect the extra-overrides file from stable distros and therefore modify stuff in $distro-updates.

Cheers,
 Michael
-- 
https://code.launchpad.net/~mvo/launchpad/support-timeframe-fix-660433/+merge/38503
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~mvo/launchpad/support-timeframe-fix-660433 into lp:launchpad.
=== modified file 'cronscripts/publishing/cron.germinate'
--- cronscripts/publishing/cron.germinate	2010-09-06 09:46:01 +0000
+++ cronscripts/publishing/cron.germinate	2010-10-15 07:21:12 +0000
@@ -6,12 +6,12 @@
 set -e
 set -u
 
-ARCHIVEROOT=/srv/launchpad.net/ubuntu-archive/ubuntu
+ARCHIVEROOT=${TEST_ARCHIVEROOT:-/srv/launchpad.net/ubuntu-archive/ubuntu}
 MISCROOT=$ARCHIVEROOT/../ubuntu-misc
 LOCKROOT=$ARCHIVEROOT/..
 GERMINATEROOT=$ARCHIVEROOT/../ubuntu-germinate
 
-LAUNCHPADROOT=/srv/launchpad.net/codelines/current
+LAUNCHPADROOT=${TEST_LAUNCHPADROOT:-/srv/launchpad.net/codelines/current}
 MAINTAINCE_CHECK=$LAUNCHPADROOT/cronscripts/publishing/maintenance-check.py
 
 ## Check to see if another germinate run is in progress
@@ -28,7 +28,6 @@
 
 trap cleanup EXIT
 
-LAUNCHPADROOT=/srv/launchpad.net/codelines/current
 suite=`$LAUNCHPADROOT/scripts/ftpmaster-tools/lp-query-distro.py development`
 
 echo -n "Running germinate... "
@@ -126,10 +125,19 @@
 done
 echo " done."
 
-# now generate the Supported extra overrides
-$MAINTAINCE_CHECK $suite > "$MISCROOT/more-extra.override.$suite.main.supported" 2> _maintenance-check.stderr
-if [ $? -eq 0 ]; then
-    cat "$MISCROOT/more-extra.override.$suite.main.supported" >> "$MISCROOT/more-extra.override.$suite.main.new"
-fi
-
 mv -f "$MISCROOT/more-extra.override.$suite.main.new" "$MISCROOT/more-extra.override.$suite.main"
+
+# now generate the Supported extra overrides for all supported distros
+for supported_suite in `$LAUNCHPADROOT/scripts/ftpmaster-tools/lp-query-distro.py supported`; do
+    echo -n "Running maintenance-check for $supported_suite... "
+    if $MAINTAINCE_CHECK $supported_suite > "$MISCROOT/more-extra.override.$supported_suite.main.supported" 2> _maintenance-check.$supported_suite.stderr; then
+
+        # make sure the more-extra.override file exists
+        touch "$MISCROOT/more-extra.override.$supported_suite.main"
+        # remove old "Supporte" info from extra overrides
+        sed /"^.* Supported"/d "$MISCROOT/more-extra.override.$supported_suite.main" > "$MISCROOT/more-extra.override.$supported_suite.main.new"
+        cat "$MISCROOT/more-extra.override.$supported_suite.main.supported" >> "$MISCROOT/more-extra.override.$supported_suite.main.new"
+        mv "$MISCROOT/more-extra.override.$supported_suite.main.new" "$MISCROOT/more-extra.override.$supported_suite.main"
+    fi
+    echo " done"
+done

=== modified file 'cronscripts/publishing/maintenance-check.py'
--- cronscripts/publishing/maintenance-check.py	2010-05-28 16:17:51 +0000
+++ cronscripts/publishing/maintenance-check.py	2010-10-15 07:21:12 +0000
@@ -275,8 +275,8 @@
     # init
     if len(args) > 0:
         distro = args[0]
-        if distro[0] < 'h':
-            print "ERROR: only hardy or later is supported"
+        if distro[0] < 'l':
+            logging.error("only lucid or later is supported")
             sys.exit(1)
     else:
         distro = "lucid"
@@ -297,7 +297,11 @@
     for (name, lts_supported) in DISTRO_NAMES_AND_LTS_SUPPORT:
 
         # get basic structure file
-        structure = get_structure(name, distro)
+        try:
+            structure = get_structure(name, distro)
+        except urllib2.HTTPError:
+            logging.error("can't get structure '%s'" % name)
+            continue
     
         # get dicts of pkgname -> support timeframe string
         support_timeframe = SUPPORT_TIMEFRAME

=== added directory 'cronscripts/publishing/tests'
=== added directory 'cronscripts/publishing/tests/mock-data'
=== added directory 'cronscripts/publishing/tests/mock-data/mock-bin'
=== added file 'cronscripts/publishing/tests/mock-data/mock-bin/germinate'
--- cronscripts/publishing/tests/mock-data/mock-bin/germinate	1970-01-01 00:00:00 +0000
+++ cronscripts/publishing/tests/mock-data/mock-bin/germinate	2010-10-15 07:21:12 +0000
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+touch structure all all.sources minimal standard

=== added directory 'cronscripts/publishing/tests/mock-data/mock-lp-root'
=== added directory 'cronscripts/publishing/tests/mock-data/mock-lp-root/cronscripts'
=== added directory 'cronscripts/publishing/tests/mock-data/mock-lp-root/cronscripts/publishing'
=== added symlink 'cronscripts/publishing/tests/mock-data/mock-lp-root/cronscripts/publishing/maintenance-check.py'
=== target is u'../../../../../maintenance-check.py'
=== added directory 'cronscripts/publishing/tests/mock-data/mock-lp-root/scripts'
=== added directory 'cronscripts/publishing/tests/mock-data/mock-lp-root/scripts/ftpmaster-tools'
=== added file 'cronscripts/publishing/tests/mock-data/mock-lp-root/scripts/ftpmaster-tools/lp-query-distro.py'
--- cronscripts/publishing/tests/mock-data/mock-lp-root/scripts/ftpmaster-tools/lp-query-distro.py	1970-01-01 00:00:00 +0000
+++ cronscripts/publishing/tests/mock-data/mock-lp-root/scripts/ftpmaster-tools/lp-query-distro.py	2010-10-15 07:21:12 +0000
@@ -0,0 +1,8 @@
+#!/usr/bin/python
+
+import sys
+
+if sys.argv[1] == "development":
+	print "natty"
+elif sys.argv[1] == "supported":
+	print "hardy lucid maverick"

=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu-germinate'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu-misc'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/debian-installer/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/source'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/source/Sources.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/source/Sources.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/main/source/Sources.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/debian-installer/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/source'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/source/Sources.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/source/Sources.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/multiverse/source/Sources.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/debian-installer/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/source'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/source/Sources.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/source/Sources.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/restricted/source/Sources.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer'
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-amd64'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-amd64/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-amd64/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-amd64/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-armel'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-armel/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-armel/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-armel/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-i386'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-i386/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-i386/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-i386/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-powerpc'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-powerpc/Packages.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-powerpc/Packages.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/debian-installer/binary-powerpc/Packages.gz	2010-10-15 07:21:12 +0000 differ
=== added directory 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/source'
=== added file 'cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/source/Sources.gz'
Binary files cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/source/Sources.gz	1970-01-01 00:00:00 +0000 and cronscripts/publishing/tests/mock-data/ubuntu-archive/ubuntu/dists/natty/universe/source/Sources.gz	2010-10-15 07:21:12 +0000 differ
=== added file 'cronscripts/publishing/tests/test_cron.germinate'
--- cronscripts/publishing/tests/test_cron.germinate	1970-01-01 00:00:00 +0000
+++ cronscripts/publishing/tests/test_cron.germinate	2010-10-15 07:21:12 +0000
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+set -e
+
+TEST_ARCHIVEROOT=$(readlink -f "./mock-data/ubuntu-archive/ubuntu")
+TEST_LAUNCHPADROOT=$(readlink -f "./mock-data/mock-lp-root")
+
+export TEST_ARCHIVEROOT TEST_LAUNCHPADROOT
+
+# by default, do not run the real germiante as it takes a long time and
+# there is no test for it currently
+DO_NOT_TEST_GERMINATE=1
+if [ -n "$DO_NOT_TEST_GERMINATE" ]; then
+    echo "using fake germinate"
+    PATH=$(readlink -f "./mock-data/mock-bin"):$PATH
+    echo $PATH
+    export PATH
+fi
+
+DISTS="hardy lucid maverick"
+
+# clean
+rm -f $TEST_ARCHIVEROOT/../ubuntu-misc/* || true
+rm -f $TEST_ARCHIVEROOT/../ubuntu-germinate/* || true
+
+# create mock data
+for dist in $DISTS; do
+    echo "abrowser Task mock" > $TEST_ARCHIVEROOT/../ubuntu-misc/more-extra.override.$dist.main
+done
+
+# run in fake environment
+../cron.germinate
+
+# check results
+for dist in $DISTS; do
+    f="$TEST_ARCHIVEROOT/../ubuntu-misc/more-extra.override.$dist.main.supported"
+    if [ ! -e "$f" ]; then
+        echo "FAIL: could not find $f"
+        exit 1
+    fi
+done
+
+# check if the existing data was left intact
+for dist in $DISTS; do
+    f="$TEST_ARCHIVEROOT/../ubuntu-misc/more-extra.override.$dist.main"
+    if ! grep -q "abrowser Task mock" $f; then
+        echo "FAIL: could not find Task header for $f"
+        exit 1
+    fi
+done
+
+# ensure we really get the updated override info
+if ! grep -q "linux-image-2.6.32-25-server/i386 Supported 5y" $TEST_ARCHIVEROOT/../ubuntu-misc/more-extra.override.lucid.main; then
+    echo "FAIL: expected override not found"
+fi
+


Follow ups