Don't pull repos if they've already been pulled in the same command

This commit is contained in:
Elara 2022-10-03 15:51:46 -07:00
parent be48f26e75
commit 8e74e58cad
3 changed files with 15 additions and 8 deletions

View File

@ -192,7 +192,7 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st
if len(vars.BuildDepends) > 0 { if len(vars.BuildDepends) > 0 {
log.Info("Installing build dependencies").Send() log.Info("Installing build dependencies").Send()
installPkgs(ctx, vars.BuildDepends, mgr) installPkgs(ctx, vars.BuildDepends, mgr, false)
} }
var builtDeps, builtNames, repoDeps []string var builtDeps, builtNames, repoDeps []string

View File

@ -36,21 +36,23 @@ func installCmd(c *cli.Context) error {
log.Fatal("Unable to detect supported package manager on system").Send() log.Fatal("Unable to detect supported package manager on system").Send()
} }
installPkgs(c.Context, args.Slice(), mgr) installPkgs(c.Context, args.Slice(), mgr, true)
return nil return nil
} }
func installPkgs(ctx context.Context, pkgs []string, mgr manager.Manager) { func installPkgs(ctx context.Context, pkgs []string, mgr manager.Manager, pull bool) {
err := pullRepos(ctx) if pull {
if err != nil { err := pullRepos(ctx)
log.Fatal("Error pulling repositories").Err(err).Send() if err != nil {
log.Fatal("Error pulling repositories").Err(err).Send()
}
} }
scripts, notFound := findPkgs(pkgs) scripts, notFound := findPkgs(pkgs)
if len(notFound) > 0 { if len(notFound) > 0 {
err = mgr.Install(nil, notFound...) err := mgr.Install(nil, notFound...)
if err != nil { if err != nil {
log.Fatal("Error installing native packages").Err(err).Send() log.Fatal("Error installing native packages").Err(err).Send()
} }

View File

@ -38,13 +38,18 @@ func upgradeCmd(c *cli.Context) error {
log.Fatal("Unable to detect supported package manager on system").Send() log.Fatal("Unable to detect supported package manager on system").Send()
} }
err = pullRepos(c.Context)
if err != nil {
log.Fatal("Error pulling repos").Err(err).Send()
}
updates, err := checkForUpdates(c.Context, mgr, info) updates, err := checkForUpdates(c.Context, mgr, info)
if err != nil { if err != nil {
log.Fatal("Error checking for updates").Err(err).Send() log.Fatal("Error checking for updates").Err(err).Send()
} }
if len(updates) > 0 { if len(updates) > 0 {
installPkgs(c.Context, updates, mgr) installPkgs(c.Context, updates, mgr, false)
} else { } else {
log.Info("There is nothing to do.").Send() log.Info("There is nothing to do.").Send()
} }