dpkg
API
dpkg
packageAPI reference for the dpkg
package.
Imports
(4)
F
function
NewDpkgInstance
Returns
error
extras/dpkg/dpkg.go:16-26
func NewDpkgInstance() error
{
if DpkgInstanced {
return errors.New("another dpkg instance already exists")
}
C.dpkg_program_init(C.CString("a.out"))
C.modstatdb_open(C.msdbrw_available_readonly)
DpkgInstanced = true
return nil
}
F
function
DpkgDispose
Returns
error
extras/dpkg/dpkg.go:28-37
func DpkgDispose() error
{
if !DpkgInstanced {
return errors.New("no dpkg instance exists")
}
C.dpkg_program_done()
DpkgInstanced = false
return nil
}
F
function
getPackageVersion
Parameters
pkgName
string
Returns
string
extras/dpkg/dpkg.go:39-48
func getPackageVersion(pkgName string) string
{
pkgInfo := C.pkg_hash_find_singleton(C.CString(pkgName))
version := C.GoString(C.versiondescribe(&pkgInfo.configversion, C.vdew_nonambig))
if version == "<none>" {
version = ""
}
return version
}
F
function
DpkgGetPackageVersion
Parameters
pkgName
string
Returns
string
extras/dpkg/dpkg.go:50-56
func DpkgGetPackageVersion(pkgName string) string
{
NewDpkgInstance()
version := getPackageVersion(pkgName)
DpkgDispose()
return version
}
F
function
DpkgBatchGetPackageVersion
Parameters
pkgNames
[]string
Returns
[]string
extras/dpkg/dpkg.go:58-68
func DpkgBatchGetPackageVersion(pkgNames []string) []string
{
versions := make([]string, len(pkgNames))
NewDpkgInstance()
for i := 0; i < len(pkgNames); i++ {
versions[i] = getPackageVersion(pkgNames[i])
}
DpkgDispose()
return versions
}
F
function
TestGetPackageVersion
Parameters
t
extras/dpkg/dpkg_test.go:8-15
func TestGetPackageVersion(t *testing.T)
{
version := DpkgGetPackageVersion("git")
fmt.Printf("Version: %s\n", version)
if version != "1:2.40.1-1" {
t.Fail()
}
}
F
function
TestBatchGetPackageVersion
Parameters
t
extras/dpkg/dpkg_test.go:17-24
func TestBatchGetPackageVersion(t *testing.T)
{
versions := DpkgBatchGetPackageVersion([]string{"git", "golang"})
fmt.Printf("Versions: %v\n", versions)
if versions[0] != "1:2.40.1-1" || versions[1] != "2:1.21~2" {
t.Fail()
}
}