Про Salix. Его «сырцы»

Алексей Федорчук

В последних строках прошлой заметки я внёс предложение: прежде чем искать недостающие бинарные пакеты «на стороне», попытаться собрать их «в своём коллективе». Для чего прибегнуть к соответствующим средствам — консольной утилите slapt-src или графическому фронт-энду Sourcery. О графических «мордах» для управления пакетами разговор будет отдельный. Здесь же я расскажу о применении консольного инструмента.

Утилита slapt-src предназначена для автоматической работы с так называемыми слакбилдами (slackbuilds). Каковые, в свою очередь, представляют собой сценарии для автоматической сборки бинарных пакетов из исходных текстов. По идее они в чём-то сходны с портами FreeBSD или портежами Gentoo, однако отличаются а) «индивидуальным» характером и б) отсутствием проверки и, тем более, разрешения зависимостей. Именно из слкабилдов собирается дистрибутив Slackware и все его клоны, в том числе и Salix. Однако в последнем, помимо вошедших в дистрибутив пакетов (они представлены в системе в бинарном виде), есть и пакеты дополнительные, существующие только в виде слкабилдов. Вот для них-то и будет применяться slapt-src.

Как уже говорилось, slapt-src написана тем же Язоном Вудвардом, что и slapt-get, и работает в том же стиле. Конструкция её команды требует указания действия (action — аналог target в slapt-get), в большинстве случаев — аргумента, то есть имени slackbuild’а, и, возможно, опций. Полный список действий и опций можно получить командой

$ slapt-src --help

или просто запустив slapt-src в «голом» виде. В отличие от slapt-get, в этой утилите какждое действие и каждая опция имеют как полную, так и краткую форму — так, вместо --help можно ввести -h. Действия и опции сопровождаются кристально ясными описаниями (в том числе и на русском), так что умеющий читать да прочтёт.

Порядок действий при использовании slapt-src — точно тот же, что и при работе с slapt-get. Первое действие — запуск команды

$ sudo slapt-src -u

которая скачает данные о слакбилдах из подключённых репозиториев. А затем — с помощью

$ slapt-src -l

просматривается список всех доступных слакбилдов или посредством

$ slapt-src -s slackbuildname

отыскивается нужный, и при необходимости командой

$ slapt-src -w [show] pkgname

просматривается его описание. После чего можно приступать к сборке:

$ slapt-src -i slackbuildname

Имя слакбилда всегда (насколько я знаю) совпадает с именем пакета, который собирается с его помощью.

Как обычно, всё сказанное проще проиллюстрировать на примере, что я сейчас и проделаю. В своё преся я говорил, что в базовой установке Salix’а нет ни одного вьювера графических изображений. Более того, ни одного из мне привычных мне вьюверов не обнаруживается и среди пакетов. А поскольку без вьюера — не жизнь, это безобразие надо ликвидировать.

Для просмотра изображений на скорую руку в Xfce предназначена штатная программа Ristretto. Не обнаружив её среди бинарников (и немало подивившись этому обстятельству), я быз труда отыскал её среди слакбилов:

$ slapt-src -s ristretto
ristretto:0.6.3 - ristretto (fast and lightweight picture-viewer)

Поскольку давно знаю её как облупленную, в получении дополнительной информации не нуждался. И сразу запустил её сборку

$ sudo slapt-src -i ristretto                                           [alv]
Password:

После ввода пользовательского пароля мне сообщили:

Следующие пакеты будут установлены:
 ristretto
Продолжить? [y/N]

Согласился с продолжением (от него можно избавиться, задав опцию -y, она же --yes), после чего началось скачивание слакбилда и его исполнение, включавшее:

  • скачивание исходников программы и распаковку архива;
  • выполнение конфигурирования;
  • компиляция и сборка бинарного пакета;
  • его установка в систему.

В результате в главном меню у меня появился пункт Графика, а в нём — пунктик Просмотр изображений Ristretto.

Не всегда дело проходит так гладко: возможно, что в системе отсутствует какая-либо из зависимостей устанавливаемого пакета. В этом случае процесс обрывается с сообщением об ошибке, которую нужно выявить и ликвидировать, прежде чем повторить процедуру. Это я продемонстрирую на одной из следующих страниц. А пока — посмотрим на графические «морды» рассмотренных консольных утилит.

Оглавление