Нужна помочь в создание патча

Доброго всем дня, для IP-PBX Asterisk есть замечательный модуль app_notify (http://www.mezzo.net/asterisk/app_notify.html)
Можно написать патч чтобы он автоматом добавлялся при компиляции Asterisk?
(по сути его просто нужно положить в папку asterisk-XX.XX/apps/app_notify.c исходников перед компиляцией Asterisk)

Либо может сделать отдельный пакет? net-misc/asterisk-app-notify?

/

hexes написал(а):
Доброго всем дня, для IP-PBX Asterisk есть замечательный модуль app_notify (http://www.mezzo.net/asterisk/app_notify.html)
Можно написать патч чтобы он автоматом добавлялся при компиляции Asterisk?
(по сути его просто нужно положить в папку asterisk-XX.XX/apps/app_notify.c исходников перед компиляцией Asterisk)

Можно.
Для этого в portage есть замечательная фича userpatch (функция ЕМНИП epatch_user(), включена помнится в EAPI 5).
За подробностями к офф. Вике: http://wiki.gentoo.org/wiki//etc/portage/patches

Остаётся самое интересное (что не раскрыто в статье, и совершенно зря): как промыслить потребный файл патча самостоятельно (на основании известной потребности в модификации исходников).

Делай раз:
Фиксируешь исходную точку (дистрибутив, нуждающийся в наложении патча)

tar zxf source.tgz
cp -r source source.orig

Делай два:
Вносишь необходимые исправления в дистрибутив

cd source
vim …

И делай три — промышление собственно патча:
cd ..
diff -Naur source.orig source > my-patch.patch

http://www.cpqlinux.com/patch.html

После чего кладёшь полученный файл патча в каталог по вкусу (описания вариантов у Вики) и устанавливаешь (или пересобираешь) пакет.

hexes написал(а):
Либо может сделать отдельный пакет? net-misc/asterisk-app-notify?

О целесообразности данного варианта думай сам.

:wq
--
Live free or die

to Anarchist +1

to Anarchist

+1

Вот это спасибо! Сделал патч.

Вот это спасибо! Сделал патч. Не очень понял момент с epatch_user?
If an ebuild does not call epatch_user, and you still wish to apply user patches; this can be accomplished using bashrc hooks provided by Portage, provided the ebuild inherits eutils.eclass.
В asterisk-11.10.2.ebuild я такого не нашёл.
Есть такой момент:
EPATCH_SUFFIX="patch"
PATCHES=( "${WORKDIR}/asterisk-patchset" )
это оно?
Или мне достаточно мой патч положить в /etc/portage/patches/net-misc/asterisk ?

P.S. судя по всему чего то не доделал, компилироваться начал пакет, а файл app_notify.c не появился в нужной папке.

.

hexes написал(а):
Вот это спасибо! Сделал патч. Не очень понял момент с epatch_user?
If an ebuild does not call epatch_user, and you still wish to apply user patches; this can be accomplished using bashrc hooks provided by Portage, provided the ebuild inherits eutils.eclass.
В asterisk-11.10.2.ebuild я такого не нашёл.
Есть такой момент:
EPATCH_SUFFIX="patch"
PATCHES=( "${WORKDIR}/asterisk-patchset" )
это оно?
Или мне достаточно мой патч положить в /etc/portage/patches/net-misc/asterisk ?

Ты что делал?
В нулевом приближении достаточно.
Но смотри EAPI.

hexes написал(а):
P.S. судя по всему чего то не доделал, компилироваться начал пакет, а файл app_notify.c не появился в нужной папке.

Подробности (в первую очередь о per package bashrc) см. здесь http://megabaks.blogspot.co.uk/2012/10/portage.html
Рекомендую рекурсию.

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".