LINUX.ORG.RU

Не работают хуки portage

 , ,


1

1

Создаю хук для gentoo-sources, почему-то не работает. Хук находиться по адресу /etc/portage/env/sys-kernel/gentoo-sources, всё как в документации(раз, два), файлы исполняемые. В gentoo-sources вот эти три строчки:

pre_pkg_unpack(){
    echo "sdlfkj"
}
Когда я запускаю emerge нужной строки нет. При том bashrc отрабатывает фазу на отлично:
if [ "${EBUILD_PHASE}" == "unpack" ] || [ "${EBUILD_PHASE}" == "postrm" ];
then
  echo ":: Calling aide --update to update its database"
  echo ":: Calling updatedb to update its database"
fi
И сообщение выводятся.

Подскажите, может где напортачил.

emerge --version
Portage 2.3.84 (python 2.7.17-final-0, default/linux/amd64/17.1, gcc-9.2.0, glibc-2.29-r7, 4.19.97-gentoo x86_64)


Последнее исправление: towe (всего исправлений: 3)

Ответ на: комментарий от boowai

Вы про первую строку скрипта? И что должно случиться? register_die_hook срабатывает, когда ебилду херово. У меня всё нормально билдится

towe
() автор топика
Последнее исправление: towe (всего исправлений: 3)
Ответ на: комментарий от grem

О, спасибо большое, всё заработало. Глаз замылился, видимо

towe
() автор топика
Ответ на: комментарий от grem

Кстати, а вы не знаете почему pre_pkg_pretend не срабатывает если я использую опцию –pretend емерджа? Интуитивно она должна проходить только эту стадию. Может я неправильно понимаю функцию опции?

towe
() автор топика
Ответ на: комментарий от towe

Не знаю. Может до её выполнения не доходит

pkg_pretend phase is executed after the package manager has calculated the dependencies and before installing them

Скорее всего они (опция и функция) просто не связаны.

Я из хуков только переменные окружения использовал и то только чтобы отправлять сборку на диск, а не в tmpfs.

grem ★★★★★
()
Ответ на: комментарий от towe

Это разные pretend :-)

pre_pkg_pretend срабатывает когда зависимости разрешены и ДО начала самой сборки. Как ты понимаешь если передать emerge опцию --pretend сборка начинаться не будет. Более того - НИ ОДНА фазовая функция не должна выполняться с опцией --pretend - ибо в этом и смысл этой опции - расчет зависимостей и показ того, что будет сделано, без внесения каких-либо изменений вообще в работающую систему.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.