// BuildPkgInfo produces information about a package. func BuildPkgInfo(pkgname, dbname string) (resp []byte, er error) { alpmHandleLock.Lock() defer alpmHandleLock.Unlock() var ( pkg *alpm.Package db *alpm.Db ) h := getAlpm() switch dbname { case "", "local": dbname = "local" db, er = h.LocalDb() default: db, er = h.SyncDbByName(dbname) } if er != nil { return } pkg, er = db.PkgByName(pkgname) if er != nil { return } s, er := Execute("pkginfo", CommonData{}, map[string]interface{}{ "Package": pkg, "Repo": dbname, }) return s, er }