[Решено] Sbopkg: 2 вопроса (Не видит установленных и вопрос о зависимостях.)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
UnixNoob
Сообщения: 1479
ОС: Slackware

[Решено] Sbopkg: 2 вопроса

Сообщение UnixNoob »

Добрый день.
При нажатии List в меню sbopkg не находит установленные пакеты. Пробовал через root’а на всякий случай, не помогло.
Из изменений в конфиге только замена переменной OUTPUT.

И ещё хотел бы узнать требуется ли что-то,кроме команды sqg -p <название программы> и выбор при sbopkg -I использовать файл зависимостей или нет?
Последний раз редактировалось UnixNoob 05.11.2020 00:19, всего редактировалось 1 раз.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Sbopkg: 2 вопроса

Сообщение Hephaestus »

UnixNoob писал:
03.11.2020 12:50
требуется ли что-то,кроме команды sqg -p <название программы> и выбор при sbopkg -I использовать файл зависимостей или нет?
Вроде нет. Если файлы очередей сгенерированы и лежат на своих местах, sbopkg их найдет и сможет использовать.

По команде List не подскажу - не пользовался. Но вроде бы там должны быть видны пакеты, установленные через sbopkg, а не любые.
Равно как и в оболочке для собранного пакета появляется пункт Install, если пакет лежит в определенном каталоге.

Вечером буду дома - гляну, что там к чему.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Sbopkg: 2 вопроса

Сообщение bormant »

UnixNoob писал:
03.11.2020 12:50
При нажатии List в меню sbopkg не находит установленные пакеты
Зависит от.
Обычно sbopkg в качестве установленного показывает пакеты с меткой (тегом) SBo, аналог:
$ ls /var/log/packages/*SBo
или с сортировкой по дате установки, свежие выше (-t):
$ ls -t /var/log/packages/*SBo

Теперь достану хрустальный шар, протру тряпочкой, смотрю... Чу!
У вас, если правильно путаю, current, и если к моим ранним советам прислушались, в качестве источника слакбилдов используется хранилище ponce (отличный выбор). Вот только собранные из него пакеты имеют метку (тег) ponce, а не SBo. Возможно дело в этом.
$ ls /var/log/packages/*ponce

Могу ошибаться и дело в чем-то другом. Проверьте.

Для удаления достаточно и штатного менеджера: removepkg, pkgtool, slackpkg remove всегда к вашим услугам.

Выбор репо для sbopkg делается либо явным указанием в /etc/sbopkg/sbopkg.conf, либо в dialog-овом режиме через меню (выбор сохраняется в ~/.sbopkg.conf), либо ключиком командной строки -V репо.
UnixNoob писал:
03.11.2020 12:50
требуется ли что-то,кроме команды sqg -p <название программы> и выбор при sbopkg -I
sqg -p пакет
строит очередь для указанного пакета, пользуясь информацией из строки REQUIRES= в файлах .info.
sqg -a
строит очереди для всех пакетов в репо слакбилдов.

# sbopkg -i пакет
при наличии и слакбилда, и файла очереди, спросит, что именно имелось в виду, только пакет или очередь.
# sbopkg -i очередь.sqf
будет собирать очередь, не задавая лишних вопросов про выбор между очередью и пакетом.
Ключей -i в одном вызове может быть больше одного.
Часто может быть полезен ключик -k -- не пересобирать уже установленное.

Добавлено (14:02):
PS. По поводу списка пакетов в sbopkg.
bormant писал(а):
03.11.2020 13:46
Могу ошибаться и дело в чем-то другом. Проверьте.
Проверил. Ошибался. Дело в другом.
Смотрю в текст скрипта sbopkg версии 0.38.1.
В нем предусмотрено использование суффикса активного репо (используется переменная $REPO_TAG) и получение списка по
find /var/log/packages -type f -name "*$REPO_TAG"

Теперь достаточно вспомнить, что в current /var/log/packages теперь является симлинком, чтобы исправление оказалось тривиальным -- добавьте завершающий слеш к пути: /var/log/packages/ в районе 494 строки sbopkg и во всех остальных упоминаниях этого пути без "/" после packages.
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1479
ОС: Slackware

Re: Sbopkg: 2 вопроса

Сообщение UnixNoob »

Hephaestus писал:
03.11.2020 12:57
По команде List не подскажу - не пользовался. Но вроде бы там должны быть видны пакеты, установленные через sbopkg, а не любые.
Да,я это понимаю. Их и хотел увидеть, я конечно записываю текущие действия, но со временем хотелось бы видеть список.
bormant писал(а):
03.11.2020 13:46
У вас, если правильно путаю, current, и если к моим ранним советам прислушались, в качестве источника слакбилдов используется хранилище ponce (отличный выбор). Вот только собранные из него пакеты имеют метку (тег) ponce, а не SBo. Возможно дело в этом.
$ ls /var/log/packages/*ponce
Я не видел обсуждения репозиториев для sbo. Вы мне о нем писали, если да, значит я как-то проглядел :ph34r: А почему вы именно его советуете?
Инструкция по его установке верная? Две строки в .config?
Thanks to slakmagik, since march 2011, this git repository is included in the default sbopkg set
you can use it on -current setting these two variables in /etc/sbopkg/sbopkg.conf

REPO_BRANCH=${REPO_BRANCH:-current}

REPO_NAME=${REPO_NAME:-SBo-git}

then run sbopkg with the '-r' (remote sync) flag.

If you want to use it temporarly while having another default repository
bormant писал(а):
03.11.2020 13:46
Теперь достаточно вспомнить, что в current /var/log/packages теперь является симлинком, чтобы исправление оказалось тривиальным -- добавьте завершающий слеш к пути: /var/log/packages/ в районе 494 строки sbopkg и во всех остальных упоминаниях этого пути без "/" после packages.
И правда, не догадался про это,хоть и читал про смену пути и использовал это при поиске ls|grep. Спасибо.
bormant писал(а):
03.11.2020 13:46
Ключей -i в одном вызове может быть больше одного.
Часто может быть полезен ключик -k -- не пересобирать уже установленное.
Я не понял как два параметра передавать при сборке,
Один через 'имя пакета:Параметр="yes|no"' а второй по цепочке? Или если два требуется,проще slackbuild подправить?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Sbopkg: 2 вопроса

Сообщение bormant »

PPS. По поводу синтаксиса файла очереди
sqg генерирует не самые оптимальные файлы очередей ;) ограничиваясь простым перечислением того, что найдет в REQUIRES= пакета и всех последующих, но зато простое и рабочее решение.
Тем не менее, есть смысл почитать про то, что может быть в файле очереди кроме тривиального списка -- варианты возможны весьма интересные. Спрашиваете, где почитать? Конечно в документации sbopkg. Собственно про очереди тут:
/usr/doc/sbopkg-*/README-quefiles
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Sbopkg: 2 вопроса

Сообщение Hephaestus »

UnixNoob писал:
03.11.2020 14:56
Я не понял как два параметра передавать при сборке,
Один через 'имя пакета:Параметр="yes|no"' а второй по цепочке?
Это Вы про какие параметры спрашиваете?
bormant писал(а):
03.11.2020 15:03
sqg генерирует не самые оптимальные файлы очередей
Куда уж. Все зависимости в нужно порядке - и то хорошо.
Я раньше очереди вручную составлял.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Sbopkg: 2 вопроса

Сообщение bormant »

UnixNoob писал:
03.11.2020 14:56
как два параметра передавать при сборке
В самом простом случае
# sbopkg -i что-то -i что-то-ещё -i и-еще-что-то

Если нужно "что-то" и "что-то-ещё" сопроводить флагами слакбилда, их перечисляют через ":":
# sbopkg -i что-то:PARAM1=y:PARAM2=n:PARAM3=maybe -i что-то-еще:PARAM=пам-пам:PARAM9=y ...
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1479
ОС: Slackware

Re: Sbopkg: 2 вопроса

Сообщение UnixNoob »

Hephaestus писал:
03.11.2020 15:08
Это Вы про какие параметры спрашиваете?
Про те что в Readme пишут иногда.
bormant писал(а):
03.11.2020 15:03
sqg генерирует не самые оптимальные файлы очередей ограничиваясь простым перечислением того, что найдет в REQUIRES= пакета и всех последующих, но зато простое и рабочее решение.
Я пока не собираю ничего сложного, зависимостей от силы 4-5. Где-то на просторах попадался скрипт чей-то под это дело,но потерял ссылку, т.к решил что раз есть встроенный способ, то это не потребуется. И даже не помню как на него вышел, т.к искать приходится много.

Нашел, вот такое попадалось.

Документацию я смотрю, но из того что видел это как использовать, про то что могут быть сложности там не писалось. Посмотрю в справке тогда еще.

А что с ponce,почему именно он? Или хотя бы где искать то что вы писали о нем.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Sbopkg: 2 вопроса

Сообщение bormant »

Репо: https://github.com/Ponce/slackbuilds
Описание: https://github.com/Ponce/slackbuilds/wiki
Обсуждение: https://www.linuxquestions.org/questions/slackware-14/sbo-scripts-not-building-on-current-read-1st-post-pls-4175561999/

Текущее репо в sbopkg:
grep ^REPO_ /etc/sbopkg/sbopkg.conf ~/.sbopkg.conf 2>/dev/null

Если видите
REPO_BRANCH=${REPO_BRANCH:-current}
REPO_NAME=${REPO_NAME:-SBo-git}
то это он и есть ;-)
Подробнее:
https://github.com/Ponce/slackbuilds/wiki/configuring-the-current-repository-with-sbopkg

Пару слов про "почему и зачем".
slackbuilds.org (SBo) публикует наборы только для стабильных (номерных) версий Slackware. Очевидно, что чем дальше от выпуска стабильной версии, тем больше изменений приходит в разрабатываемую ветку Slackware current, тем выше шансы, что протестированные для стабильной версии слакбилды в какой-то момент перестанут собираться в current.
Чтобы это победить/возглавить неминуемый бардак, энтузиасты тянут неофициальный форк SBo с исправлениями для current.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Sbopkg: 2 вопроса

Сообщение Hephaestus »

UnixNoob писал:
03.11.2020 16:36
Про те что в Readme пишут иногда.
А-а-а... Такие я предпочитаю фиксировать в файле, то бишь править .Slackbuild через интерфейс sbopkg.
После чего появляется выбор: запустить оригинальный скрипт или измененный.
Передавать через командную строку хорошо, когда параметров один-два. Если больше, уже не очень интересно.
А если, как в случае ffmpeg (шесть десятков параметров и для каждого можно задать значение), то вообще караул.
UnixNoob писал:
03.11.2020 16:36
решил что раз есть встроенный способ, то это не потребуется
Совершенно согласен. Решение по Вашей ссылке мало того, что стороннее, так ещё и почти десятилетней давности. И похоже, что неполное.
У нас-то sbopkg используется, который и тарбол скачивает, и контрольные суммы проверяет, и пакет собирает, и устанавливает, и по обновлениям работает, и вышивать умеет, и на машинке... Ну разве что кофе в постель не приносит.
А там что?
Сначала руками тянем билд...
Потом руками тянем что-то ещё...
Потом руками проверяем зависимости...
Потом надоело, набросали скрипт для автоматизации...
Который дал на выходе список зависимостей...
И?
"Можно скормить sboinstall (А это вообще кто?) или наваять что свое для автоматической сборки."
Здрасьти, приехали.
Нет уж, спасибо.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Sbopkg: 2 вопроса

Сообщение bormant »

Hephaestus писал:
03.11.2020 17:46
Такие я предпочитаю фиксировать в файле, то бишь править .Slackbuild через интерфейс sbopkg.
После чего появляется выбор: запустить оригинальный скрипт или измененный.
Передавать через командную строку хорошо, когда параметров один-два. Если больше, уже не очень интересно.
А если, как в случае ffmpeg (шесть десятков параметров и для каждого можно задать значение), то вообще караул.
Намекаю: их можно фиксировать в файле, сюрприз-сюрприз, очереди ;-)
Повторю, синтаксис файла очереди у sbopkg довольно гибкий, позволяет указывать не только опции сборки пакета, но и ссылаться на другие очереди сборки...
И нет, sqg такими вкусными возможностями не пользуется.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Sbopkg: 2 вопроса

Сообщение Hephaestus »

bormant писал(а):
03.11.2020 18:33
Намекаю: их можно фиксировать в файле, сюрприз-сюрприз, очереди ;-)
Вы, вероятно, сочтете меня тупицей, но я абсолютно не понимаю, зачем это может быть нужно.

Файл очереди (с моей точки зрения) определяет, в каком порядке собирать пакеты - на то она и очередь.
Cборка конкретного пакета определяется файлом .SlackBuild (и мало ли, какие там могут быть нюансы - сами файлы .SlackBuild зачастую устроены по-разному).
Конкретно в случае ffmpeg .SlackBuild содержит внутри себя параметры сборки (несколько десятков), которые можно редактировать. Запихивать всю эту премудрость в файл очереди совершенно незачем.

Сборка конкретного пакета и организация очереди (в том числе генерация файлов) - это две разные задачи.
Скрещивать их - это последнее, что может прийти в голову при сборке, учитывая, что существует несколько видов .SlackBuild для разных языков, а в некоторых случаях в одном .SlackBuild сборка происходит из нескольких тарболов.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Sbopkg: 2 вопроса

Сообщение bormant »

Ну вот, опять не читамши Пастернака (/usr/doc/sbopkg-*/README-q*)... ;-)
С другой стороны, кому как удобно, тот так и поступает, правка так правка.

Но на примере ffmpeg смею обратить внимание на:
1) очередь все равно руками пишете из-за тех самых флагов, что ж может помешать сделать гибко? Хотя, да, "двигатель прогресса" может ;)
2) правки средствами sbopkg: если правильно путаю, после "sbopkg -r" (или успешной сборки, запамятовал) ведут себя они аки тени в полдень. Короче, в подобных ffmpeg случаях не полюбились, осадочек остался (не исключаю, что ложки с тех пор тоже нашлись).

"Сборка пакета и организация последовательности сборки пакета — разные задачи".
Зопейсал ;)
Скажем так, вынужден не согласиться, но переубеждать не стану. Если не забуду, на следующей неделе покажу, как могла бы выглядеть рукописная очередь на сборку ffmpeg. Просто и гибко получается в результате, либо всё это лишние приседания — это уже точно дело вкуса. А о вкусах, как известно, не спорят.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Sbopkg: 2 вопроса

Сообщение Hephaestus »

bormant писал(а):
03.11.2020 20:46
Ну вот, опять не читамши Пастернака (/usr/doc/sbopkg-*/README-q*)... ;-)
Да. Не читал. Ни Пастернака, ни этот самый README-q*.
Пастернака не читал, ибо не интересует,
README-q* не читал, ибо очередей, созданных sqg вполне достаточно (а может даже и читал, да уже не помню),
сейчас глянул его - ничего интригующего не обнаружил.
bormant писал(а):
03.11.2020 20:46
очередь все равно руками пишете из-за тех самых флагов
Ничего подобного. Очереди руками не пишу. Давно уже.
Конкретно для ffmpeg: флаги проставлены в .SlackBuild,
а в файле ffmpeg.sqf присутствует только сам ffmpeg.
Собирается успешно. Хотя и не слишком быстро.
bormant писал(а):
03.11.2020 20:46
правки средствами sbopkg: если правильно путаю, после "sbopkg -r" (или успешной сборки, запамятовал) ведут себя они аки тени в полдень.
Не замечал. Правленый .SlackBuild сохраняется под именем .SlackBuild.sbopkg и никуда в дальнейшем не девается. После успешной сборки - точно, после синхронизации - вроде бы тоже. Иначе все мои файлы давно бы разлетелись, а они на месте - сейчас специально проверил.
Если уж на то пошло, файлы очередей в этом смысле ничуть не лучше: обновится версия пакета, могут измениться зависимости, и от прежнего файла очереди останется одно название - содержимое может измениться кардинально.
bormant писал(а):
03.11.2020 20:46
Если не забуду, на следующей неделе покажу, как могла бы выглядеть рукописная очередь на сборку ffmpeg.
Ну, что ж. Интересно будет посмотреть. Хотя никаких рукописных очередей для ffmpeg у меня никогда не было. Весь файл очереди - одна строчка.
bormant писал(а):
03.11.2020 20:46
Просто и гибко получается в результате
Да там и так проще некуда: флаги в .SlackBuild один раз проставил - и всё.
Да, их много, но выставлять их приходится, можно сказать, раз в жизни.
Я уж и не помню, когда я это делал. С тех пор уже несколько обновлений прошло - файл всё ещё жив.
Если и были нужны корректировки, то они минимальны и вполне выявляются с помощью diff в том же sbopkg.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1479
ОС: Slackware

Re: Sbopkg: 2 вопроса

Сообщение UnixNoob »

bormant писал(а):
03.11.2020 17:17
Текущее репо в sbopkg:
grep ^REPO_ /etc/sbopkg/sbopkg.conf ~/.sbopkg.conf 2>/dev/null
Увидел это:

Код: Выделить всё

/etc/sbopkg/sbopkg.conf:REPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg}
/etc/sbopkg/sbopkg.conf:REPO_BRANCH=${REPO_BRANCH:-14.2}
/etc/sbopkg/sbopkg.conf:REPO_NAME=${REPO_NAME:-SBo}
А,ну правильно,я sbo ставлю сам, его на Live от Alien не включено, соответственно и настройки стандартные.
Поменяем - посмотрим что и как.
Спасибо за помощь bormant,Hephaestus.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали: