Hatred's Log Place

DON'T PANIC!

Jun 29, 2017 - 2 minute read -

AUR helpers и отладочные данные

Спека PKGBUILD позволяет сделать финт ушами и автоматически сгенерировать пакет с отладочной информацией, которую можно ставить, а можно и не ставить (занимает приличное количество места в распакованном виде).

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

Всё это становится очень интересным в контексте использования с AUR. Когда я ушёл с Arch Linux, разделённые (split) пакеты в нём были роскошью. Сейчас они поддерживаются. А вот как обстоят дела с помощниками (helpers, далее по тексту: хелперы), которые собирают и устанавливают в систему?

Берём страничку с официальной Wiki:

Там есть столбец: “Split packages”, который говорит о поддержки разделённых пакетов. Вот только, оказывается, есть нюанс: debug-пакеты далеко не всеми относятся к оным.

Выбираем несколько хелперов, у которых все столбцы зелёные. Я взял:

  • yaourt - он весь красный, но стоит из коробки в Manjaro
  • pacaur - он есть в репозиториях Manjaro
  • trizen - потому как заявлен чистый pacman-like синтаксис параметров

Стоит проверить на будущее:

  • bauerbill - но имя команды вообще непроизносимое :)

Кто сознательно не проверялся:

  • aurutils - собственнический синтаксис, плюс это просто набор отдельных скриптов. Возможно для автоматизации они и будут удобны.

Собственно, полностью зелёных хелперов только 4.

Итак,

  • yaourt: хотя и заявлено, что поддержки раздельных пакетов нет, но отладочный пакет он поставил… Без вариантов. Т.е. если он вам не нужен - потом удаляйте сами, вручную. И так через каждое обновление. На реальных раздельных пакетах не проверял, скорее всего обломается. Или информация в Wiki устаревшая.
  • pacaur: тут уже заявлено, что поддержка раздельных пакетов есть, но отладочный пакет он просто не увидел. Причём, он так хитро что-то мутит под своим капотом, что сумел обновить основной пакет, сломав тем самым зависимость для старого отладочного пакета.
  • trizen: поддержка заявлена, отладочный пакет он тоже понял: предложил поставить после установки основного пакета, что есть неплохо. Из-за того, что установка идёт в два захода, обновить пакет не может: из-за поломанных зависимостей.

Ещё проверялся pamac, отладочный пакет он тоже не смог обновить по причине того, что его не видит. Более того, основной пакет тоже не обновляется, так как его обновление сломает уже установленный отладочный пакет более старой версии. На них завёл тикет. Раздельные пакеты, судя по тикету #192 он уже поддерживает. При установке же пакета (не обновление), отладочный пакет ставится автоматом, не задавая пользователю лишних вопросов, что так же не совсем удобно.