- Добавлен метод ListAvailable в интерфейс менеджера пакетов
- Реализован поиск доступных пакетов для всех менеджеров (apt, apt-rpm, dnf, yum, pacman, apk, zypper)
- Вынесена общая функция для apt и apt-rpm во избежание дублирования
- Автодополнение теперь выводит и ALR-пакеты, и системные с дедупликацией
- Добавлена фильтрация по префиксу для производительности
- Добавлена поддержка версионных ограничений при установке пакетов
- Улучшена логика фильтрации уже установленных пакетов
- Добавлен метод GetInstalledVersion для всех менеджеров пакетов
- Активированы тесты для систем archlinux, alpine, opensuse-leap
- Улучшена обработка переменных в скриптах
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Ключ "repos" изменён на "repo" для соответствия тегу koanf в структуре Config.
Это исправляет проблему, когда дефолтный репозиторий alr-default не загружался.
- Добавлено полное разрешение дерева зависимостей перед сборкой
- Общие зависимости теперь собираются только один раз
- Исправлена работа кеша для подпакетов
- Исправлена обработка системных зависимостей
- Заменен vercmp с go.elara.ws/vercmp на gitea.plemya-x.ru/xpamych/vercmp v0.0.1
- Добавлена функция FilterPackagesByVersion для проверки версий установленных
пакетов перед пересборкой зависимостей (учитывает version-release и epoch)
- Исправлена инициализация переводов в плагинах: добавлены вызовы translations.Setup()
во всех plugin subcommands (_internal-safe-script-executor, _internal-installer,
_internal-repos)
- Добавлен GetSubcommandHelpTemplate для корректного отображения справки команд
с подкомандами на русском языке
- Добавлены кастомные help команды для config, repo, helper и mirror
- Добавлены русские переводы для всех пользовательских сообщений:
* Сообщения о создании пакетов (Creating package file, Packaging with nfpm и др.)
* Сообщения команды fix (Clearing cache, Fixing permissions и др.)
* Сообщения обновления (Updating system packages, System packages updated)
* Сообщения о версиях пакетов (Package is installed with older/newer version)
* Заголовки справки (NAME, USAGE, COMMANDS, OPTIONS)
* Справочные сообщения (Shows a list of commands or help for one command)
- Оптимизирован assets/logo.png (уменьшен с 37KB до 17KB)
выполнять 'sudo alr fix' для создания необходимых директорий. Теперь
директории /var/cache/alr и /tmp/alr создаются автоматически при первом
использовании с правильными правами доступа.
проверки root/CI перед использованием sudo
2. internal/utils/utils.go - Функция
EnsureTempDirWithRootOwner теперь не использует группу
wheel в CI
3. internal/utils/cmd.go - Функция
EnuseIsPrivilegedGroupMember пропускает проверку wheel в
CI
4. fix.go - Добавили функцию execWithPrivileges для
условного использования sudo
5. scripts/install.sh - Добавили проверку root перед
использованием sudo