DepsolveJob: rename struct field for consistency
We have two fields, `Repos` and `PackageSets`. Renaming `PackageSetsRepositories` to `PackageSetsRepos` for consistency. The struct is for internal use only so the rename has no impact as long as the serialised name is the same (json tag). Also it's shorter. Added docstring to the struct that explains the arguments in the same way as they are described for the `depsolve()` function. Changing the name of the argument in the internal `depsolve()` function for the same reasons.
This commit is contained in:
parent
70f83775b2
commit
82eedf5b82
3 changed files with 27 additions and 22 deletions
|
|
@ -14,16 +14,16 @@ type DepsolveJobImpl struct {
|
|||
|
||||
// depsolve each package set in the pacakgeSets map. The repositories defined
|
||||
// in repos are used for all package sets, whereas the repositories in
|
||||
// packageSetsRepositories are only used for the package set with the same name
|
||||
// packageSetsRepos are only used for the package set with the same name
|
||||
// (matching map keys).
|
||||
func (impl *DepsolveJobImpl) depsolve(packageSets map[string]rpmmd.PackageSet, repos []rpmmd.RepoConfig, packageSetsRepositories map[string][]rpmmd.RepoConfig, modulePlatformID, arch, releasever string) (map[string][]rpmmd.PackageSpec, error) {
|
||||
func (impl *DepsolveJobImpl) depsolve(packageSets map[string]rpmmd.PackageSet, repos []rpmmd.RepoConfig, packageSetsRepos map[string][]rpmmd.RepoConfig, modulePlatformID, arch, releasever string) (map[string][]rpmmd.PackageSpec, error) {
|
||||
rpmMD := rpmmd.NewRPMMD(impl.RPMMDCache)
|
||||
|
||||
packageSpecs := make(map[string][]rpmmd.PackageSpec)
|
||||
for name, packageSet := range packageSets {
|
||||
repositories := make([]rpmmd.RepoConfig, len(repos))
|
||||
copy(repositories, repos)
|
||||
if packageSetRepositories, ok := packageSetsRepositories[name]; ok {
|
||||
if packageSetRepositories, ok := packageSetsRepos[name]; ok {
|
||||
repositories = append(repositories, packageSetRepositories...)
|
||||
}
|
||||
packageSpec, _, err := rpmMD.Depsolve(packageSet, repositories, modulePlatformID, arch, releasever)
|
||||
|
|
@ -43,7 +43,7 @@ func (impl *DepsolveJobImpl) Run(job worker.Job) error {
|
|||
}
|
||||
|
||||
var result worker.DepsolveJobResult
|
||||
result.PackageSpecs, err = impl.depsolve(args.PackageSets, args.Repos, args.PackageSetsRepositories, args.ModulePlatformID, args.Arch, args.Releasever)
|
||||
result.PackageSpecs, err = impl.depsolve(args.PackageSets, args.Repos, args.PackageSetsRepos, args.ModulePlatformID, args.Arch, args.Releasever)
|
||||
if err != nil {
|
||||
switch e := err.(type) {
|
||||
case *rpmmd.DNFError:
|
||||
|
|
|
|||
|
|
@ -498,12 +498,12 @@ func enqueueCompose(workers *worker.Server, distribution distro.Distro, bp bluep
|
|||
ir := irs[0]
|
||||
|
||||
depsolveJobID, err := workers.EnqueueDepsolve(&worker.DepsolveJob{
|
||||
PackageSets: ir.imageType.PackageSets(bp),
|
||||
Repos: ir.repositories,
|
||||
ModulePlatformID: distribution.ModulePlatformID(),
|
||||
Arch: ir.arch.Name(),
|
||||
Releasever: distribution.Releasever(),
|
||||
PackageSetsRepositories: ir.packageSetsRepositories,
|
||||
PackageSets: ir.imageType.PackageSets(bp),
|
||||
Repos: ir.repositories,
|
||||
ModulePlatformID: distribution.ModulePlatformID(),
|
||||
Arch: ir.arch.Name(),
|
||||
Releasever: distribution.Releasever(),
|
||||
PackageSetsRepos: ir.packageSetsRepositories,
|
||||
})
|
||||
if err != nil {
|
||||
return id, HTTPErrorWithInternal(ErrorEnqueueingJob, err)
|
||||
|
|
@ -550,12 +550,12 @@ func enqueueKojiCompose(workers *worker.Server, taskID uint64, server, name, ver
|
|||
var buildIDs []uuid.UUID
|
||||
for _, ir := range irs {
|
||||
depsolveJobID, err := workers.EnqueueDepsolve(&worker.DepsolveJob{
|
||||
PackageSets: ir.imageType.PackageSets(bp),
|
||||
Repos: ir.repositories,
|
||||
ModulePlatformID: distribution.ModulePlatformID(),
|
||||
Arch: ir.arch.Name(),
|
||||
Releasever: distribution.Releasever(),
|
||||
PackageSetsRepositories: ir.packageSetsRepositories,
|
||||
PackageSets: ir.imageType.PackageSets(bp),
|
||||
Repos: ir.repositories,
|
||||
ModulePlatformID: distribution.ModulePlatformID(),
|
||||
Arch: ir.arch.Name(),
|
||||
Releasever: distribution.Releasever(),
|
||||
PackageSetsRepos: ir.packageSetsRepositories,
|
||||
})
|
||||
if err != nil {
|
||||
return id, HTTPErrorWithInternal(ErrorEnqueueingJob, err)
|
||||
|
|
|
|||
|
|
@ -102,13 +102,18 @@ func (pn *PipelineNames) All() []string {
|
|||
return append(pn.Build, pn.Payload...)
|
||||
}
|
||||
|
||||
// DepsolveJob defines the parameters of one or more depsolve jobs. Each
|
||||
// package set is meant to be depsolved separately. The repositories defined
|
||||
// in Repos are used for all package sets, whereas the repositories defined in
|
||||
// PackageSetsRepos are only used by the package sets that share the same name
|
||||
// (map key).
|
||||
type DepsolveJob struct {
|
||||
PackageSets map[string]rpmmd.PackageSet `json:"package_sets"`
|
||||
Repos []rpmmd.RepoConfig `json:"repos"`
|
||||
ModulePlatformID string `json:"module_platform_id"`
|
||||
Arch string `json:"arch"`
|
||||
Releasever string `json:"releasever"`
|
||||
PackageSetsRepositories map[string][]rpmmd.RepoConfig `json:"package_sets_repositories,omitempty"`
|
||||
PackageSets map[string]rpmmd.PackageSet `json:"package_sets"`
|
||||
Repos []rpmmd.RepoConfig `json:"repos"`
|
||||
ModulePlatformID string `json:"module_platform_id"`
|
||||
Arch string `json:"arch"`
|
||||
Releasever string `json:"releasever"`
|
||||
PackageSetsRepos map[string][]rpmmd.RepoConfig `json:"package_sets_repositories,omitempty"`
|
||||
}
|
||||
|
||||
type ErrorType string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue