From 2aceb9efe8d8d37399dbb9528262b0e6324bd076 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Sat, 7 Feb 2026 15:07:10 +0200 Subject: [PATCH] Remove 'reinstall-all' flag --- src/bpm/main.go | 16 ++-------------- src/bpmlib/general.go | 20 ++++++-------------- src/bpmlib/operations.go | 2 +- 3 files changed, 9 insertions(+), 29 deletions(-) diff --git a/src/bpm/main.go b/src/bpm/main.go index 577060d..8361373 100644 --- a/src/bpm/main.go +++ b/src/bpm/main.go @@ -92,7 +92,6 @@ func main() { currentFlagSet.BoolP("optional", "o", false, "Install all optional dependencies") currentFlagSet.String("installation-reason", "", "Specify the installation reason to use for the specified packages") currentFlagSet.BoolP("reinstall", "r", false, "Reinstall the specified packages") - currentFlagSet.BoolP("reinstall-all", "a", false, "Reinstall the specified packages and their dependencies") currentFlagSet.IntP("jobs", "j", bpmlib.CompilationBPMConfig.CompilationJobs, "Set the amount of concurrent processes to use for source package compilation") currentFlagSet.BoolP("skip-checks", "s", false, "Skip the check function in source.sh scripts") setupFlagsAndHelp(currentFlagSet, fmt.Sprintf("bpm %s ", subcommand), "Install the specified packages", os.Args[2:]) @@ -545,8 +544,7 @@ func installPackages() { installRuntime, _ := currentFlagSet.GetBool("runtime") installOptional, _ := currentFlagSet.GetBool("optional") installationReason, _ := currentFlagSet.GetString("installation-reason") - reinstall, _ := currentFlagSet.GetBool("reinstall") - reinstallAll, _ := currentFlagSet.GetBool("reinstall-all") + reinstallPackages, _ := currentFlagSet.GetBool("reinstall") skipChecks, _ := currentFlagSet.GetBool("skip-checks") compilationJobs, _ := currentFlagSet.GetInt("jobs") @@ -580,16 +578,6 @@ func installPackages() { return } - // Get reinstall method - var reinstallMethod bpmlib.ReinstallMethod - if reinstallAll { - reinstallMethod = bpmlib.ReinstallMethodAll - } else if reinstall { - reinstallMethod = bpmlib.ReinstallMethodSpecified - } else { - reinstallMethod = bpmlib.ReinstallMethodNone - } - // Create BPM Lock file fileLock, err := bpmlib.LockBPM(rootDir) if err != nil { @@ -616,7 +604,7 @@ func installPackages() { } // Create installation operation - operation, err := bpmlib.InstallPackages(rootDir, ir, reinstallMethod, installRuntime, installOptional, force, !skipChecks, verbose, packages...) + operation, err := bpmlib.InstallPackages(rootDir, ir, reinstallPackages, installRuntime, installOptional, force, !skipChecks, verbose, packages...) if errors.As(err, &bpmlib.PackageNotFoundErr{}) || errors.As(err, &bpmlib.DependencyNotFoundErr{}) || errors.As(err, &bpmlib.PackageConflictErr{}) { log.Printf("Error: %s", err) exitCode = 1 diff --git a/src/bpmlib/general.go b/src/bpmlib/general.go index 2de1128..9fa9ce1 100644 --- a/src/bpmlib/general.go +++ b/src/bpmlib/general.go @@ -11,16 +11,8 @@ import ( "strings" ) -type ReinstallMethod uint8 - -const ( - ReinstallMethodNone ReinstallMethod = iota - ReinstallMethodSpecified ReinstallMethod = iota - ReinstallMethodAll ReinstallMethod = iota -) - // InstallPackages installs the specified packages into the given root directory by fetching them from databases or directly from local bpm archives -func InstallPackages(rootDir string, forceInstallationReason InstallationReason, reinstallMethod ReinstallMethod, installRuntimeDependencies, installOptionalDependencies, forceInstallation, runChecks bool, verbose bool, packages ...string) (operation *BPMOperation, err error) { +func InstallPackages(rootDir string, forceInstallationReason InstallationReason, reinstallPackages bool, installRuntimeDependencies, installOptionalDependencies, forceInstallation, runChecks bool, verbose bool, packages ...string) (operation *BPMOperation, err error) { // Setup operation struct operation = &BPMOperation{ Actions: make([]OperationAction, 0), @@ -45,7 +37,7 @@ func InstallPackages(rootDir string, forceInstallationReason InstallationReason, if bpmpkg.PkgInfo.Type == "source" && bpmpkg.PkgInfo.IsSplitPackage() { for _, splitPkg := range bpmpkg.PkgInfo.SplitPackages { - if reinstallMethod == ReinstallMethodNone && IsPackageInstalled(splitPkg.Name, rootDir) && GetPackageInfo(splitPkg.Name, rootDir).GetFullVersion() == splitPkg.GetFullVersion() { + if !reinstallPackages && IsPackageInstalled(splitPkg.Name, rootDir) && GetPackageInfo(splitPkg.Name, rootDir).GetFullVersion() == splitPkg.GetFullVersion() { continue } @@ -69,7 +61,7 @@ func InstallPackages(rootDir string, forceInstallationReason InstallationReason, continue } - if reinstallMethod == ReinstallMethodNone && IsPackageInstalled(bpmpkg.PkgInfo.Name, rootDir) && GetPackageInfo(bpmpkg.PkgInfo.Name, rootDir).GetFullVersion() == bpmpkg.PkgInfo.GetFullVersion() { + if !reinstallPackages && IsPackageInstalled(bpmpkg.PkgInfo.Name, rootDir) && GetPackageInfo(bpmpkg.PkgInfo.Name, rootDir).GetFullVersion() == bpmpkg.PkgInfo.GetFullVersion() { continue } @@ -105,7 +97,7 @@ func InstallPackages(rootDir string, forceInstallationReason InstallationReason, pkgsNotFound = append(pkgsNotFound, pkg) continue } - if reinstallMethod == ReinstallMethodNone && IsPackageInstalled(entry.Info.Name, rootDir) && GetPackageInfo(entry.Info.Name, rootDir).GetFullVersion() == entry.Info.GetFullVersion() { + if !reinstallPackages && IsPackageInstalled(entry.Info.Name, rootDir) && GetPackageInfo(entry.Info.Name, rootDir).GetFullVersion() == entry.Info.GetFullVersion() { continue } @@ -132,7 +124,7 @@ func InstallPackages(rootDir string, forceInstallationReason InstallationReason, } // Resolve dependencies - operation.ResolveDependencies(reinstallMethod == ReinstallMethodAll, installRuntimeDependencies, installOptionalDependencies) + operation.ResolveDependencies(installRuntimeDependencies, installOptionalDependencies) if len(operation.UnresolvedDepends) != 0 { if !forceInstallation { return nil, DependencyNotFoundErr{operation.UnresolvedDepends} @@ -428,7 +420,7 @@ func UpdatePackages(rootDir string, syncDatabase bool, allowDowngrades bool, ins } // Check for new dependencies in updated packages - operation.ResolveDependencies(false, true, installOptionalDependencies) + operation.ResolveDependencies(true, installOptionalDependencies) if len(operation.UnresolvedDepends) != 0 { if !forceInstallation { return nil, DependencyNotFoundErr{operation.UnresolvedDepends} diff --git a/src/bpmlib/operations.go b/src/bpmlib/operations.go index ed9ba5b..359cae7 100644 --- a/src/bpmlib/operations.go +++ b/src/bpmlib/operations.go @@ -131,7 +131,7 @@ func (operation *BPMOperation) GetFinalActionSize(rootDir string) int64 { return ret } -func (operation *BPMOperation) ResolveDependencies(reinstallDependencies, installRuntimeDepends, installOptionalDependencies bool) { +func (operation *BPMOperation) ResolveDependencies(installRuntimeDepends, installOptionalDependencies bool) { // Discover resolved virtual packages resolvedVirtualPackages := make(map[string]string) for _, value := range slices.Clone(operation.Actions) {