diff --git a/cmd/build.go b/cmd/build.go index b3fb27ca..dce1314b 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -97,8 +97,22 @@ var buildCmd = &cobra.Command{ if err != nil { Fatal("Error: " + err.Error()) } + + stype := LuetCfg.Viper.GetString("solver.type") + discount := LuetCfg.Viper.GetFloat64("solver.discount") + rate := LuetCfg.Viper.GetFloat64("solver.rate") + attempts := LuetCfg.Viper.GetInt("solver.max_attempts") + + LuetCfg.GetSolverOptions().Type = stype + LuetCfg.GetSolverOptions().LearnRate = float32(rate) + LuetCfg.GetSolverOptions().Discount = float32(discount) + LuetCfg.GetSolverOptions().MaxAttempts = attempts + + Debug("Solver", LuetCfg.GetSolverOptions().CompactString()) + opts := compiler.NewDefaultCompilerOptions() opts.SolverOptions = *LuetCfg.GetSolverOptions() + opts.Clean = clean luetCompiler := compiler.NewLuetCompiler(compilerBackend, generalRecipe.GetDatabase(), opts) luetCompiler.SetConcurrency(concurrency) diff --git a/cmd/install.go b/cmd/install.go index 6a33aeee..bcc0ac2c 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -79,6 +79,18 @@ var installCmd = &cobra.Command{ repos = append(repos, r) } + stype := LuetCfg.Viper.GetString("solver.type") + discount := LuetCfg.Viper.GetFloat64("solver.discount") + rate := LuetCfg.Viper.GetFloat64("solver.rate") + attempts := LuetCfg.Viper.GetInt("solver.max_attempts") + + LuetCfg.GetSolverOptions().Type = stype + LuetCfg.GetSolverOptions().LearnRate = float32(rate) + LuetCfg.GetSolverOptions().Discount = float32(discount) + LuetCfg.GetSolverOptions().MaxAttempts = attempts + + Debug("Solver", LuetCfg.GetSolverOptions().CompactString()) + inst := installer.NewLuetInstaller(installer.LuetInstallerOptions{Concurrency: LuetCfg.GetGeneral().Concurrency, SolverOptions: *LuetCfg.GetSolverOptions()}) inst.Repositories(repos) diff --git a/cmd/search.go b/cmd/search.go index 255850f3..2e97aeab 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -25,7 +25,6 @@ import ( pkg "github.com/mudler/luet/pkg/package" "github.com/spf13/cobra" - "github.com/spf13/viper" ) var searchCmd = &cobra.Command{ @@ -35,7 +34,7 @@ var searchCmd = &cobra.Command{ PreRun: func(cmd *cobra.Command, args []string) { LuetCfg.Viper.BindPFlag("system.database_path", cmd.Flags().Lookup("system-dbpath")) LuetCfg.Viper.BindPFlag("system.rootfs", cmd.Flags().Lookup("system-target")) - viper.BindPFlag("installed", cmd.Flags().Lookup("installed")) + LuetCfg.Viper.BindPFlag("installed", cmd.Flags().Lookup("installed")) LuetCfg.Viper.BindPFlag("solver.type", cmd.Flags().Lookup("solver-type")) LuetCfg.Viper.BindPFlag("solver.discount", cmd.Flags().Lookup("solver-discount")) LuetCfg.Viper.BindPFlag("solver.rate", cmd.Flags().Lookup("solver-rate")) @@ -47,7 +46,18 @@ var searchCmd = &cobra.Command{ if len(args) != 1 { Fatal("Wrong number of arguments (expected 1)") } - installed := viper.GetBool("installed") + installed := LuetCfg.Viper.GetBool("installed") + stype := LuetCfg.Viper.GetString("solver.type") + discount := LuetCfg.Viper.GetFloat64("solver.discount") + rate := LuetCfg.Viper.GetFloat64("solver.rate") + attempts := LuetCfg.Viper.GetInt("solver.max_attempts") + + LuetCfg.GetSolverOptions().Type = stype + LuetCfg.GetSolverOptions().LearnRate = float32(rate) + LuetCfg.GetSolverOptions().Discount = float32(discount) + LuetCfg.GetSolverOptions().MaxAttempts = attempts + + Debug("Solver", LuetCfg.GetSolverOptions().CompactString()) if !installed { diff --git a/cmd/uninstall.go b/cmd/uninstall.go index d246900d..e375b03b 100644 --- a/cmd/uninstall.go +++ b/cmd/uninstall.go @@ -63,6 +63,18 @@ var uninstallCmd = &cobra.Command{ Uri: make([]string, 0), } + stype := LuetCfg.Viper.GetString("solver.type") + discount := LuetCfg.Viper.GetFloat64("solver.discount") + rate := LuetCfg.Viper.GetFloat64("solver.rate") + attempts := LuetCfg.Viper.GetInt("solver.max_attempts") + + LuetCfg.GetSolverOptions().Type = stype + LuetCfg.GetSolverOptions().LearnRate = float32(rate) + LuetCfg.GetSolverOptions().Discount = float32(discount) + LuetCfg.GetSolverOptions().MaxAttempts = attempts + + Debug("Solver", LuetCfg.GetSolverOptions().CompactString()) + inst := installer.NewLuetInstaller(installer.LuetInstallerOptions{Concurrency: LuetCfg.GetGeneral().Concurrency, SolverOptions: *LuetCfg.GetSolverOptions()}) if LuetCfg.GetSystem().DatabaseEngine == "boltdb" { diff --git a/cmd/upgrade.go b/cmd/upgrade.go index dc49eb93..0b10bd70 100644 --- a/cmd/upgrade.go +++ b/cmd/upgrade.go @@ -51,6 +51,18 @@ var upgradeCmd = &cobra.Command{ repos = append(repos, r) } + stype := LuetCfg.Viper.GetString("solver.type") + discount := LuetCfg.Viper.GetFloat64("solver.discount") + rate := LuetCfg.Viper.GetFloat64("solver.rate") + attempts := LuetCfg.Viper.GetInt("solver.max_attempts") + + LuetCfg.GetSolverOptions().Type = stype + LuetCfg.GetSolverOptions().LearnRate = float32(rate) + LuetCfg.GetSolverOptions().Discount = float32(discount) + LuetCfg.GetSolverOptions().MaxAttempts = attempts + + Debug("Solver", LuetCfg.GetSolverOptions().String()) + inst := installer.NewLuetInstaller(installer.LuetInstallerOptions{Concurrency: LuetCfg.GetGeneral().Concurrency, SolverOptions: *LuetCfg.GetSolverOptions()}) inst.Repositories(repos) _, err := inst.SyncRepositories(false)