rpmmd/repository: repoconfig pointers

Convert some of the fields in the `RepoConfig` struct
to pointers. Since `RepoConfig` will be used to convert
custom repositories to an array of `osbuild.YumRepository`,
we need to ensure that fields that are not set explicitly
are not saved to the `/etc/yum.repos.d` repository files.
This commit is contained in:
Gianluca Zuccarelli 2023-04-18 19:24:27 +01:00 committed by Tomáš Hozza
parent 75e2138878
commit d44703cdc8
14 changed files with 78 additions and 51 deletions

View file

@ -582,13 +582,19 @@ func (s *Store) GetAllDistroSources(distro string) map[string]SourceConfig {
func NewSourceConfig(repo rpmmd.RepoConfig, system bool) SourceConfig {
sc := SourceConfig{
Name: repo.Name,
CheckGPG: repo.CheckGPG,
CheckSSL: !repo.IgnoreSSL,
System: system,
RHSM: repo.RHSM,
CheckRepoGPG: repo.CheckRepoGPG,
GPGKeys: repo.GPGKeys,
Name: repo.Name,
System: system,
RHSM: repo.RHSM,
GPGKeys: repo.GPGKeys,
CheckSSL: !repo.IgnoreSSL,
}
if repo.CheckGPG != nil {
sc.CheckGPG = *repo.CheckGPG
}
if repo.CheckRepoGPG != nil {
sc.CheckRepoGPG = *repo.CheckRepoGPG
}
if len(repo.BaseURLs) != 0 {
@ -610,9 +616,9 @@ func (s *SourceConfig) RepoConfig(name string) rpmmd.RepoConfig {
repo.Name = name
repo.IgnoreSSL = !s.CheckSSL
repo.CheckGPG = s.CheckGPG
repo.CheckGPG = &s.CheckGPG
repo.RHSM = s.RHSM
repo.CheckRepoGPG = s.CheckRepoGPG
repo.CheckRepoGPG = &s.CheckRepoGPG
repo.GPGKeys = s.GPGKeys
var urls []string