From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <45F96CD7.3020802@altlinux.org> Date: Thu, 15 Mar 2007 18:57:11 +0300 From: Mikhail Yakshin User-Agent: Thunderbird 1.5.0.8 (X11/20061205) MIME-Version: 1.0 To: ALT Devel discussion list Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [devel] I: Jabber policy, jabber-config, jabberd2 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Mar 2007 15:57:22 -0000 Archived-At: List-Archive: List-Post: Приветствую всех! В Сизиф 2 дня назад отправлены пакеты jabber-common и ejabberd, в которых реализована функциональность, которую условно можно назвать jabber-config. Подробнее ее идея описана в "Jabber policy", кратко сообщу детали ее реализации: ============================================================================ 1. Есть пакет jabber-common, в котором есть: * директории /usr/share/jabber/server, /usr/share/jabber/component * скрипт "сделать-все-хорошо" /usr/sbin/jabber-config * RPM-макросы /etc/rpm/macros.d/jabber, указывающие на эти директории и для вызова этого скрипта, сейчас такие вот: %_jabber_server_dir %_datadir/jabber/server %_jabber_component_dir %_datadir/jabber/component %_jabber_config %_sbindir/jabber-config 2. Для каждого джаббер-сервера в Сизифе предлагается добавить следующие вещи: * Req и BuildReq на jabber-common в спек * вызов %_jabber_config в post-install * написать маленький скрипт-адаптер, который бы лежал в %_jabber_server_dir/имя_сервера и который бы, будучи вызванный с параметрами --port=... --host=... --password=... регистрировал соответствующий компонент в конфиге сервера. Пример есть в виде сервера ejabberd. 3. Для каждого джаббер-компонента в Сизифе предлагается добавить следующее: * Req и BuildReq на jabber-common в спек * вызов %_jabber_config в post-install * скрипт-адаптер в %_jabber_component_dir/имя_компонента, который бы при вызовах с параметрами --port, --host, --password отдавал бы соответствующие значения из конфига компонента. Пример скрипта для mrim есть в предыдущем письме: http://lists.altlinux.org/pipermail/devel/2007-March/042616.html ============================================================================ Кроме этого, в процессе общения с новым мейнтейнером jabberd2, был выяснен следующий факт: по умолчанию, его роутер принимает соединения от всех компонентов на один порт - 5437, различая компоненты по хостнейму, которые они ему говорят, и паролю. ejabberd, кажется, умеет так же работать - слушая несколько возможных компонентов на 1 порте. jabberd1.4 так точно не умеет работать. Wildfire - не знаю, не проверял. Альтернативы, которые у нас есть - либо: 1) паковать все компоненты на 5437 порт, отбросить поддержку jabberd1.4; 2) паковать все компоненты на разные порты, сделать (возможно, запатчив) в jabberd2 поддержку прослушки; 3) хитро переделать всю систему в обратную сторону - чтобы порт передавался компоненту в зависимости от установленного сервера; Вопрос: что кому больше нравится, нужна ли нам более универсальная система, которая бы поддерживала в том числе и jabberd1.4 и как обстоят дела с этим у Wildfire? ============================================================================ Предыдущие серии см. в http://lists.altlinux.org/pipermail/devel/2007-March/042592.html http://lists.altlinux.org/pipermail/devel/2007-March/042616.html -- WBR, Mikhail Yakshin