Улучшения обработки зависимостей и фильтрации установленных пакетов

- Добавлена поддержка версионных ограничений при установке пакетов
- Улучшена логика фильтрации уже установленных пакетов
- Добавлен метод GetInstalledVersion для всех менеджеров пакетов
- Активированы тесты для систем archlinux, alpine, opensuse-leap
- Улучшена обработка переменных в скриптах

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
2026-01-16 01:01:01 +03:00
parent b649a459b8
commit 3d9f4a0985
25 changed files with 1330 additions and 45 deletions

View File

@@ -18,6 +18,8 @@ package finddeps
import (
"context"
"os"
"os/exec"
"github.com/goreleaser/nfpm/v2"
@@ -39,10 +41,9 @@ func New(info *distro.OSRelease, pkgFormat string) *ProvReqService {
finder: &EmptyFindProvReq{},
}
if pkgFormat == "rpm" {
switch info.ID {
case "altlinux":
if _, err := os.Stat("/usr/lib/rpm/find-provides"); err == nil {
s.finder = &ALTLinuxFindProvReq{}
case "fedora":
} else if _, err := exec.LookPath("/usr/lib/rpm/rpmdeps"); err == nil {
s.finder = &FedoraFindProvReq{}
}
}