From f1cd1ae562663dbc5fbdf3d4079b2f92f9df27b7 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: May 25 2018 07:49:14 +0000 Subject: Always get old compose with release type suffix Signed-off-by: Patrick Uiterwijk Merges: https://pagure.io/pungi/pull-request/792 --- diff --git a/pungi/checks.py b/pungi/checks.py index 2ddd716..a81340a 100644 --- a/pungi/checks.py +++ b/pungi/checks.py @@ -643,8 +643,7 @@ def make_schema(): }, "old_composes_per_release_type": { - "type": "boolean", - "default": False, + "deprecated": "remove it. It is the default behavior now" }, "hashed_directories": { "type": "boolean", diff --git a/pungi/phases/createrepo.py b/pungi/phases/createrepo.py index 721f9bf..397c6a0 100644 --- a/pungi/phases/createrepo.py +++ b/pungi/phases/createrepo.py @@ -314,7 +314,7 @@ def _get_old_package_dirs(compose, repo_dir): compose.old_composes, compose.ci_base.release.short, compose.ci_base.release.version, - compose.ci_base.release.type_suffix if compose.conf['old_composes_per_release_type'] else None, + compose.ci_base.release.type_suffix, compose.ci_base.base_product.short if compose.ci_base.release.is_layered else None, compose.ci_base.base_product.version if compose.ci_base.release.is_layered else None, allowed_statuses=['FINISHED', 'FINISHED_INCOMPLETE'], diff --git a/pungi/phases/pkgset/common.py b/pungi/phases/pkgset/common.py index ccb2b42..d66331f 100644 --- a/pungi/phases/pkgset/common.py +++ b/pungi/phases/pkgset/common.py @@ -57,7 +57,7 @@ def get_create_global_repo_cmd(compose, path_prefix): compose.old_composes, compose.ci_base.release.short, compose.ci_base.release.version, - compose.ci_base.release.type_suffix if compose.conf['old_composes_per_release_type'] else None, + compose.ci_base.release.type_suffix, compose.ci_base.base_product.short if compose.ci_base.release.is_layered else None, compose.ci_base.base_product.version if compose.ci_base.release.is_layered else None, ) diff --git a/pungi/phases/pkgset/sources/source_koji.py b/pungi/phases/pkgset/sources/source_koji.py index c96b4d4..2dd105e 100644 --- a/pungi/phases/pkgset/sources/source_koji.py +++ b/pungi/phases/pkgset/sources/source_koji.py @@ -387,7 +387,7 @@ def _find_old_file_cache_path(compose): compose.old_composes, compose.ci_base.release.short, compose.ci_base.release.version, - compose.ci_base.release.type_suffix if compose.conf['old_composes_per_release_type'] else None, + compose.ci_base.release.type_suffix, compose.ci_base.base_product.short if compose.ci_base.release.is_layered else None, compose.ci_base.base_product.version if compose.ci_base.release.is_layered else None, ) diff --git a/pungi/util.py b/pungi/util.py index ea0f6e4..ce6d7ae 100644 --- a/pungi/util.py +++ b/pungi/util.py @@ -402,7 +402,7 @@ def get_file_size(path): def find_old_compose(old_compose_dirs, release_short, release_version, - release_type_suffix=None, base_product_short=None, + release_type_suffix, base_product_short=None, base_product_version=None, allowed_statuses=None): allowed_statuses = allowed_statuses or ("FINISHED", "FINISHED_INCOMPLETE", "DOOMED") composes = [] @@ -423,9 +423,7 @@ def find_old_compose(old_compose_dirs, release_short, release_version, for i in os.listdir(compose_dir): # TODO: read .composeinfo - pattern = "%s-%s" % (release_short, release_version) - if release_type_suffix: - pattern += release_type_suffix + pattern = "%s-%s%s" % (release_short, release_version, release_type_suffix) if base_product_short: pattern += "-%s" % base_product_short if base_product_version: @@ -435,7 +433,7 @@ def find_old_compose(old_compose_dirs, release_short, release_version, continue suffix = i[len(pattern):] - if release_type_suffix and (len(suffix) < 2 or not suffix[1].isdigit()): + if len(suffix) < 2 or not suffix[1].isdigit(): # This covers the case where we are looking for -updates, but there # is an updates-testing as well. continue diff --git a/tests/helpers.py b/tests/helpers.py index 963acdf..67eedad 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -114,6 +114,7 @@ class DummyCompose(object): short='test', version='1.0', is_layered=False, + type_suffix='' ), ) self.topdir = topdir diff --git a/tests/test_util.py b/tests/test_util.py index 1f22b63..c8a7207 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -260,17 +260,17 @@ class TestFindOldCompose(unittest.TestCase): def test_finds_single(self): touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'FINISHED') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '') self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-20160229.0') def test_ignores_in_progress(self): touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'STARTED') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '') self.assertIsNone(old) def test_only_considers_allowed_status(self): touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'FINISHED') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '', allowed_statuses=['DOOMED']) self.assertIsNone(old) @@ -278,7 +278,7 @@ class TestFindOldCompose(unittest.TestCase): touch(self.tmp_dir + '/Fedora-Rawhide-20160228.0/STATUS', 'DOOMED') touch(self.tmp_dir + '/Fedora-Rawhide-20160229.0/STATUS', 'FINISHED') touch(self.tmp_dir + '/Fedora-Rawhide-20160229.1/STATUS', 'FINISHED_INCOMPLETE') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '') self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-20160229.1') def test_find_correct_type(self): @@ -288,13 +288,11 @@ class TestFindOldCompose(unittest.TestCase): self.assertEqual(old, self.tmp_dir + '/Fedora-26-updates-20160229.0') old = util.find_old_compose(self.tmp_dir, 'Fedora', '26', '-updates-testing') self.assertEqual(old, self.tmp_dir + '/Fedora-26-updates-testing-20160229.0') - old = util.find_old_compose(self.tmp_dir, 'Fedora', '26') - self.assertEqual(old, self.tmp_dir + '/Fedora-26-updates-testing-20160229.0') def test_find_latest_with_two_digit_respin(self): touch(self.tmp_dir + '/Fedora-Rawhide-20160228.n.9/STATUS', 'FINISHED') touch(self.tmp_dir + '/Fedora-Rawhide-20160228.n.10/STATUS', 'FINISHED') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '') self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-20160228.n.10') def test_finds_ignores_other_files(self): @@ -302,22 +300,22 @@ class TestFindOldCompose(unittest.TestCase): touch(self.tmp_dir + '/Fedora-Rawhide-20160228.0/STATUS/file', 'also not a compose') touch(self.tmp_dir + '/Fedora-24-20160229.0/STATUS', 'FINISHED') touch(self.tmp_dir + '/Another-Rawhide-20160229.0/STATUS', 'FINISHED') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '') self.assertIsNone(old) def test_search_in_file(self): touch(self.tmp_dir + '/file') - old = util.find_old_compose(self.tmp_dir + '/file', 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir + '/file', 'Fedora', 'Rawhide', '') self.assertIsNone(old) def test_skips_symlink(self): os.symlink(self.tmp_dir, self.tmp_dir + '/Fedora-Rawhide-20160229.0') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide') + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '') self.assertIsNone(old) def test_finds_layered_product(self): touch(self.tmp_dir + '/Fedora-Rawhide-Base-1-20160229.0/STATUS', 'FINISHED') - old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', + old = util.find_old_compose(self.tmp_dir, 'Fedora', 'Rawhide', '', base_product_short='Base', base_product_version='1') self.assertEqual(old, self.tmp_dir + '/Fedora-Rawhide-Base-1-20160229.0')