sbopkg
Sbopkg
13.03.2021
Sbopkg эта утилита, которая упрощает процесс сборки пакетов из репозитория SlackBuilds. Sbopkg скачивает исходный код пакета, выполняет скрипт сборки и устанавливает пакет. Скачать Sbopkg можно по ссылке https://sbopkg.org.
С Sbopkg можно работать, как из консоли, так и из псевдографического интерфейса. Т.е. есть выбор в чем удобнее работать.
Прежде всего необходимо настроить репозиторий это можно сделать в конфигурационном файле:
- /etc/sbopkg/sbopkg.conf
В моем примере настройки сделаны для ветки current. Если вы используете стабильный релиз, то ничего перенастраивать будет не нужно.
CLEANUP=${CLEANUP:-NO} DEBUG_UPDATES=${DEBUG_UPDATES:-0} KEEPLOG=${KEEPLOG:-YES}
MKDI R_PROMPT=${MKDI R_PROMPT: - YES}
NICE=${NICE:-10}
REPO_BRANCH=${REPO_BRANCH:-current} - имя ветки репозитория REPO_NAME=${REPO_NAME:-SBo-git} - имя репозитория
Так же сменить ветку репозитория можно и через меню sbopkg. Для этого нужно перейти в раздел Utilities а там в раздел Repository.
Установка происходит достаточно просто. Есть возможность найти пакет воспользовавшись меню Search. Затем можно добавить пакет в очередь либо сразу выбрать команду Procces и далее есть возможность выбрать нужное действие: только загрузить, загрузить и собрать или сразу установить.
Все это также легко сделать и через командную строку
Usage: sbopkg [OPTIONS] <packagename(s)>
-О:
-b pkg/queue(s) Собрать пакет или несколько по списку.
-B Отключить запросы подтверждения.
-c Проверить на обновления установленные пакеты.
-D localdir Указать локальную копию репозитория.
-d pkg/queue(s) Только загрузка.
-e error_action Настройка действий при ошибках: ask (default)- спросить,
-continue -продолжить,
-stop - прервать,
-f file Переопределить конфигурационный файл на указанный.
-g package(s) Общий поиск пакетов.
-h Вывод описания команд.
-i pkg/queue(s) Сборка и установка пакетов.
-k Пропустить установленные пакеты при сборке.
-l Вывести информацию из changelog репозитория.
-o Показать устаревшие файлы с исходным кодом.
-P Список не установленных пакетов в кэше и запрос на удаление. -p Список установленных пакетов из репозитория.
-q Без вывода информации в терминал.
-R Показать Readme фал при установке.
-r Синхронизировать локальный репозиторий с внешним.
-s package(s) Поиск пакетов с выводом информации о пакете.
-u Проверить обновление sbopkg.
-V repo/branch Выбрать репозиторий и ветку.
-V ? Вывести список доступных репозиториев.
-v Вывести версию.
А как обстоят дела с зависимостями? Для разрешения зависимостей существует дополнительная утилита sqg, которая позволяет создать список зависимостей для отдельного пакета или всех сразу.
-
sqg -p имя_пакета - сгенерировать список зависимостей для пакета
-
sqg -a - сгенерировать список зависимостей для всех пакетов из репозитория slackbuilds.org
В итоге мы имеем достаточно большой репозиторий Slackbuild скриптов позволяющих собирать программы из исходного кода. Почти как в ArchLinux (или в ArchLinux почти как в Slackware это уже кому, как нравится). Сейчас пока
стабильная ветка 14.2 достаточно устарела, а 15 релиза ещё нет, есть определенные трудности с Slackbuild, т.к. там содержатся скрипты только для стабильных версий. Но благо существует репозиторий ponce со скриптами для Slackware-current.
sbopkg
Достаточно для установки программы:
(пример на программе shutter)
-
#sbopkg -r (при первом запуске)
-
#sqg -p shutter
-
#sbopkg -i shutter.sqf
во-первых, первую команду целиком: “sqg -p shutter”, она сформирует очередь сборки зависимостей shutter.sqf,
во-вторых, “.sqf” во второй команде, “sbopkg -i shutter.sqf” соберет очередь целиком.
В очередь будут поставлены все 70 необходимых пакетов:
-
$ wc -l /var/lib/sbopkg/queues/shutter.sqf
-
70 /var/lib/sbopkg/queues/shutter.sqf
добавлю, если уж используется Mate, часть пакетов уже может быть собранными и установленными. Поэтому, имеет смысл добавлять ключик -k, чтобы уже установленное не пыталось пересобираться:
- #sbopkg -ki shutter.sqf
https://sbopkg.org/downloads.php - homepage