diff --git a/src/ac/acl/spec/check_spec.py b/src/ac/acl/spec/check_spec.py index 7991926245827bf11f9a49426e3bdc88c221e97a..4ce1b20e467c86a4fae32ae8ba55b18fc4edf1c1 100644 --- a/src/ac/acl/spec/check_spec.py +++ b/src/ac/acl/spec/check_spec.py @@ -263,16 +263,20 @@ class CheckSpec(BaseCheck): """ 检查changelog中的版本号,release号是否和spec的版本号,release号一致 """ - obj_s = re.search(r"(\d+(.\d+){0,9})-\d+", changelog_con) + if self._spec.epoch: # 检查spec文件中是否存在epoch字段 + obj_s = re.search(r"\d+:(\d+(.\d+){0,9})-\d+", changelog_con) + version = "".join([self._spec.epoch, ":", version]) + else: + obj_s = re.search(r"(\d+(.\d+){0,9})-\d+", changelog_con) if not obj_s: logger.warning("%s Missing release or version!", changelog_con) return False version_num, release_num = obj_s.group(0).split("-") if version_num != version: - logger.warning("version error in changelog: %s != %s", version_num, version) + logger.warning("version error in changelog: %s is different from %s", version_num, version) return False if release_num != release: - logger.warning("release error in changelog: %s != %s", release_num, release) + logger.warning("release error in changelog: %s is different from %s", release_num, release) return False return True @@ -297,10 +301,12 @@ class CheckSpec(BaseCheck): if len(date_obj) < 4: # 列表中的字符串至少四个,包含年、月、日、星期 ['Tue', 'Mar', '21', '2022'] logger.error("bad data in changelog:%s", changelog_con) return False - if not judgment_date(date_obj) or not release_and_version(changelog_con, self._spec.version, - self._spec.release): + if not judgment_date(date_obj): logger.error("bad date in changelog:%s", changelog_con) return False + if not release_and_version(changelog_con, self._spec.version, self._spec.release): + logger.error("There is a problem with the version number or release number:%s", changelog_con) + return False if not bogus_date(date_obj): logger.error("bogus date in changelog:%s", changelog_con) return False