mirror of
https://github.com/Jguer/yay.git
synced 2025-10-04 00:03:11 -04:00
Better dep checking on split packages
Split packages are built at the same time so make sure the dependancies for all packages in the base are installed before building.
This commit is contained in:
parent
dc3ed4575a
commit
d14654a141
@ -52,6 +52,15 @@ func getDepCatagories(pkgs []string, dt *depTree) (*depCatagories, error) {
|
||||
dc := makeDependCatagories()
|
||||
seen := make(stringSet)
|
||||
|
||||
for _, pkg := range dt.Aur {
|
||||
_, ok := dc.Bases[pkg.PackageBase]
|
||||
if !ok {
|
||||
dc.Bases[pkg.PackageBase] = make([]*rpc.Pkg, 0)
|
||||
}
|
||||
dc.Bases[pkg.PackageBase] = append(dc.Bases[pkg.PackageBase], pkg)
|
||||
}
|
||||
|
||||
|
||||
for _, pkg := range pkgs {
|
||||
dep := getNameFromDep(pkg)
|
||||
alpmpkg, exists := dt.Repo[dep]
|
||||
@ -69,11 +78,6 @@ func getDepCatagories(pkgs []string, dt *depTree) (*depCatagories, error) {
|
||||
seen.set(aurpkg.PackageBase)
|
||||
}
|
||||
|
||||
_, ok := dc.Bases[aurpkg.PackageBase]
|
||||
if !ok {
|
||||
dc.Bases[aurpkg.PackageBase] = make([]*rpc.Pkg, 0)
|
||||
}
|
||||
dc.Bases[aurpkg.PackageBase] = append(dc.Bases[aurpkg.PackageBase], aurpkg)
|
||||
delete(dt.Aur, dep)
|
||||
}
|
||||
}
|
||||
@ -117,19 +121,14 @@ func repoDepCatagoriesRecursive(pkg *alpm.Package, dc *depCatagories, dt *depTre
|
||||
})
|
||||
}
|
||||
|
||||
func depCatagoriesRecursive(pkg *rpc.Pkg, dc *depCatagories, dt *depTree, isMake bool, seen stringSet) {
|
||||
func depCatagoriesRecursive(_pkg *rpc.Pkg, dc *depCatagories, dt *depTree, isMake bool, seen stringSet) {
|
||||
for _, pkg := range dc.Bases[_pkg.PackageBase] {
|
||||
for _, deps := range [3][]string{pkg.Depends, pkg.MakeDepends, pkg.CheckDepends} {
|
||||
for _, _dep := range deps {
|
||||
dep := getNameFromDep(_dep)
|
||||
|
||||
aurpkg, exists := dt.Aur[dep]
|
||||
if exists {
|
||||
_, ok := dc.Bases[aurpkg.PackageBase]
|
||||
if !ok {
|
||||
dc.Bases[aurpkg.PackageBase] = make([]*rpc.Pkg, 0)
|
||||
}
|
||||
dc.Bases[aurpkg.PackageBase] = append(dc.Bases[aurpkg.PackageBase], aurpkg)
|
||||
|
||||
delete(dt.Aur, dep)
|
||||
depCatagoriesRecursive(aurpkg, dc, dt, isMake, seen)
|
||||
|
||||
@ -159,6 +158,7 @@ func depCatagoriesRecursive(pkg *rpc.Pkg, dc *depCatagories, dt *depTree, isMake
|
||||
isMake = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func getDepTree(pkgs []string) (*depTree, error) {
|
||||
dt := makeDepTree()
|
||||
|
Loading…
x
Reference in New Issue
Block a user