mirror of
https://github.com/Jguer/yay
synced 2024-07-21 10:16:10 +00:00
6dd7933fbe
* Fix handling targets with specified db Handle it in a similar way to handling targets with unspecified db. Also refactored GraphSyncPkg method to make stuff more DRY. * update go-mod
69 lines
1.7 KiB
Go
69 lines
1.7 KiB
Go
package db
|
|
|
|
import (
|
|
"time"
|
|
|
|
alpm "github.com/Jguer/go-alpm/v2"
|
|
|
|
"github.com/Jguer/yay/v12/pkg/text"
|
|
)
|
|
|
|
type (
|
|
IPackage = alpm.IPackage
|
|
Depend = alpm.Depend
|
|
)
|
|
|
|
// VerCmp performs version comparison according to Pacman conventions. Return
|
|
// value is <0 if and only if v1 is older than v2.
|
|
func VerCmp(v1, v2 string) int {
|
|
return alpm.VerCmp(v1, v2)
|
|
}
|
|
|
|
type Upgrade struct {
|
|
Name string
|
|
Base string
|
|
Repository string
|
|
LocalVersion string
|
|
RemoteVersion string
|
|
Reason alpm.PkgReason
|
|
Extra string // Extra information to be displayed
|
|
}
|
|
|
|
type SyncUpgrade struct {
|
|
Package alpm.IPackage
|
|
LocalVersion string
|
|
Reason alpm.PkgReason
|
|
}
|
|
|
|
type Executor interface {
|
|
AlpmArchitectures() ([]string, error)
|
|
BiggestPackages() []IPackage
|
|
Cleanup()
|
|
InstalledRemotePackageNames() []string
|
|
InstalledRemotePackages() map[string]IPackage
|
|
InstalledSyncPackageNames() []string
|
|
IsCorrectVersionInstalled(string, string) bool
|
|
LastBuildTime() time.Time
|
|
LocalPackage(string) IPackage
|
|
LocalPackages() []IPackage
|
|
LocalSatisfierExists(string) bool
|
|
PackageDepends(IPackage) []Depend
|
|
PackageGroups(IPackage) []string
|
|
PackageOptionalDepends(IPackage) []Depend
|
|
PackageProvides(IPackage) []Depend
|
|
PackagesFromGroup(string) []IPackage
|
|
PackagesFromGroupAndDB(string, string) ([]IPackage, error)
|
|
RefreshHandle() error
|
|
SyncUpgrades(enableDowngrade bool) (
|
|
map[string]SyncUpgrade, error)
|
|
Repos() []string
|
|
SatisfierFromDB(string, string) (IPackage, error)
|
|
SyncPackage(string) IPackage
|
|
SyncPackageFromDB(string, string) IPackage
|
|
SyncPackages(...string) []IPackage
|
|
SyncSatisfier(string) IPackage
|
|
SyncSatisfierExists(string) bool
|
|
|
|
SetLogger(logger *text.Logger)
|
|
}
|