Golint fixes
This commit is contained in:
4
file.go
4
file.go
@@ -403,7 +403,7 @@ func (obj *FileResAutoEdges) Next() []ResUUID {
|
||||
return nil
|
||||
}
|
||||
value := obj.data[obj.pointer]
|
||||
obj.pointer += 1
|
||||
obj.pointer++
|
||||
return []ResUUID{value} // we return one, even though api supports N
|
||||
}
|
||||
|
||||
@@ -432,7 +432,7 @@ func (obj *FileRes) AutoEdges() AutoEdge {
|
||||
values := PathSplitFullReversed(obj.GetPath()) // build it
|
||||
_, values = values[0], values[1:] // get rid of first value which is me!
|
||||
for _, x := range values {
|
||||
var reversed bool = true // cheat by passing a pointer
|
||||
var reversed = true // cheat by passing a pointer
|
||||
data = append(data, &FileUUID{
|
||||
BaseUUID: BaseUUID{
|
||||
name: obj.GetName(),
|
||||
|
||||
141
packagekit.go
141
packagekit.go
@@ -21,7 +21,6 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/godbus/dbus"
|
||||
"log"
|
||||
@@ -141,12 +140,12 @@ type Conn struct {
|
||||
conn *dbus.Conn
|
||||
}
|
||||
|
||||
// struct that is returned by PackagesToPackageIds in the map values
|
||||
type PkPackageIdActionData struct {
|
||||
// struct that is returned by PackagesToPackageIDs in the map values
|
||||
type PkPackageIDActionData struct {
|
||||
Found bool
|
||||
Installed bool
|
||||
Version string
|
||||
PackageId string
|
||||
PackageID string
|
||||
Newest bool
|
||||
}
|
||||
|
||||
@@ -263,7 +262,7 @@ func (bus *Conn) CreateTransaction() (dbus.ObjectPath, error) {
|
||||
}
|
||||
|
||||
func (bus *Conn) ResolvePackages(packages []string, filter uint64) ([]string, error) {
|
||||
packageIds := []string{}
|
||||
packageIDs := []string{}
|
||||
ch := make(chan *dbus.Signal, PkBufferSize) // we need to buffer :(
|
||||
interfacePath, err := bus.CreateTransaction() // emits Destroy on close
|
||||
if err != nil {
|
||||
@@ -299,18 +298,18 @@ loop:
|
||||
|
||||
if signal.Name == FmtTransactionMethod("Package") {
|
||||
//pkg_int, ok := signal.Body[0].(int)
|
||||
packageId, ok := signal.Body[1].(string)
|
||||
packageID, ok := signal.Body[1].(string)
|
||||
// format is: name;version;arch;data
|
||||
if !ok {
|
||||
continue loop
|
||||
}
|
||||
//comment, ok := signal.Body[2].(string)
|
||||
for _, p := range packageIds {
|
||||
if packageId == p {
|
||||
for _, p := range packageIDs {
|
||||
if packageID == p {
|
||||
continue loop // duplicate!
|
||||
}
|
||||
}
|
||||
packageIds = append(packageIds, packageId)
|
||||
packageIDs = append(packageIDs, packageID)
|
||||
} else if signal.Name == FmtTransactionMethod("Finished") {
|
||||
// TODO: should we wait for the Destroy signal?
|
||||
break loop
|
||||
@@ -318,24 +317,24 @@ loop:
|
||||
// should already be broken
|
||||
break loop
|
||||
} else {
|
||||
return []string{}, errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return []string{}, fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
}
|
||||
}
|
||||
}
|
||||
return packageIds, nil
|
||||
return packageIDs, nil
|
||||
}
|
||||
|
||||
func (bus *Conn) IsInstalledList(packages []string) ([]bool, error) {
|
||||
var filter uint64 = 0
|
||||
var filter uint64 // initializes at the "zero" value of 0
|
||||
filter += PK_FILTER_ENUM_ARCH // always search in our arch
|
||||
packageIds, e := bus.ResolvePackages(packages, filter)
|
||||
packageIDs, e := bus.ResolvePackages(packages, filter)
|
||||
if e != nil {
|
||||
return nil, errors.New(fmt.Sprintf("ResolvePackages error: %v", e))
|
||||
return nil, fmt.Errorf("ResolvePackages error: %v", e)
|
||||
}
|
||||
|
||||
var m map[string]int = make(map[string]int)
|
||||
for _, packageId := range packageIds {
|
||||
s := strings.Split(packageId, ";")
|
||||
var m = make(map[string]int)
|
||||
for _, packageID := range packageIDs {
|
||||
s := strings.Split(packageID, ";")
|
||||
//if len(s) != 4 { continue } // this would be a bug!
|
||||
pkg := s[0]
|
||||
flags := strings.Split(s[3], ":")
|
||||
@@ -371,8 +370,8 @@ func (bus *Conn) IsInstalled(pkg string) (bool, error) {
|
||||
return p[0], nil
|
||||
}
|
||||
|
||||
// install list of packages by packageId
|
||||
func (bus *Conn) InstallPackages(packageIds []string, transactionFlags uint64) error {
|
||||
// install list of packages by packageID
|
||||
func (bus *Conn) InstallPackages(packageIDs []string, transactionFlags uint64) error {
|
||||
|
||||
ch := make(chan *dbus.Signal, PkBufferSize) // we need to buffer :(
|
||||
interfacePath, err := bus.CreateTransaction() // emits Destroy on close
|
||||
@@ -384,7 +383,7 @@ func (bus *Conn) InstallPackages(packageIds []string, transactionFlags uint64) e
|
||||
bus.matchSignal(ch, interfacePath, PkIfaceTransaction, signals)
|
||||
|
||||
obj := bus.GetBus().Object(PkIface, interfacePath) // pass in found transaction path
|
||||
call := obj.Call(FmtTransactionMethod("InstallPackages"), 0, transactionFlags, packageIds)
|
||||
call := obj.Call(FmtTransactionMethod("InstallPackages"), 0, transactionFlags, packageIDs)
|
||||
if call.Err != nil {
|
||||
return call.Err
|
||||
}
|
||||
@@ -400,7 +399,7 @@ loop:
|
||||
}
|
||||
|
||||
if signal.Name == FmtTransactionMethod("ErrorCode") {
|
||||
return errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
} else if signal.Name == FmtTransactionMethod("Package") {
|
||||
// a package was installed...
|
||||
// only start the timer once we're here...
|
||||
@@ -411,23 +410,23 @@ loop:
|
||||
} else if signal.Name == FmtTransactionMethod("Destroy") {
|
||||
return nil // success
|
||||
} else {
|
||||
return errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
}
|
||||
case _ = <-TimeAfterOrBlock(timeout):
|
||||
if finished {
|
||||
log.Println("PackageKit: Timeout: InstallPackages: Waiting for 'Destroy'")
|
||||
return nil // got tired of waiting for Destroy
|
||||
}
|
||||
return errors.New(fmt.Sprintf("PackageKit: Timeout: InstallPackages: %v", strings.Join(packageIds, ", ")))
|
||||
return fmt.Errorf("PackageKit: Timeout: InstallPackages: %v", strings.Join(packageIDs, ", "))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// remove list of packages
|
||||
func (bus *Conn) RemovePackages(packageIds []string, transactionFlags uint64) error {
|
||||
func (bus *Conn) RemovePackages(packageIDs []string, transactionFlags uint64) error {
|
||||
|
||||
var allowDeps bool = true // TODO: configurable
|
||||
var autoremove bool = false // unsupported on GNU/Linux
|
||||
var allowDeps = true // TODO: configurable
|
||||
var autoremove = false // unsupported on GNU/Linux
|
||||
ch := make(chan *dbus.Signal, PkBufferSize) // we need to buffer :(
|
||||
interfacePath, err := bus.CreateTransaction() // emits Destroy on close
|
||||
if err != nil {
|
||||
@@ -438,7 +437,7 @@ func (bus *Conn) RemovePackages(packageIds []string, transactionFlags uint64) er
|
||||
bus.matchSignal(ch, interfacePath, PkIfaceTransaction, signals)
|
||||
|
||||
obj := bus.GetBus().Object(PkIface, interfacePath) // pass in found transaction path
|
||||
call := obj.Call(FmtTransactionMethod("RemovePackages"), 0, transactionFlags, packageIds, allowDeps, autoremove)
|
||||
call := obj.Call(FmtTransactionMethod("RemovePackages"), 0, transactionFlags, packageIDs, allowDeps, autoremove)
|
||||
if call.Err != nil {
|
||||
return call.Err
|
||||
}
|
||||
@@ -453,7 +452,7 @@ loop:
|
||||
}
|
||||
|
||||
if signal.Name == FmtTransactionMethod("ErrorCode") {
|
||||
return errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
} else if signal.Name == FmtTransactionMethod("Package") {
|
||||
// a package was installed...
|
||||
continue loop
|
||||
@@ -464,7 +463,7 @@ loop:
|
||||
// should already be broken
|
||||
break loop
|
||||
} else {
|
||||
return errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -472,7 +471,7 @@ loop:
|
||||
}
|
||||
|
||||
// update list of packages to versions that are specified
|
||||
func (bus *Conn) UpdatePackages(packageIds []string, transactionFlags uint64) error {
|
||||
func (bus *Conn) UpdatePackages(packageIDs []string, transactionFlags uint64) error {
|
||||
ch := make(chan *dbus.Signal, PkBufferSize) // we need to buffer :(
|
||||
interfacePath, err := bus.CreateTransaction()
|
||||
if err != nil {
|
||||
@@ -483,7 +482,7 @@ func (bus *Conn) UpdatePackages(packageIds []string, transactionFlags uint64) er
|
||||
bus.matchSignal(ch, interfacePath, PkIfaceTransaction, signals)
|
||||
|
||||
obj := bus.GetBus().Object(PkIface, interfacePath) // pass in found transaction path
|
||||
call := obj.Call(FmtTransactionMethod("UpdatePackages"), 0, transactionFlags, packageIds)
|
||||
call := obj.Call(FmtTransactionMethod("UpdatePackages"), 0, transactionFlags, packageIDs)
|
||||
if call.Err != nil {
|
||||
return call.Err
|
||||
}
|
||||
@@ -498,7 +497,7 @@ loop:
|
||||
}
|
||||
|
||||
if signal.Name == FmtTransactionMethod("ErrorCode") {
|
||||
return errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
} else if signal.Name == FmtTransactionMethod("Package") {
|
||||
} else if signal.Name == FmtTransactionMethod("Finished") {
|
||||
// TODO: should we wait for the Destroy signal?
|
||||
@@ -507,7 +506,7 @@ loop:
|
||||
// should already be broken
|
||||
break loop
|
||||
} else {
|
||||
return errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -515,7 +514,7 @@ loop:
|
||||
}
|
||||
|
||||
// get the list of files that are contained inside a list of packageids
|
||||
func (bus *Conn) GetFilesByPackageId(packageIds []string) (files map[string][]string, err error) {
|
||||
func (bus *Conn) GetFilesByPackageID(packageIDs []string) (files map[string][]string, err error) {
|
||||
// NOTE: the maximum number of files in an RPM is 52116 in Fedora 23
|
||||
// https://gist.github.com/purpleidea/b98e60dcd449e1ac3b8a
|
||||
ch := make(chan *dbus.Signal, PkBufferSize) // we need to buffer :(
|
||||
@@ -528,7 +527,7 @@ func (bus *Conn) GetFilesByPackageId(packageIds []string) (files map[string][]st
|
||||
bus.matchSignal(ch, interfacePath, PkIfaceTransaction, signals)
|
||||
|
||||
obj := bus.GetBus().Object(PkIface, interfacePath) // pass in found transaction path
|
||||
call := obj.Call(FmtTransactionMethod("GetFiles"), 0, packageIds)
|
||||
call := obj.Call(FmtTransactionMethod("GetFiles"), 0, packageIDs)
|
||||
if call.Err != nil {
|
||||
err = call.Err
|
||||
return
|
||||
@@ -546,10 +545,10 @@ loop:
|
||||
}
|
||||
|
||||
if signal.Name == FmtTransactionMethod("ErrorCode") {
|
||||
err = errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
err = fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
return
|
||||
|
||||
// one signal returned per packageId found...
|
||||
// one signal returned per packageID found...
|
||||
} else if signal.Name == FmtTransactionMethod("Files") {
|
||||
if len(signal.Body) != 2 { // bad data
|
||||
continue loop
|
||||
@@ -571,7 +570,7 @@ loop:
|
||||
// should already be broken
|
||||
break loop
|
||||
} else {
|
||||
err = errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
err = fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -584,7 +583,7 @@ func (bus *Conn) GetUpdates(filter uint64) ([]string, error) {
|
||||
if PK_DEBUG {
|
||||
log.Println("PackageKit: GetUpdates()")
|
||||
}
|
||||
packageIds := []string{}
|
||||
packageIDs := []string{}
|
||||
ch := make(chan *dbus.Signal, PkBufferSize) // we need to buffer :(
|
||||
interfacePath, err := bus.CreateTransaction()
|
||||
if err != nil {
|
||||
@@ -610,22 +609,22 @@ loop:
|
||||
}
|
||||
|
||||
if signal.Name == FmtTransactionMethod("ErrorCode") {
|
||||
return nil, errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return nil, fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
} else if signal.Name == FmtTransactionMethod("Package") {
|
||||
|
||||
//pkg_int, ok := signal.Body[0].(int)
|
||||
packageId, ok := signal.Body[1].(string)
|
||||
packageID, ok := signal.Body[1].(string)
|
||||
// format is: name;version;arch;data
|
||||
if !ok {
|
||||
continue loop
|
||||
}
|
||||
//comment, ok := signal.Body[2].(string)
|
||||
for _, p := range packageIds { // optional?
|
||||
if packageId == p {
|
||||
for _, p := range packageIDs { // optional?
|
||||
if packageID == p {
|
||||
continue loop // duplicate!
|
||||
}
|
||||
}
|
||||
packageIds = append(packageIds, packageId)
|
||||
packageIDs = append(packageIDs, packageID)
|
||||
} else if signal.Name == FmtTransactionMethod("Finished") {
|
||||
// TODO: should we wait for the Destroy signal?
|
||||
break loop
|
||||
@@ -633,17 +632,17 @@ loop:
|
||||
// should already be broken
|
||||
break loop
|
||||
} else {
|
||||
return nil, errors.New(fmt.Sprintf("PackageKit: Error: %v", signal.Body))
|
||||
return nil, fmt.Errorf("PackageKit: Error: %v", signal.Body)
|
||||
}
|
||||
}
|
||||
}
|
||||
return packageIds, nil
|
||||
return packageIDs, nil
|
||||
}
|
||||
|
||||
// this is a helper function that *might* be generally useful outside mgmtconfig
|
||||
// packageMap input has the package names as keys and requested states as values
|
||||
// these states can be installed, uninstalled, newest or a requested version str
|
||||
func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint64) (map[string]*PkPackageIdActionData, error) {
|
||||
func (bus *Conn) PackagesToPackageIDs(packageMap map[string]string, filter uint64) (map[string]*PkPackageIDActionData, error) {
|
||||
count := 0
|
||||
packages := make([]string, len(packageMap))
|
||||
for k := range packageMap { // lol, golang has no hash.keys() function!
|
||||
@@ -656,28 +655,28 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
}
|
||||
|
||||
if PK_DEBUG {
|
||||
log.Printf("PackageKit: PackagesToPackageIds(): %v", strings.Join(packages, ", "))
|
||||
log.Printf("PackageKit: PackagesToPackageIDs(): %v", strings.Join(packages, ", "))
|
||||
}
|
||||
resolved, e := bus.ResolvePackages(packages, filter)
|
||||
if e != nil {
|
||||
return nil, errors.New(fmt.Sprintf("Resolve error: %v", e))
|
||||
return nil, fmt.Errorf("Resolve error: %v", e)
|
||||
}
|
||||
|
||||
found := make([]bool, count) // default false
|
||||
installed := make([]bool, count)
|
||||
version := make([]string, count)
|
||||
usePackageId := make([]string, count)
|
||||
usePackageID := make([]string, count)
|
||||
newest := make([]bool, count) // default true
|
||||
for i := range newest {
|
||||
newest[i] = true // assume, for now
|
||||
}
|
||||
var index int
|
||||
|
||||
for _, packageId := range resolved {
|
||||
for _, packageID := range resolved {
|
||||
index = -1
|
||||
//log.Printf("* %v", packageId)
|
||||
//log.Printf("* %v", packageID)
|
||||
// format is: name;version;arch;data
|
||||
s := strings.Split(packageId, ";")
|
||||
s := strings.Split(packageID, ";")
|
||||
//if len(s) != 4 { continue } // this would be a bug!
|
||||
pkg, ver, arch, data := s[0], s[1], s[2], s[3]
|
||||
// we might need to allow some of this, eg: i386 .deb on amd64
|
||||
@@ -695,14 +694,14 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
}
|
||||
state := packageMap[pkg] // lookup the requested state/version
|
||||
if state == "" {
|
||||
return nil, errors.New(fmt.Sprintf("Empty package state for %v", pkg))
|
||||
return nil, fmt.Errorf("Empty package state for %v", pkg)
|
||||
}
|
||||
found[index] = true
|
||||
stateIsVersion := (state != "installed" && state != "uninstalled" && state != "newest") // must be a ver. string
|
||||
|
||||
if stateIsVersion {
|
||||
if state == ver && ver != "" { // we match what we want...
|
||||
usePackageId[index] = packageId
|
||||
usePackageID[index] = packageID
|
||||
}
|
||||
}
|
||||
|
||||
@@ -712,7 +711,7 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
// state of "uninstalled" matched during CheckApply, and
|
||||
// states of "installed" and "newest" for fileList
|
||||
if !stateIsVersion {
|
||||
usePackageId[index] = packageId // save for later
|
||||
usePackageID[index] = packageID // save for later
|
||||
}
|
||||
} else { // not installed...
|
||||
if !stateIsVersion {
|
||||
@@ -721,7 +720,7 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
// then this section can run more than once...
|
||||
// in that case, don't worry, we'll choose the
|
||||
// right value in the "updates" section below!
|
||||
usePackageId[index] = packageId
|
||||
usePackageID[index] = packageID
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -733,12 +732,12 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
// FIXME: https://github.com/hughsie/PackageKit/issues/116
|
||||
updates, e := bus.GetUpdates(filter)
|
||||
if e != nil {
|
||||
return nil, errors.New(fmt.Sprintf("Updates error: %v", e))
|
||||
return nil, fmt.Errorf("Updates error: %v", e)
|
||||
}
|
||||
for _, packageId := range updates {
|
||||
//log.Printf("* %v", packageId)
|
||||
for _, packageID := range updates {
|
||||
//log.Printf("* %v", packageID)
|
||||
// format is: name;version;arch;data
|
||||
s := strings.Split(packageId, ";")
|
||||
s := strings.Split(packageID, ";")
|
||||
//if len(s) != 4 { continue } // this would be a bug!
|
||||
pkg, _, _, _ := s[0], s[1], s[2], s[3]
|
||||
for index := range packages { // find pkg if it exists
|
||||
@@ -747,7 +746,7 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
newest[index] = false
|
||||
if state == "installed" || state == "newest" {
|
||||
// fix up in case above wasn't correct!
|
||||
usePackageId[index] = packageId
|
||||
usePackageID[index] = packageID
|
||||
}
|
||||
break
|
||||
}
|
||||
@@ -756,8 +755,8 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
|
||||
// skip if the "newest" filter was used, otherwise we might need fixing
|
||||
// this check is for packages that need to verify their "newest" status
|
||||
// we need to know this so we can install the correct newest packageId!
|
||||
recursion := make(map[string]*PkPackageIdActionData)
|
||||
// we need to know this so we can install the correct newest packageID!
|
||||
recursion := make(map[string]*PkPackageIDActionData)
|
||||
if !(filter&PK_FILTER_ENUM_NEWEST == PK_FILTER_ENUM_NEWEST) {
|
||||
checkPackages := []string{}
|
||||
filteredPackageMap := make(map[string]string)
|
||||
@@ -779,17 +778,17 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
// but that's basically what recursion here could do too!
|
||||
if len(checkPackages) > 0 {
|
||||
if PK_DEBUG {
|
||||
log.Printf("PackageKit: PackagesToPackageIds(): Recurse: %v", strings.Join(checkPackages, ", "))
|
||||
log.Printf("PackageKit: PackagesToPackageIDs(): Recurse: %v", strings.Join(checkPackages, ", "))
|
||||
}
|
||||
recursion, e = bus.PackagesToPackageIds(filteredPackageMap, filter+PK_FILTER_ENUM_NEWEST)
|
||||
recursion, e = bus.PackagesToPackageIDs(filteredPackageMap, filter+PK_FILTER_ENUM_NEWEST)
|
||||
if e != nil {
|
||||
return nil, errors.New(fmt.Sprintf("Recursion error: %v", e))
|
||||
return nil, fmt.Errorf("Recursion error: %v", e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// fix up and build result format
|
||||
result := make(map[string]*PkPackageIdActionData)
|
||||
result := make(map[string]*PkPackageIDActionData)
|
||||
for index, pkg := range packages {
|
||||
|
||||
if !found[index] || !installed[index] {
|
||||
@@ -800,11 +799,11 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
if lookup, ok := recursion[pkg]; ok {
|
||||
result[pkg] = lookup
|
||||
} else {
|
||||
result[pkg] = &PkPackageIdActionData{
|
||||
result[pkg] = &PkPackageIDActionData{
|
||||
Found: found[index],
|
||||
Installed: installed[index],
|
||||
Version: version[index],
|
||||
PackageId: usePackageId[index],
|
||||
PackageID: usePackageID[index],
|
||||
Newest: newest[index],
|
||||
}
|
||||
}
|
||||
@@ -813,7 +812,7 @@ func (bus *Conn) PackagesToPackageIds(packageMap map[string]string, filter uint6
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// does flag exist inside data portion of packageId field?
|
||||
// does flag exist inside data portion of packageID field?
|
||||
func FlagInData(flag, data string) bool {
|
||||
flags := strings.Split(data, ":")
|
||||
for _, f := range flags {
|
||||
|
||||
35
pkg.go
35
pkg.go
@@ -70,14 +70,14 @@ func (obj *PkgRes) Init() {
|
||||
return
|
||||
}
|
||||
|
||||
packageIds := []string{data.PackageId} // just one for now
|
||||
filesMap, err := bus.GetFilesByPackageId(packageIds)
|
||||
packageIDs := []string{data.PackageID} // just one for now
|
||||
filesMap, err := bus.GetFilesByPackageID(packageIDs)
|
||||
if err != nil {
|
||||
// FIXME: return error?
|
||||
log.Fatalf("Can't run GetFilesByPackageId: %v", err)
|
||||
log.Fatalf("Can't run GetFilesByPackageID: %v", err)
|
||||
return
|
||||
}
|
||||
if files, ok := filesMap[data.PackageId]; ok {
|
||||
if files, ok := filesMap[data.PackageID]; ok {
|
||||
obj.fileList = DirifyFileList(files, false)
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,6 @@ func (obj *PkgRes) Watch() {
|
||||
obj.SetState(resStateWatching) // reset
|
||||
select {
|
||||
case event := <-ch:
|
||||
|
||||
// FIXME: ask packagekit for info on what packages changed
|
||||
if DEBUG {
|
||||
log.Printf("Pkg[%v]: Event: %v", obj.GetName(), event.Name)
|
||||
@@ -171,18 +170,18 @@ func (obj *PkgRes) Watch() {
|
||||
}
|
||||
}
|
||||
|
||||
func (obj *PkgRes) PkgMappingHelper(bus *Conn) (*PkPackageIdActionData, error) {
|
||||
func (obj *PkgRes) PkgMappingHelper(bus *Conn) (*PkPackageIDActionData, error) {
|
||||
|
||||
var packageMap = map[string]string{
|
||||
obj.Name: obj.State, // key is pkg name, value is pkg state
|
||||
}
|
||||
var filter uint64 = 0
|
||||
var filter uint64 // initializes at the "zero" value of 0
|
||||
filter += PK_FILTER_ENUM_ARCH // always search in our arch (optional!)
|
||||
// we're requesting latest version, or to narrow down install choices!
|
||||
if obj.State == "newest" || obj.State == "installed" {
|
||||
// if we add this, we'll still see older packages if installed
|
||||
// this is an optimization, and is *optional*, this logic is
|
||||
// handled inside of PackagesToPackageIds now automatically!
|
||||
// handled inside of PackagesToPackageIDs now automatically!
|
||||
filter += PK_FILTER_ENUM_NEWEST // only search for newest packages
|
||||
}
|
||||
if !obj.AllowNonFree {
|
||||
@@ -191,15 +190,15 @@ func (obj *PkgRes) PkgMappingHelper(bus *Conn) (*PkPackageIdActionData, error) {
|
||||
if !obj.AllowUnsupported {
|
||||
filter += PK_FILTER_ENUM_SUPPORTED
|
||||
}
|
||||
result, e := bus.PackagesToPackageIds(packageMap, filter)
|
||||
result, e := bus.PackagesToPackageIDs(packageMap, filter)
|
||||
if e != nil {
|
||||
return nil, errors.New(fmt.Sprintf("Can't run PackagesToPackageIds: %v", e))
|
||||
return nil, fmt.Errorf("Can't run PackagesToPackageIDs: %v", e)
|
||||
}
|
||||
|
||||
data, ok := result[obj.Name] // lookup single package
|
||||
// package doesn't exist, this is an error!
|
||||
if !ok || !data.Found {
|
||||
return nil, errors.New(fmt.Sprintf("Can't find package named '%s'.", obj.Name))
|
||||
return nil, fmt.Errorf("Can't find package named '%s'.", obj.Name)
|
||||
}
|
||||
|
||||
return data, nil
|
||||
@@ -224,7 +223,7 @@ func (obj *PkgRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
|
||||
data, err := obj.PkgMappingHelper(bus)
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("The PkgMappingHelper failed with: %v.", err))
|
||||
return false, fmt.Errorf("The PkgMappingHelper failed with: %v.", err)
|
||||
}
|
||||
|
||||
// obj.State == "installed" || "uninstalled" || "newest" || "4.2-1.fc23"
|
||||
@@ -247,7 +246,7 @@ func (obj *PkgRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
}
|
||||
}
|
||||
|
||||
if data.PackageId == "" {
|
||||
if data.PackageID == "" {
|
||||
return false, errors.New("Can't find package id to use.")
|
||||
}
|
||||
|
||||
@@ -258,8 +257,8 @@ func (obj *PkgRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
|
||||
// apply portion
|
||||
log.Printf("%v[%v]: Apply", obj.Kind(), obj.GetName())
|
||||
packageList := []string{data.PackageId}
|
||||
var transactionFlags uint64 = 0
|
||||
packageList := []string{data.PackageID}
|
||||
var transactionFlags uint64 // initializes at the "zero" value of 0
|
||||
if !obj.AllowUntrusted { // allow
|
||||
transactionFlags += PK_TRANSACTION_FLAG_ENUM_ONLY_TRUSTED
|
||||
}
|
||||
@@ -267,7 +266,7 @@ func (obj *PkgRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
log.Printf("%v[%v]: Set: %v...", obj.Kind(), obj.GetName(), obj.State)
|
||||
switch obj.State {
|
||||
case "uninstalled": // run remove
|
||||
// NOTE: packageId is different than when installed, because now
|
||||
// NOTE: packageID is different than when installed, because now
|
||||
// it has the "installed" flag added to the data portion if it!!
|
||||
err = bus.RemovePackages(packageList, transactionFlags)
|
||||
|
||||
@@ -325,7 +324,7 @@ func (obj *PkgResAutoEdges) Next() []ResUUID {
|
||||
var result []ResUUID
|
||||
// return UUID's for whatever is in obj.fileList
|
||||
for _, x := range obj.fileList {
|
||||
var reversed bool = false // cheat by passing a pointer
|
||||
var reversed = false // cheat by passing a pointer
|
||||
result = append(result, &FileUUID{
|
||||
BaseUUID: BaseUUID{
|
||||
name: obj.name,
|
||||
@@ -397,7 +396,7 @@ func (obj *PkgRes) AutoEdges() AutoEdge {
|
||||
// add matches for any svc resources found in pkg definition!
|
||||
var svcUUIDs []ResUUID
|
||||
for _, x := range ReturnSvcInFileList(obj.fileList) {
|
||||
var reversed bool = false
|
||||
var reversed = false
|
||||
svcUUIDs = append(svcUUIDs, &SvcUUID{
|
||||
BaseUUID: BaseUUID{
|
||||
name: obj.GetName(),
|
||||
|
||||
20
svc.go
20
svc.go
@@ -229,7 +229,7 @@ func (obj *SvcRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
|
||||
conn, err := systemd.NewSystemdConnection() // needs root access
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("Failed to connect to systemd: %v", err))
|
||||
return false, fmt.Errorf("Failed to connect to systemd: %v", err)
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
@@ -237,13 +237,13 @@ func (obj *SvcRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
|
||||
loadstate, err := conn.GetUnitProperty(svc, "LoadState")
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("Failed to get load state: %v", err))
|
||||
return false, fmt.Errorf("Failed to get load state: %v", err)
|
||||
}
|
||||
|
||||
// NOTE: we have to compare variants with other variants, they are really strings...
|
||||
var notFound = (loadstate.Value == dbus.MakeVariant("not-found"))
|
||||
if notFound {
|
||||
return false, errors.New(fmt.Sprintf("Failed to find svc: %v", svc))
|
||||
return false, fmt.Errorf("Failed to find svc: %v", svc)
|
||||
}
|
||||
|
||||
// XXX: check svc "enabled at boot" or not status...
|
||||
@@ -251,7 +251,7 @@ func (obj *SvcRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
//conn.GetUnitProperties(svc)
|
||||
activestate, err := conn.GetUnitProperty(svc, "ActiveState")
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("Failed to get active state: %v", err))
|
||||
return false, fmt.Errorf("Failed to get active state: %v", err)
|
||||
}
|
||||
|
||||
var running = (activestate.Value == dbus.MakeVariant("active"))
|
||||
@@ -278,7 +278,7 @@ func (obj *SvcRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("Unable to change startup status: %v", err))
|
||||
return false, fmt.Errorf("Unable to change startup status: %v", err)
|
||||
}
|
||||
|
||||
// XXX: do we need to use a buffered channel here?
|
||||
@@ -287,12 +287,12 @@ func (obj *SvcRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
if obj.State == "running" {
|
||||
_, err = conn.StartUnit(svc, "fail", result)
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("Failed to start unit: %v", err))
|
||||
return false, fmt.Errorf("Failed to start unit: %v", err)
|
||||
}
|
||||
} else if obj.State == "stopped" {
|
||||
_, err = conn.StopUnit(svc, "fail", result)
|
||||
if err != nil {
|
||||
return false, errors.New(fmt.Sprintf("Failed to stop unit: %v", err))
|
||||
return false, fmt.Errorf("Failed to stop unit: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@ func (obj *SvcRes) CheckApply(apply bool) (stateok bool, err error) {
|
||||
return false, errors.New("Systemd service action result is nil")
|
||||
}
|
||||
if status != "done" {
|
||||
return false, errors.New(fmt.Sprintf("Unknown systemd return string: %v", status))
|
||||
return false, fmt.Errorf("Unknown systemd return string: %v", status)
|
||||
}
|
||||
|
||||
// XXX: also set enabled on boot
|
||||
@@ -342,7 +342,7 @@ func (obj *SvcResAutoEdges) Next() []ResUUID {
|
||||
return nil
|
||||
}
|
||||
value := obj.data[obj.pointer]
|
||||
obj.pointer += 1
|
||||
obj.pointer++
|
||||
return []ResUUID{value} // we return one, even though api supports N
|
||||
}
|
||||
|
||||
@@ -372,7 +372,7 @@ func (obj *SvcRes) AutoEdges() AutoEdge {
|
||||
fmt.Sprintf("/usr/lib/systemd/system/%s.service", obj.Name), // pkg default
|
||||
}
|
||||
for _, x := range svcFiles {
|
||||
var reversed bool = true
|
||||
var reversed = true
|
||||
data = append(data, &FileUUID{
|
||||
BaseUUID: BaseUUID{
|
||||
name: obj.GetName(),
|
||||
|
||||
Reference in New Issue
Block a user