sbopkg

sbopkg


Sbopkg

slackware-alive.ru/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