Skip to content

Commit 2d92188

Browse files
authored
Fixed spec entanglement PR check (CP: #10585) (#10586)
1 parent 2340f8b commit 2d92188

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

toolkit/scripts/check_entangled_specs.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
# Copyright (c) Microsoft Corporation.
33
# Licensed under the MIT License.
44

5+
from collections import defaultdict
6+
from os import path
57
from typing import FrozenSet, List, Set
6-
from pyrpm.spec import Spec
7-
88
import argparse
9-
from collections import defaultdict
10-
from pathlib import Path
119
import pprint
1210
import sys
1311

12+
from pyrpm.spec import replace_macros, Spec
13+
1414
version_release_matching_groups = [
1515
frozenset([
1616
"SPECS-SIGNED/kernel-signed/kernel-signed.spec",
@@ -75,10 +75,10 @@ def check_spec_tags(base_path: str, tags: List[str], groups: List[FrozenSet]) ->
7575
variants = defaultdict(set)
7676

7777
for spec_filename in group:
78-
parsed_spec = Spec.from_file(Path(base_path, spec_filename))
78+
parsed_spec = Spec.from_file(path.join(base_path, spec_filename))
7979
for tag in tags:
80-
variants[tag].add(getattr(
81-
parsed_spec, tag))
80+
tag_value = get_tag_value(parsed_spec, tag)
81+
variants[tag].add(tag_value)
8282

8383
for tag in tags:
8484
if len(variants[tag]) > 1:
@@ -118,6 +118,13 @@ def check_matches(base_path: str):
118118
sys.exit(1)
119119

120120

121+
def get_tag_value(spec: "Spec", tag: str) -> str:
122+
value = getattr(spec, tag)
123+
if value:
124+
value = replace_macros(value, spec)
125+
return value
126+
127+
121128
if __name__ == '__main__':
122129
parser = argparse.ArgumentParser()
123130
parser.add_argument(

0 commit comments

Comments
 (0)