diff --git a/src/bpm/main.go b/src/bpm/main.go index 976d022..04330c7 100644 --- a/src/bpm/main.go +++ b/src/bpm/main.go @@ -92,7 +92,7 @@ func main() { currentFlagSet.String("installation-reason", "", "Specify the installation reason to use for the specified packages") currentFlagSet.BoolP("reinstall", "r", false, "Reinstall the specified packages") 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 recipe.sh scripts") + currentFlagSet.Bool("skip-checks", false, "Skip the check function in recipe.sh scripts") setupFlagsAndHelp(currentFlagSet, fmt.Sprintf("bpm %s ", subcommand), "Install the specified packages", os.Args[2:]) installPackages() @@ -141,7 +141,7 @@ func main() { currentFlagSet.BoolP("yes", "y", false, "Enter 'yes' in all prompts") currentFlagSet.BoolP("no-sync", "n", false, "Do not sync databases") currentFlagSet.Bool("allow-downgrades", false, "Allow package downgrades") - currentFlagSet.BoolP("skip-checks", "s", false, "Skip the check function in recipe.sh scripts") + currentFlagSet.Bool("skip-checks", false, "Skip the check function in recipe.sh scripts") currentFlagSet.IntP("jobs", "j", bpmlib.CompilationBPMConfig.CompilationJobs, "Set the amount of concurrent processes to use for source package compilation") setupFlagsAndHelp(currentFlagSet, fmt.Sprintf("bpm %s ", subcommand), "Update installed packages", os.Args[2:]) @@ -161,7 +161,7 @@ func main() { currentFlagSet.BoolP("force", "f", false, "Bypass warnings during package compilation") currentFlagSet.BoolP("yes", "y", false, "Enter 'yes' in all prompts") currentFlagSet.BoolP("depends", "d", false, "Install required dependencies for package compilation") - currentFlagSet.BoolP("skip-checks", "s", false, "Skip the check function in recipe.sh scripts") + currentFlagSet.Bool("skip-checks", false, "Skip the check function in recipe.sh scripts") currentFlagSet.BoolP("keep", "k", false, "Keep compilation files after successful package compilation") currentFlagSet.BoolP("output-directory", "o", false, "Set the output directory for the binary packages") currentFlagSet.Int("output-fd", -1, "Set the file descriptor output package names will be written to") @@ -1267,6 +1267,7 @@ func compilePackage() { rootDir, _ := currentFlagSet.GetString("root") verbose, _ := currentFlagSet.GetBool("verbose") yesAll, _ := currentFlagSet.GetBool("yes") + force, _ := currentFlagSet.GetBool("force") keepCompilationFiles, _ := currentFlagSet.GetBool("keep") installSrcPkgDepends, _ := currentFlagSet.GetBool("depends") skipChecks, _ := currentFlagSet.GetBool("skip-checks") @@ -1346,6 +1347,16 @@ func compilePackage() { // Install missing source package dependencies if installSrcPkgDepends && len(unmetDepends) > 0 { + // Ignore packages that can't be found in any databases + if force { + unmetDepends = slices.DeleteFunc(unmetDepends, func(s string) bool { + if bpmlib.ResolveDatabaseEntry(s, rootDir) == nil { + return true + } + return false + }) + } + // Get path to current executable executable, err := os.Executable() if err != nil {