only allow mirrors with architectures set

This commit is contained in:
André Roth
2024-11-08 14:11:22 +01:00
parent 62a0a1a560
commit 0936922172
2 changed files with 18 additions and 21 deletions

View File

@@ -317,9 +317,9 @@ func (l *PackageList) VerifyDependencies(options int, architectures []string, so
progress.InitBar(int64(l.Len())*int64(len(architectures)), false, aptly.BarGeneralVerifyDependencies)
}
if len(architectures) == 0 {
if len(architectures) == 0 {
return nil, fmt.Errorf("no architectures defined, cannot verify dependencies")
}
}
for _, arch := range architectures {
cache := make(map[string]bool, 2048)

View File

@@ -350,29 +350,26 @@ ok:
return err
}
var architectures []string
if len(stanza["Architectures"]) > 0 {
architectures = strings.Split(stanza["Architectures"], " ")
} else if len(stanza["Architecture"]) > 0 {
architectures = strings.Split(stanza["Architecture"], " ")
}
if len(architectures) == 0 {
fmt.Printf("stanza arch: %s\n", stanza["Architecture"])
architectures = strings.Split(stanza["Architecture"], " ")
}
sort.Strings(architectures)
// "source" architecture is never present, despite Release file claims
architectures = utils.StrSlicesSubstract(architectures, []string{ArchitectureSource})
if len(repo.Architectures) == 0 {
repo.Architectures = architectures
} else if !repo.SkipArchitectureCheck {
err = utils.StringsIsSubset(repo.Architectures, architectures,
fmt.Sprintf("architecture %%s not available in repo %s, use -force-architectures to override", repo))
if err != nil {
return err
architectures := strings.Split(stanza["Architectures"], " ")
sort.Strings(architectures)
// "source" architecture is never present, despite Release file claims
architectures = utils.StrSlicesSubstract(architectures, []string{ArchitectureSource})
if len(repo.Architectures) == 0 {
repo.Architectures = architectures
} else if !repo.SkipArchitectureCheck {
err = utils.StringsIsSubset(repo.Architectures, architectures,
fmt.Sprintf("architecture %%s not available in repo %s, use -force-architectures to override", repo))
if err != nil {
return err
}
}
}
if len(repo.Architectures) == 0 {
return fmt.Errorf("no architectures found, please specify")
}
if !repo.IsFlat() {
components := strings.Split(stanza["Components"], " ")
if strings.Contains(repo.Distribution, "/") {