Улучшения обработки зависимостей и фильтрации установленных пакетов
- Добавлена поддержка версионных ограничений при установке пакетов - Улучшена логика фильтрации уже установленных пакетов - Добавлен метод GetInstalledVersion для всех менеджеров пакетов - Активированы тесты для систем archlinux, alpine, opensuse-leap - Улучшена обработка переменных в скриптах Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -37,12 +37,12 @@ var DefaultOpts = &Opts{
|
||||
|
||||
var managers = []Manager{
|
||||
NewPacman(),
|
||||
NewAPTRpm(), // APT-RPM должен проверяться раньше APT, т.к. на ALT Linux есть оба
|
||||
NewAPT(),
|
||||
NewDNF(),
|
||||
NewYUM(),
|
||||
NewAPK(),
|
||||
NewZypper(),
|
||||
NewAPTRpm(),
|
||||
}
|
||||
|
||||
// Register registers a new package manager
|
||||
@@ -74,8 +74,11 @@ type Manager interface {
|
||||
UpgradeAll(*Opts) error
|
||||
// ListInstalled returns all installed packages mapped to their versions
|
||||
ListInstalled(*Opts) (map[string]string, error)
|
||||
//
|
||||
// IsInstalled checks if a package is installed
|
||||
IsInstalled(string) (bool, error)
|
||||
// GetInstalledVersion returns the version of an installed package.
|
||||
// Returns empty string and no error if package is not installed.
|
||||
GetInstalledVersion(string) (string, error)
|
||||
}
|
||||
|
||||
// Detect returns the package manager detected on the system
|
||||
|
||||
Reference in New Issue
Block a user