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)