[jdev] Server independant transport packages (for package maintainers!)
Sander Devrieze
s.devrieze at pandora.be
Tue Apr 5 06:32:57 CDT 2005
Hi,
Last week I made three tutorials describing how to install the "old" Jabber
transports in a way that they are compatible with *every* server
implementation supporting gateways. Although it is focussed on ejabberd, it
will be applicable to other server implementations too.
The biggest problem with the old transports is that they need some (not all)
parts of jabberd 1.4.x. So, even if you are running a server like ejabberd,
you need these parts. I know there is the Jabber Runtime Component
( http://jabber.terrapin.com/JCR/ ), but the disadvantages of using this as a
solution instead of using the native parts of jabberd14 are:
* a higher chance for bugs in JCR than just using native jabberd 1.4.x code
* you have not the newest jabberd 1.4.x code (which fixes bugs).
That's why I created these three tutorials (currently only tested with success
under Debian):
http://ejabberd.jabber.ru/aim-transport (the old AIM/ICQ-Transport)
http://ejabberd.jabber.ru/yahoo-transport-2 (the old Yahoo-transport-2)
http://ejabberd.jabber.ru/msn-transport (the old MSN Transport)
P.S. In http://ejabberd.jabber.ru/tutorials-transports-privative you can find
more tutorials and I am planning tutorials for jabber-gg-transport, ILE (I
Love Email), and JIT. So, in case you are interested ;-)
So, how can package maintainers make there old jabberd14-only transports
server independant?
They need to do only two things:
1) First, they need to split the jabberd14 package into two parts:
"jabberd-base" which contains the library for xdb_file and the jabberd
binary, and another package with the name "jabberd" which contains all other
parts. The "jabberd" package should have a dependancy on "jabberd-base". The
transport packages should also have a dependancy on "jabberd-base".
2) Second, they need to make the transport configuration files in the
transport packages server independant (see examples in tutorials). Also they
need to add separate init scripts for the transports. Eventually they can
create an init script that calls all the scripts in /etc/init.d/jabber/ in
one time. e.g.:
/etc/init.d/jabber-server (the script that calls all other scripts)
/etc/init.d/jabber-server-parts/ejabberd (or jabberd, or...)
/etc/init.d/jabber-server-parts/msn-transport
/etc/init.d/jabber-server-parts/yahoo-transport-2
/etc/init.d/jabber-server-parts/etc
As you can see this will make it very stream-lined, transparant, *and* easy to
document! In the documentation you just need for example "apt-get install
<choose a Jabber/XMPP server>", install the transports you want, and run
"/etc/init.d/jabber-server start". As you can see, that will be server
independant documentation! :O)
So, spread the word to your distributions package maintainers! :-)
--
Mvg, Sander Devrieze.
xmpp:sander at l4l.be ( http://jabber.tk/ )
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <https://www.jabber.org/jdev/attachments/20050405/665a96ab/attachment-0002.pgp>
More information about the JDev
mailing list