diff options
-rwxr-xr-x | calm/calm.py | 2 | ||||
-rwxr-xr-x | calm/mksetupini.py | 6 | ||||
-rwxr-xr-x | calm/package.py | 7 | ||||
-rwxr-xr-x | calm/pkg2html.py | 2 | ||||
-rwxr-xr-x | test/test_calm.py | 4 |
5 files changed, 13 insertions, 8 deletions
diff --git a/calm/calm.py b/calm/calm.py index e8a7f08..b6e7e6e 100755 --- a/calm/calm.py +++ b/calm/calm.py @@ -103,7 +103,7 @@ def process_relarea(args, state): # read the package list for each arch for arch in common_constants.ARCHES: logging.debug("reading existing packages for arch %s" % (arch)) - packages[arch] = package.read_packages(args.rel_area, arch) + packages[arch], _ = package.read_packages(args.rel_area, arch) state.valid_provides = db.update_package_names(args, packages) for arch in common_constants.ARCHES: diff --git a/calm/mksetupini.py b/calm/mksetupini.py index 170311b..9e3a006 100755 --- a/calm/mksetupini.py +++ b/calm/mksetupini.py @@ -48,7 +48,11 @@ except ImportError: # def do_main(args): # build package list - packages = package.read_packages(args.rel_area, args.arch) + packages, error = package.read_packages(args.rel_area, args.arch) + + if not error: + logging.error("errors reading package set, not writing setup.ini") + return 1 # spellcheck text hints if args.spell: diff --git a/calm/package.py b/calm/package.py index 72c03f0..81d07fe 100755 --- a/calm/package.py +++ b/calm/package.py @@ -141,6 +141,7 @@ class Hint(object): # read a packages from a directory hierarchy # def read_packages(rel_area, arch): + error = False packages = {} # <arch>/ noarch/ and src/ directories are considered @@ -151,11 +152,11 @@ def read_packages(rel_area, arch): logging.debug('reading packages from %s' % releasedir) for (dirpath, _subdirs, files) in os.walk(releasedir, followlinks=True): - read_package_dir(packages[root], rel_area, dirpath, files) + error = read_package_dir(packages[root], rel_area, dirpath, files) or error logging.debug("%d packages read from %s" % (len(packages[root]), releasedir)) - return merge({}, *packages.values()) + return (merge({}, *packages.values()), error) # helper function to compute sha512 for a particular file @@ -1738,5 +1739,5 @@ def stale_packages(packages, vault_requests): if __name__ == "__main__": for arch in common_constants.ARCHES: - packages = read_packages(common_constants.FTP, arch) + packages, _ = read_packages(common_constants.FTP, arch) print("arch %s has %d packages" % (arch, len(packages))) diff --git a/calm/pkg2html.py b/calm/pkg2html.py index 2194a05..2a0d25d 100755 --- a/calm/pkg2html.py +++ b/calm/pkg2html.py @@ -573,5 +573,5 @@ if __name__ == "__main__": logging.basicConfig(format=os.path.basename(sys.argv[0]) + ': %(message)s') - packages = package.read_packages(args.rel_area, args.arch) + packages, _ = package.read_packages(args.rel_area, args.arch) update_package_listings(args, packages, args.arch) diff --git a/test/test_calm.py b/test/test_calm.py index aced23b..bd8390d 100755 --- a/test/test_calm.py +++ b/test/test_calm.py @@ -180,7 +180,7 @@ class CalmTest(unittest.TestCase): packages = {} for arch in common_constants.ARCHES: packages[arch] = {} - packages[args.arch] = package.read_packages(args.rel_area, args.arch) + packages[args.arch], _ = package.read_packages(args.rel_area, args.arch) package.validate_packages(args, packages[args.arch]) pkg2html.update_package_listings(args, packages) @@ -379,7 +379,7 @@ class CalmTest(unittest.TestCase): args.release = 'testing' args.setup_version = '4.321' - packages = package.read_packages(args.rel_area, args.arch) + packages, _ = package.read_packages(args.rel_area, args.arch) package.delete(packages, 'x86_64/release/nonexistent', 'nosuchfile-1.0.0.tar.xz') self.assertEqual(package.validate_packages(args, packages), True) package.write_setup_ini(args, packages, args.arch) |