Логотип
Кто не предъявляет своих требований, о том никто не заботится (Н.Г. Чернышевский).

Менеджер пакетов Arch Linux Shelly 3.1 добавляет встроенную поддержку PKGBUILD

Менеджер пакетов Arch Linux Shelly 3.1 добавляет встроенную поддержку PKGBUILD

Shelly, автономный менеджер пакетов для Arch Linux, выпустил версию 3.1 с существенно расширенными возможностями AUR: теперь он может собирать пакеты Arch непосредственно из файлов PKGBUILD без использования makepkg.

Для тех, кто не в курсе: Shelly — это не очередная оболочка для Pacman. Это собственный менеджер пакетов, созданный на основе libalpm, той же базовой библиотеки управления пакетами, что и в самом Pacman. Shelly самостоятельно обрабатывает транзакции с пакетами, разрешение зависимостей, пакеты из репозиториев и рабочие процессы AUR. Он доступен как через интерфейс командной строки, так и в виде приложения GTK.

До сих пор одна важная часть рабочего процесса AUR зависела от внешнего инструмента Arch. Shelly мог находить пакеты AUR, разрешать зависимости, предоставлять пользователям возможность их просмотреть и выполнять установку, но фактическое выполнение PKGBUILD передавалось в makepkg. В Shelly 3.1 это изменится.

В новой версии появился собственный сборщик пакетов, являющийся частью библиотеки управления пакетами Shelly. Теперь Shelly самостоятельно управляет всем процессом сборки, от проверки PKGBUILD до создания готового архива пакета, совместимого с pacman.

Менеджер пакетов Arch Linux Shelly 3.1

 

Новая функциональность доступна через команду shelly build. Чтобы начать сборку, достаточно запустить ее в каталоге, содержащем PKGBUILD: shelly build. Кроме того, пользователи могут указать Shelly на PKGBUILD в другом месте: shelly build /path/to/PKGBUILD.

А если отсутствуют зависимости, новая опция --sync-deps позволяет Shelly разрешить и установить их перед началом сборки: shelly build --sync-deps /path/to/PKGBUILD.

Внутри Shelly теперь самостоятельно обрабатывает обычный жизненный цикл PKGBUILD. Она анализирует инструкции по сборке, просматривает соответствующие файлы, загружает и проверяет исходные коды, выполняет этапы сборки, такие как prepare()build(), check() и package(), генерирует необходимые метаданные, создает архив пакета и при необходимости подписывает его. Полученные пакеты остаются стандартными пакетами Arch Linux.

Читать  Использование арифметических операторов в сценариях Bash

Конструктор также поддерживает разделенные пакеты, зависимости и исходные файлы для конкретных архитектур, исходные файлы Git, контрольные суммы, подписи пакетов, динамические версии пакетов, переименованные исходные файлы и многие другие функции PKGBUILD, которые часто встречаются в AUR.

Одна из полезных особенностей новой реализации заключается в том, что Shelly проверяет PKGBUILD перед выполнением кода, контролируемого пакетом. Менеджер пакетов показывает пользователю PKGBUILD и связанные с ним файлы и может отмечать подозрительные команды, небезопасные локальные исходные файлы, похожие символы и команды, которые будут выполняться в процессе сборки.

В Shelly 3.1 также добавлена дополнительная песочница на основе Landlock для выполнения PKGBUILD. Если эта функция включена, скрипты сборки пакетов могут получать доступ к каталогу сборки и необходимым системным путям, но не могут свободно обращаться к другим частям домашнего каталога пользователя. Эта функция является дополнительной и по умолчанию отключена.

Обработка зависимостей — еще одна область, в которой произошли улучшения. С помощью --sync-deps менеджер пакетов Shelly теперь разрешает проблемы с отсутствующими зависимостями, а не передает их в Pacman. Это значит, что Shelly может устанавливать пакеты из обычных репозиториев Arch, а также находить и собирать зависимости, доступные только в AUR.

Помимо нового сборщика пакетов, в этом выпуске представлен run0 в качестве еще одного поддерживаемого бэкенда для повышения привилегий, а также улучшены отчеты о транзакциях, автодополнение в командной строке, восстановление кэша пакетов, хуки, обработка HTTP, инициализация TLS и поддержка AppImage.

Дополнительные сведения см. в журнале изменений Shelly 3.1.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

13 + девятнадцать =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала