Commit Graph

339 Commits

Author SHA1 Message Date
f7f9e82a1e Merge pull request 'Добавлена трансляция коротких имён ALR-пакетов при удалении' (#143) from fix/resolve-alr-names-on-remove into master
Reviewed-on: Plemya-x/ALR#143
2026-02-23 18:44:32 +00:00
fffeb010d7 Добавлена трансляция коротких имён ALR-пакетов при удалении
- Команда rm теперь автоматически преобразует короткое имя (например yandex-disk-ui) в полное (yandex-disk-ui+ALR-repo)
- Если ALR-пакет не найден, имя передаётся как есть в системный менеджер пакетов
2026-02-23 21:43:23 +03:00
a708c1980a Merge pull request 'feature/system-packages-completion' (#142) from feature/system-packages-completion into master
Reviewed-on: Plemya-x/ALR#142
2026-02-23 13:22:53 +00:00
16dd798f10 Исправлено логирование
- Исправлено применение logLevel из конфига (значение в lowercase не распознавалось)
- Добавлено предупреждение при некорректном значении logLevel
- Исправлен уровень отладочных сообщений с Info на Debug (12 мест)
2026-02-23 16:11:48 +03:00
fcd454691f Добавлено автодополнение системных пакетов в команде install
- Добавлен метод ListAvailable в интерфейс менеджера пакетов
- Реализован поиск доступных пакетов для всех менеджеров (apt, apt-rpm, dnf, yum, pacman, apk, zypper)
- Вынесена общая функция для apt и apt-rpm во избежание дублирования
- Автодополнение теперь выводит и ALR-пакеты, и системные с дедупликацией
- Добавлена фильтрация по префиксу для производительности
2026-02-23 16:02:51 +03:00
8ae3acef63 Merge pull request 'feature/versioned-dependencies' (#141) from feature/versioned-dependencies into master
1. Версионные зависимости и фильтрация установленных пакетов

  - Новый пакет pkg/depver/ — разбор и сравнение версий в зависимостях (поддержка операторов >=, <=, >, <, =)
  - Обработка зависимостей (internal/build/build.go, dependency_tree.go) — учёт версий при построении дерева зависимостей
  - Фильтрация установленных пакетов — менеджеры пакетов (apt, apk, pacman, zypper) теперь проверяют, установлен ли пакет нужной версии, и не переустанавливают его
  - Общая RPM-логика (internal/manager/common_rpm.go) — вынесена в отдельный файл
  - Расширен установщик (internal/build/installer.go) — улучшена логика установки с учётом версий
  - Поиск в репозиториях (internal/repos/find.go) — расширен поиск пакетов
  - Плагины — добавлен новый исполнитель плагинов
  - CI/CD — добавлены пайплайны GitVerse (e2e-тесты, pre-commit, релизы)

  2. Исправление удаления multilib-пакетов при установке RPM

  - Автоконфликт теперь содержит ISA-квалификатор архитектуры (например libdrm(x86-64) вместо голого libdrm)
  - Установка x86_64 пакета больше не удаляет i686 версию и её зависимости (mesa, steam и т.д.)

  3. Поиск библиотек в /usr/local/

  - files-find-lib теперь ищет также в /usr/local/lib/ и /usr/local/lib64/
  - Исправлена проблема с платформозависимыми Python-пакетами, которые ставятся в lib64
2026-02-12 15:30:37 +00:00
1d2d12ab2c Merge branch 'master' into feature/versioned-dependencies 2026-02-12 15:26:26 +00:00
69d85e9032 Добавлен поиск библиотек в /usr/local/lib и /usr/local/lib64 2026-02-12 18:05:40 +03:00
108038ef47 Исправлено удаление пакетов другой архитектуры при установке RPM 2026-02-12 17:58:28 +03:00
3d9f4a0985 Улучшения обработки зависимостей и фильтрации установленных пакетов
- Добавлена поддержка версионных ограничений при установке пакетов
- Улучшена логика фильтрации уже установленных пакетов
- Добавлен метод GetInstalledVersion для всех менеджеров пакетов
- Активированы тесты для систем archlinux, alpine, opensuse-leap
- Улучшена обработка переменных в скриптах

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-01-16 01:01:01 +03:00
97c40e32fb Merge pull request 'Запуск pre-commit только при PR' (#140) from fix/pre-commit-only-on-pr into master
Reviewed-on: Plemya-x/ALR#140
2025-12-15 20:49:56 +00:00
2e28c139ba Запуск pre-commit только при PR 2025-12-15 23:41:43 +03:00
b649a459b8 Merge pull request 'Исправлен ключ дефолтного репозитория в конфигурации' (#139) from fix/default-repo-config-key into master
Reviewed-on: Plemya-x/ALR#139
2025-12-15 20:28:51 +00:00
e8c20bad25 Исправлен ключ дефолтного репозитория в конфигурации
Ключ "repos" изменён на "repo" для соответствия тегу koanf в структуре Config.
Это исправляет проблему, когда дефолтный репозиторий alr-default не загружался.
2025-12-15 23:22:15 +03:00
df69f3dcab Merge pull request 'Исправлена повторная сборка подпакетов мультипакета' (#138) from fix/multipackage-dependencies into master
Reviewed-on: Plemya-x/ALR#138
2025-12-15 19:42:57 +00:00
a44da806d4 Исправлена повторная сборка подпакетов мультипакета
При установке пакета с зависимостями на другие подпакеты того же
мультипакета теперь каждый подпакет собирается только один раз.
2025-12-15 22:36:49 +03:00
6567f8a71f Merge pull request 'Извлечение имени репозитория из пути к скрипту при сборке через -s' (#137) from fix/repository-name-from-path into master
Reviewed-on: Plemya-x/ALR#137
2025-12-09 08:38:45 +00:00
7448d91817 Извлечение имени репозитория из пути к скрипту при сборке через -s 2025-12-09 11:33:14 +03:00
f775641cb7 Обновлён сгенерированный package_gen.go с лицензией 2025-12-08 22:26:00 +00:00
e05396f214 Добавлен лицензионный заголовок в генератор package_gen.go 2025-12-08 22:19:07 +00:00
5e094fa69f gitignore 2025-12-08 21:59:20 +00:00
d7e910c06c Оптимизация сборки зависимостей и исправление кеширования
- Добавлено полное разрешение дерева зависимостей перед сборкой
- Общие зависимости теперь собираются только один раз
- Исправлена работа кеша для подпакетов
- Исправлена обработка системных зависимостей
2025-12-08 21:58:41 +00:00
6529094fa7 Добавлен go-generate hook в pre-commit и лицензионные заголовки в автогенерируемые файлы
Изменения:
- Добавлен hook go-generate перед update-license в .pre-commit-config.yaml
- Добавлены лицензионные заголовки в pkg/alrsh/package_gen.go
2025-12-07 11:19:42 +03:00
c2d48c1a13 Исправлена проблема дублирования обновлений пакетов с подпакетами
Изменения:
- Заменён вызов InstallALRPackages на InstallPkgs в upgrade.go
- Переименована функция mapUptatesInfoToPackages в mapUpdatesToPackageNames
- Добавлена дедупликация подпакетов по полному имени (package+repo)
- Теперь возвращаются строки с именами пакетов вместо объектов Package
2025-12-06 13:08:13 +03:00
72cdfcaa4b Замена vercmp и оптимизация сборки зависимостей с полной русификацией интерфейса
- Заменен 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)
2025-11-29 19:32:13 +03:00
c9c8397856 Исправлена проблема, когда при первом запуске ALR требовалось вручную
выполнять 'sudo alr fix' для создания необходимых директорий. Теперь
  директории /var/cache/alr и /tmp/alr создаются автоматически при первом
  использовании с правильными правами доступа.
2025-11-23 15:16:22 +03:00
107075e8ef Исправлен dlcache_prod 2025-10-12 19:11:15 +03:00
41e3d8119f Добавлены files-find: systemd, systemd-user, license 2025-09-25 22:10:47 +03:00
cf804ec66b Исправлена проблема с перемещением готового пакета из временной дирректории сборки (в случае зависимости) 2025-09-21 17:50:31 +03:00
6773d51caf Добавление функций обработки files 2025-09-21 16:42:04 +03:00
4a616f2137 Исправление функционала создания дирректорий для работы ALR 2025-09-21 16:21:23 +03:00
9efebbc02a Исправление функционала создания дирректорий для работы ALR 2025-09-21 15:31:51 +03:00
ef41d682a1 Исправление функционала повышения привилегий 2025-09-21 15:04:42 +03:00
42f0d5e575 Исправление дублирования "alr" в названии пакета 2025-09-21 13:43:36 +03:00
7b9404a058 Исправление обработки зависимостей на debian-based 2025-09-21 12:36:48 +03:00
18e8dc3fbf Исправление логики определения привилегированной группы для debian производных дистрибутивов 2025-09-21 01:08:26 +03:00
9c0af83a20 Добавление вычисления SHA256 для архива и обновление версии и чексуммы 2025-09-19 23:13:32 +03:00
4bd20d84ef Добавление логики поиска пакета с noarch 2025-09-16 23:44:23 +03:00
8dea5e1e7f Улучшена логика создания конфига при новом запуске и при появлении новых опций (миграция) 2025-09-11 23:29:24 +03:00
86a982478e Исправление PrepareDirs вызывался только если пакет действительно нужно собирать 2025-09-08 22:31:43 +03:00
8bc82cb95c Добавление статистики
Исправление работы с мультипакетами
2025-09-01 01:32:43 +03:00
9783ce37de Добавление возможности обновления системным пакетным менеджером при alr up 2025-08-28 12:03:14 +03:00
b852688ab0 Исправление фильтрации имён пакетов в скрипте установки 2025-08-27 12:49:03 +03:00
2ff5e6f7b6 изменение способа определения имён для добавления в релиз №2 2025-08-27 12:33:05 +03:00
c9639b7073 изменение способа определения имён для добавления в релиз 2025-08-27 12:22:22 +03:00
c1847e1191 изменение способа определения имён для добавления в релиз 2025-08-27 12:10:42 +03:00
f2b0f57c12 1. internal/manager/common.go - Модифицировали getCmd для
проверки 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
2025-08-27 11:46:18 +03:00
59cc41e94c Внесение логики для запуска из под root 2025-08-27 01:45:54 +03:00
75ece6dfcc Исправление для авторелизов 2025-08-27 01:06:58 +03:00
6af712f1d5 исправление pre-commit hooks для корректной работы с изменёнными файлами 2025-08-27 00:49:16 +03:00