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)