Port osbuild/images v0.33.0 with dot-notation to composer
Update the osbuild/images to the version which introduces "dot notation" for distro release versions. - Replace all uses of distroregistry by distrofactory. - Delete local version of reporegistry and use the one from the osbuild/images. - Weldr: unify `createWeldrAPI()` and `createWeldrAPI2()` into a single `createTestWeldrAPI()` function`. - store/fixture: rework fixtures to allow overriding the host distro name and host architecture name. A cleanup function to restore the host distro and arch names is always part of the fixture struct. - Delete `distro_mock` package, since it is no longer used. - Bump the required version of osbuild to 98, because the OSCAP customization is using the 'compress_results' stage option, which is not available in older versions of osbuild. Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
parent
f6ff8c40dd
commit
625b1578fa
1166 changed files with 154457 additions and 5508 deletions
85
vendor/github.com/osbuild/images/pkg/rpmmd/repository.go
generated
vendored
85
vendor/github.com/osbuild/images/pkg/rpmmd/repository.go
generated
vendored
|
|
@ -4,9 +4,7 @@ import (
|
|||
"crypto/sha256"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
"time"
|
||||
|
|
@ -20,6 +18,7 @@ type repository struct {
|
|||
Metalink string `json:"metalink,omitempty"`
|
||||
MirrorList string `json:"mirrorlist,omitempty"`
|
||||
GPGKey string `json:"gpgkey,omitempty"`
|
||||
GPGKeys []string `json:"gpgkeys,omitempty"`
|
||||
CheckGPG bool `json:"check_gpg,omitempty"`
|
||||
IgnoreSSL bool `json:"ignore_ssl,omitempty"`
|
||||
RHSM bool `json:"rhsm,omitempty"`
|
||||
|
|
@ -216,7 +215,7 @@ func GetVerStrFromPackageSpecListPanic(pkgs []PackageSpec, packageName string) s
|
|||
return pkgVerStr
|
||||
}
|
||||
|
||||
func loadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error) {
|
||||
func LoadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error) {
|
||||
f, err := os.Open(filename)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
@ -242,6 +241,9 @@ func loadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error)
|
|||
if repo.GPGKey != "" {
|
||||
keys = []string{repo.GPGKey}
|
||||
}
|
||||
if len(repo.GPGKeys) > 0 {
|
||||
keys = append(keys, repo.GPGKeys...)
|
||||
}
|
||||
config := RepoConfig{
|
||||
Name: repo.Name,
|
||||
BaseURLs: urls,
|
||||
|
|
@ -262,83 +264,6 @@ func loadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error)
|
|||
return repoConfigs, nil
|
||||
}
|
||||
|
||||
// LoadAllRepositories loads all repositories for given distros from the given list of paths.
|
||||
// Behavior is the same as with the LoadRepositories() method.
|
||||
func LoadAllRepositories(confPaths []string) (DistrosRepoConfigs, error) {
|
||||
distrosRepoConfigs := DistrosRepoConfigs{}
|
||||
|
||||
for _, confPath := range confPaths {
|
||||
reposPath := filepath.Join(confPath, "repositories")
|
||||
|
||||
fileEntries, err := os.ReadDir(reposPath)
|
||||
if os.IsNotExist(err) {
|
||||
continue
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, fileEntry := range fileEntries {
|
||||
// Skip all directories
|
||||
if fileEntry.IsDir() {
|
||||
continue
|
||||
}
|
||||
|
||||
// distro repositories definition is expected to be named "<distro_name>.json"
|
||||
if strings.HasSuffix(fileEntry.Name(), ".json") {
|
||||
distro := strings.TrimSuffix(fileEntry.Name(), ".json")
|
||||
|
||||
// skip the distro repos definition, if it has been already read
|
||||
_, ok := distrosRepoConfigs[distro]
|
||||
if ok {
|
||||
continue
|
||||
}
|
||||
|
||||
configFile := filepath.Join(reposPath, fileEntry.Name())
|
||||
distroRepos, err := loadRepositoriesFromFile(configFile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("Loaded repository configuration file:", configFile)
|
||||
|
||||
distrosRepoConfigs[distro] = distroRepos
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return distrosRepoConfigs, nil
|
||||
}
|
||||
|
||||
// LoadRepositories loads distribution repositories from the given list of paths.
|
||||
// If there are duplicate distro repositories definitions found in multiple paths, the first
|
||||
// encounter is preferred. For this reason, the order of paths in the passed list should
|
||||
// reflect the desired preference.
|
||||
func LoadRepositories(confPaths []string, distro string) (map[string][]RepoConfig, error) {
|
||||
var repoConfigs map[string][]RepoConfig
|
||||
path := "/repositories/" + distro + ".json"
|
||||
|
||||
for _, confPath := range confPaths {
|
||||
var err error
|
||||
repoConfigs, err = loadRepositoriesFromFile(confPath + path)
|
||||
if os.IsNotExist(err) {
|
||||
continue
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Found the distro repository configs in the current path
|
||||
if repoConfigs != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if repoConfigs == nil {
|
||||
return nil, fmt.Errorf("LoadRepositories failed: none of the provided paths contain distro configuration")
|
||||
}
|
||||
|
||||
return repoConfigs, nil
|
||||
}
|
||||
|
||||
func (packages PackageList) Search(globPatterns ...string) (PackageList, error) {
|
||||
var globs []glob.Glob
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue