Skip to content

Commit

Permalink
Merge pull request #2382 from OSInside/fix_releasever_in_signkey
Browse files Browse the repository at this point in the history
Support release version in signkey URLs
  • Loading branch information
Conan-Kudo authored Oct 16, 2023
2 parents b452ecf + 58fa96c commit 32b437e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
15 changes: 14 additions & 1 deletion kiwi/xml_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -1912,9 +1912,22 @@ def get_repositories_signing_keys(self) -> List[str]:
Get list of signing keys specified on the repositories
"""
key_file_list: List[str] = []
release_version = self.get_release_version()
release_vars = [
'$releasever',
'${releasever}'
]
for repository in self.get_repository_sections() or []:
for signing in repository.get_source().get_signing() or []:
key_file_list.append(Uri(signing.get_key()).translate())
normalized_key_url = Uri(signing.get_key()).translate()
if release_version:
for release_var in release_vars:
if release_var in normalized_key_url:
normalized_key_url = normalized_key_url.replace(
release_var, release_version
)
if normalized_key_url not in key_file_list:
key_file_list.append(normalized_key_url)
return key_file_list

def set_repository(
Expand Down
2 changes: 2 additions & 0 deletions test/data/example_config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@
<repository priority="42" sourcetype="baseurl">
<source path="iso:///image/CDs/dvd.iso">
<signing key="file:key_a"/>
<signing key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-$releasever-primary"/>
<signing key="file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-${releasever}-primary"/>
</source>
</repository>
<repository type="rpm-md" imageinclude="true" customize="script">
Expand Down
7 changes: 5 additions & 2 deletions test/unit/xml_state_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -1078,9 +1078,12 @@ def test_get_installintrd_modules(self):

@patch('kiwi.system.uri.os.path.abspath')
def test_get_repositories_signing_keys(self, mock_root_path):
mock_root_path.side_effect = lambda x: f'/some/path/{x}'
mock_root_path.side_effect = lambda x: f'(mock_abspath){x}'
assert self.state.get_repositories_signing_keys() == [
'/some/path/key_a', '/some/path/key_b'
'(mock_abspath)key_a',
'(mock_abspath)/usr/share/distribution-gpg-keys/'
'fedora/RPM-GPG-KEY-fedora-15.3-primary',
'(mock_abspath)key_b'
]

def test_this_path_resolver(self):
Expand Down

0 comments on commit 32b437e

Please sign in to comment.