mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-10-18 03:47:33 +00:00
Merge pull request #8738 from xatier/master
Add support for pacman package version query
This commit is contained in:
commit
e75dc3d536
1 changed files with 19 additions and 11 deletions
|
|
@ -142,29 +142,37 @@ func JSONDeepCopy(from, to interface{}) error {
|
|||
return json.Unmarshal(tmp, to)
|
||||
}
|
||||
|
||||
func dpkgVersion(path string) string {
|
||||
func queryPackageVersion(cmdArg ...string) string {
|
||||
output := unknownPackage
|
||||
cmd := exec.Command("/usr/bin/dpkg", "-S", path)
|
||||
if outp, err := cmd.Output(); err == nil {
|
||||
output = string(outp)
|
||||
if 1 < len(cmdArg) {
|
||||
cmd := exec.Command(cmdArg[0], cmdArg[1:]...)
|
||||
if outp, err := cmd.Output(); err == nil {
|
||||
output = string(outp)
|
||||
}
|
||||
}
|
||||
return strings.Trim(output, "\n")
|
||||
}
|
||||
|
||||
func pacmanVersion(path string) string {
|
||||
return queryPackageVersion("/usr/bin/pacman", "-Qo", path)
|
||||
}
|
||||
|
||||
func dpkgVersion(path string) string {
|
||||
return queryPackageVersion("/usr/bin/dpkg", "-S", path)
|
||||
}
|
||||
|
||||
func rpmVersion(path string) string {
|
||||
output := unknownPackage
|
||||
cmd := exec.Command("/usr/bin/rpm", "-q", "-f", path)
|
||||
if outp, err := cmd.Output(); err == nil {
|
||||
output = string(outp)
|
||||
}
|
||||
return strings.Trim(output, "\n")
|
||||
return queryPackageVersion("/usr/bin/rpm", "-q", "-f", path)
|
||||
}
|
||||
|
||||
func packageVersion(program string) string {
|
||||
if out := rpmVersion(program); out != unknownPackage {
|
||||
return out
|
||||
}
|
||||
return dpkgVersion(program)
|
||||
if out := dpkgVersion(program); out != unknownPackage {
|
||||
return out
|
||||
}
|
||||
return pacmanVersion(program)
|
||||
}
|
||||
|
||||
func programVersion(mountProgram string) (string, error) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue