mirror of
https://github.com/Jguer/yay
synced 2024-10-15 12:32:18 +00:00
Fix legacy engine install issues (#1842)
* fix debug pkg clearing pkg archive slice * add debug messages and limit check for srcinfo * treat pkgbuildDirs as expected directory, not proven directory Co-authored-by: David Tomaschik <david@systemoverlord.com> Co-authored-by: David Tomaschik <david@systemoverlord.com>
This commit is contained in:
parent
4f1f539217
commit
1b5f0d66fe
21
install.go
21
install.go
|
@ -199,10 +199,8 @@ func install(ctx context.Context, cmdArgs *parser.Arguments, dbExecutor db.Execu
|
|||
|
||||
for _, base := range do.Aur {
|
||||
dir := filepath.Join(config.BuildDir, base.Pkgbase())
|
||||
if isGitRepository(dir) {
|
||||
pkgbuildDirs[base.Pkgbase()] = dir
|
||||
}
|
||||
}
|
||||
|
||||
if config.CleanAfter {
|
||||
defer func() {
|
||||
|
@ -645,6 +643,7 @@ func buildInstallPkgbuilds(
|
|||
}
|
||||
|
||||
if !satisfied || !config.BatchInstall {
|
||||
text.Debugln("non batch installing archives:", pkgArchives)
|
||||
errArchive := installPkgArchive(ctx, cmdArgs, pkgArchives)
|
||||
errReason := setInstallReason(ctx, cmdArgs, deps, exp)
|
||||
|
||||
|
@ -775,6 +774,7 @@ func buildInstallPkgbuilds(
|
|||
}
|
||||
}
|
||||
}
|
||||
text.Debugln("deps:", deps, "exp:", exp, "pkgArchives:", pkgArchives)
|
||||
|
||||
var (
|
||||
mux sync.Mutex
|
||||
|
@ -782,14 +782,21 @@ func buildInstallPkgbuilds(
|
|||
)
|
||||
|
||||
for _, pkg := range base {
|
||||
if srcinfo == nil {
|
||||
text.Errorln(gotext.Get("could not find srcinfo for: %s", pkg.Name))
|
||||
break
|
||||
}
|
||||
|
||||
wg.Add(1)
|
||||
|
||||
text.Debugln("checking vcs store for:", pkg.Name)
|
||||
go config.Runtime.VCSStore.Update(ctx, pkg.Name, srcinfo.Source, &mux, &wg)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
text.Debugln("installing archives:", pkgArchives)
|
||||
errArchive := installPkgArchive(ctx, cmdArgs, pkgArchives)
|
||||
if errArchive != nil {
|
||||
go config.Runtime.VCSStore.RemovePackage([]string{do.Aur[len(do.Aur)-1].String()})
|
||||
|
@ -806,6 +813,10 @@ func buildInstallPkgbuilds(
|
|||
}
|
||||
|
||||
func installPkgArchive(ctx context.Context, cmdArgs *parser.Arguments, pkgArchives []string) error {
|
||||
if len(pkgArchives) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
arguments := cmdArgs.Copy()
|
||||
arguments.ClearTargets()
|
||||
arguments.Op = "U"
|
||||
|
@ -820,10 +831,6 @@ func installPkgArchive(ctx context.Context, cmdArgs *parser.Arguments, pkgArchiv
|
|||
arguments.DelArg("asdeps", "asdep")
|
||||
arguments.DelArg("asexplicit", "asexp")
|
||||
|
||||
if len(pkgArchives) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
arguments.AddTarget(pkgArchives...)
|
||||
|
||||
if errShow := config.Runtime.CmdBuilder.Show(config.Runtime.CmdBuilder.BuildPacmanCmd(ctx,
|
||||
|
@ -857,7 +864,7 @@ func doAddTarget(dp *dep.Pool, localNamesCache, remoteNamesCache stringset.Strin
|
|||
pkgdest, ok := pkgdests[name]
|
||||
if !ok {
|
||||
if optional {
|
||||
return deps, exp, newPkgArchives, nil
|
||||
return deps, exp, pkgArchives, nil
|
||||
}
|
||||
|
||||
return deps, exp, pkgArchives, errors.New(gotext.Get("could not find PKGDEST for: %s", name))
|
||||
|
|
Loading…
Reference in a new issue