Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

17.08.2015

poudriere или как я перестал волноваться и полюбил pkg

https://twitter.com/semenov1981/status/626467071333912576
Иван Семёнов любезно запечатлел как я повествую
Ну что, вспомним как писать больше 140 символов :)

Если кто вдруг не в курсе, то у нас тут существует Санкт-Петербургская группа пользователей Linux (Saint Petersburg Linux Users Group, SPbLUG) — неформальное объединение пользователей GNU/Linux и других OpenSource систем на территории Санкт-Петербурга и Ленинградской области. Собираемся мы каждую последнюю среду месяца и при желании можно послушать, а то и что нибудь рассказать собравшимся, ну или просто попить чаю с плюшками и пофлеймить на всякие, в основном, компьютеро/опенсорц близкие темы.
И вот на прошлом собрании, я решил рассказать про то что такое poudriere и почему после этого pkg становится не страшным, а страшно привлекательным. Саму презентацию можно посмотреть тут или скачать pdf, вроде писали видео, но пока не понятно будет ли.
Особо пересказывать презентацию тут смысла нет, будем надеяться что видео таки будет и кому интересно глянут, и послушаю что я там наповествовал, однако после доклада, как положено были и уточняющие вопросы и вот тут я бы очень хотел освежить память, тогда бы глядишь написал поболее, пока немного раскрою вопрос, того как poudriere работает с опциями портов/пакетов, помнится затрагивалась тема и как оказалось всё весьма интереснее. Для себя же на будущее побольше уделять времени на подготовку, а то уверенности мне не сильно хватает и перед авторитетами довольно легко пасую, хотя конечно Вячеслав Ольховченков способен и более именитых докладчиков поставить в тупик, но всё же :)

Итак, за установку опций отвечает poudriere options, из ключей наиболее полезны:
  • -z - задать SET (окружение)
  • -c - собственно вызвать диалог конфигураций
  • -r - удалить параметры, вместо их конфигурации
Ну это в общем то, можно легко прочесть в справке, но вот как оно работает, ясно не всем. Как оказалось был не прав ни я, ни Вячеслав и это вовсе не бага, а фича.
Как мне казалось, poudriere bulk должен как то реагировать, на то если опции поменялись, но нет, он только отображает изменение, и то если оно произошло для уже собранного и не обновляющегося в этот раз пакета (если пакет изменяет версию, то проверка версии срабатывает ранее и условие проверки опций, просто не срабатывает, так как пакет в любом случае будет пересобран). А за установку/изменение опций ответственен только poudriere options если его не сделать, то для порта/пакета просто будут применены значения опций по умолчанию (заданные в Makefile) даже если они ранее никогда не конфигурировались или появились/исчезли в новой версии. Это удобно, в том числе если пересобирать порты по расписанию, но если вы хотите контролировать что и как собирается, об этом надо помнить и следить, что бы не прозевать новый функционал/зависимости.
В конфиге существует опция CHECK_CHANGED_OPTIONS=no/yes/verbose (не проверять изменение/проверять/подробно показать изменение) которая всё же воздействует на bulk режим изменяя уровень информации на смену опций, но как я уже упомянул ранее, срабатывает оно не во всех случаях. Выглядит это примерно так:
yes
[00:00:03] ====>> Sanity checking the repository
[00:00:03] ====>> Checking for stale cache files
[00:00:03] ====>> Checking packages for incremental rebuild needed
[00:00:03] ====>> Deleting portmaster-3.17.7.txz: changed options
[00:00:03] ====>> Checking packages for missing dependencies
[00:00:03] ====>> Deleting stale symlinks

verbose
[00:00:01] ====>> Checking for stale cache files
[00:00:01] ====>> Checking packages for incremental rebuild needed
[00:00:02] ====>> Deleting portmaster-3.17.7.txz: changed options
[00:00:02] ====>> Pkg: 
[00:00:02] ====>> New: ZSH 
[00:00:02] ====>> Checking packages for missing dependencies
[00:00:02] ====>> Deleting stale symlinks

3 комментария:

  1. Ну, если хоть когда-нибудь наблюдали за сборкой в poudriere, то там это видно не вооруженным взглядом. Да и в доке все нормально описано.

    ОтветитьУдалить
  2. Кстати, ссылки на презентации не работают

    ОтветитьУдалить
  3. Ну не знаю, как по мне так не очень очевидный момент, как понял из дискуссии на линуксовке, видно не одному мне, так как там кажется была версия, что он должен себя вести типа как portmaster, типа выдавать диалог настройки.
    Ну и кто из благородных донов читает документацию :)

    Ссылку пофиксил, странно, чего оно у меня плющится, надо разобраться, как мой браузер туда добирается.

    ОтветитьУдалить

Здесь можно записать свои мысли о посте :)
Если ваш ответ не появился сразу, не паникуйте, тут работает спамоловка, и вероятно вы угодили в неё, так как были анонимом или в вашем посте ссылка, ну или вас не любит google.
Я проснусь и одобрю комент ;)