tags 519192 patch
stop

Hi,

In piuparts-slave.py, config["distro"] and
config["upgrade-test-distros"] have a default value of None, you can not
mix None and list in Python, that's why we have this error. 

When you comment the both lines in piuparts-slave.conf:
#upgrade-test-distros = etch lenny sid
#upgrade-test-chroot-tgz = etch.tar.gz
we use default values (None) so we have to check everywhere we don't use
these variables when they have a None value.

Here is a patch to solve this issue.

Regards,
Carl Chenet
diff -ru piuparts-0.35/piuparts-slave.py piuparts-0.35-modified/piuparts-slave.py
--- piuparts-0.35/piuparts-slave.py	2007-12-22 16:05:58.000000000 +0100
+++ piuparts-0.35-modified/piuparts-slave.py	2009-04-17 19:27:35.000000000 +0200
@@ -214,14 +214,16 @@
 
 
 def upgrade_testable(config, package, packages_files):
-    distros = config["upgrade-test-distros"].split()
-    if not distros:
-        return False
-    for distro in distros:
-        if not package["Package"] in packages_files[distro]:
+    if config["upgrade-test-distros"]:
+        distros = config["upgrade-test-distros"].split()
+        if not distros:
             return False
-    return True
-
+        for distro in distros:
+            if not package["Package"] in packages_files[distro]:
+                return False
+        return True
+    else:
+        return False
 
 def test_package(config, package, packages_files):
     logging.info("Testing package %(Package)s %(Version)s" % package)
@@ -339,8 +341,8 @@
     if not os.path.exists(config["chroot-tgz"]):
         create_chroot(config, config["chroot-tgz"], config["distro"])
 
-    if (config["upgrade-test-distros"] and not
-        os.path.exists(config["upgrade-test-chroot-tgz"])):
+    if (config["upgrade-test-distros"] and config["upgrade-test-chroot-tgz"] 
+        and not os.path.exists(config["upgrade-test-chroot-tgz"])):
         create_chroot(config, config["upgrade-test-chroot-tgz"], 
                       config["upgrade-test-distros"].split()[0])
 
@@ -382,7 +384,11 @@
             continue
         
         packages_files = {}
-        distros = [config["distro"]] + config["upgrade-test-distros"].split()
+        if config["upgrade-test-distros"]:
+            distros = [config["distro"]] + config["upgrade-test-distros"].split()
+        else:
+            distros = [config["distro"]]
+
         for distro in distros:
             if distro not in packages_files:
                 packages_files[distro] = fetch_packages_file(config, distro)

Reply via email to