Allow querying packages with version matching

This commit is contained in:
2026-05-14 21:13:46 +03:00
parent 3950c5f0d6
commit 7f279ef8e9
+24 -6
View File
@@ -240,11 +240,12 @@ func showPackageInfo() {
for n, pkg := range packages {
if showDatabaseInfo {
var err error
var entry *bpmlib.BPMDatabaseEntry
entry, _, err = bpmlib.GetDatabaseEntry(pkg)
// Split package name and required version
pkgName, _, _ := bpmlib.SplitPkgNameAndVersion(pkg)
entry, _, err := bpmlib.GetDatabaseEntry(pkgName)
if err != nil {
if providers := bpmlib.GetDatabaseVirtualPackageEntry(pkg); len(providers) > 0 {
if providers := bpmlib.GetDatabaseVirtualPackageEntry(pkgName); len(providers) > 0 {
entry = providers[0]
} else {
log.Printf("Error: could not find package (%s) in any database\n", pkg)
@@ -253,6 +254,12 @@ func showPackageInfo() {
}
}
if !bpmlib.EvaluateDependency(pkg, entry.Info.Version) {
log.Printf("Error: could not find package (%s) in any database\n", pkg)
exitCode = 1
continue
}
if n != 0 {
fmt.Println()
}
@@ -272,17 +279,28 @@ func showPackageInfo() {
}
isFile = true
} else {
if providers := bpmlib.GetVirtualPackageInfo(pkg, rootDir); len(providers) > 0 {
// Split package name and required version
pkgName, _, _ := bpmlib.SplitPkgNameAndVersion(pkg)
if providers := bpmlib.GetVirtualPackageInfo(pkgName, rootDir); len(providers) > 0 {
bpmpkg = bpmlib.GetPackage(providers[0].Name, rootDir)
} else {
bpmpkg = bpmlib.GetPackage(pkg, rootDir)
bpmpkg = bpmlib.GetPackage(pkgName, rootDir)
}
}
if bpmpkg == nil {
log.Printf("Error: package (%s) is not installed\n", pkg)
exitCode = 1
return
}
if !bpmlib.EvaluateDependency(pkg, bpmpkg.PkgInfo.Version) {
log.Printf("Error: package (%s) is not installed\n", pkg)
exitCode = 1
return
}
if n != 0 {
fmt.Println()
}