Нужна помочь в создание патча
hexes 10 июля, 2014 - 07:04
Доброго всем дня, для 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?
»
- Для комментирования войдите или зарегистрируйтесь
/
Можно.
Для этого в portage есть замечательная фича userpatch (функция ЕМНИП
epatch_user()
, включена помнится в EAPI 5).За подробностями к офф. Вике: http://wiki.gentoo.org/wiki//etc/portage/patches
Остаётся самое интересное (что не раскрыто в статье, и совершенно зря): как промыслить потребный файл патча самостоятельно (на основании известной потребности в модификации исходников).
Делай раз:
Фиксируешь исходную точку (дистрибутив, нуждающийся в наложении патча)
Делай два:
Вносишь необходимые исправления в дистрибутив
И делай три — промышление собственно патча:
cd ..
diff -Naur source.orig source > my-patch.patch
http://www.cpqlinux.com/patch.html
После чего кладёшь полученный файл патча в каталог по вкусу (описания вариантов у Вики) и устанавливаешь (или пересобираешь) пакет.
О целесообразности данного варианта думай сам.
:wq
--
Live free or die
to Anarchist +1
to Anarchist
+1
discord: hwline#1904
constantly use: funtoo-linux, ubuntu
Вот это спасибо! Сделал патч.
Вот это спасибо! Сделал патч. Не очень понял момент с 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 не появился в нужной папке.
.
Ты что делал?
В нулевом приближении достаточно.
Но смотри EAPI.
Подробности (в первую очередь о per package bashrc) см. здесь http://megabaks.blogspot.co.uk/2012/10/portage.html
Рекомендую рекурсию.
:wq
--
Live free or die