#!/bin/sh echo '1. fetch, compile, and install erlang' if [ ! pkg_info erlang 1>/dev/null 2>&1 ]; then cd /usr/pkgsrc/lang/erlang make fetch-list|sh make make install fi if pkg_info erlang | grep -q erlang-9.1nb1; then else echo "erlang-9.1nb1 not installed" 1>&2 exit 1 fi echo '2. install crypt_drv.so' if [ ! -d /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib ] ; then mkdir -p /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib fi if [ ! -f /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib/crypto_drv.so ]; then cp work/otp*/lib/crypto/priv/*/*/crypto_drv.so \ /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib fi echo '3. compile and install elibcrypto.so' if [ ! -f /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib/elibcrypto.so ]; then cd /usr/pkgsrc/lang/erlang/work/otp_src_R9B-1/lib/crypto/c_src ld -r -u CRYPTO_set_mem_functions -u MD5 -u MD5_Init -u MD5_Update \ -u MD5_Final -u SHA1 -u SHA1_Init -u SHA1_Update -u SHA1_Final \ -u des_set_key -u des_ncbc_encrypt -u des_ede3_cbc_encrypt \ -L/usr/lib -lcrypto -o ../priv/obj/i386--netbsdelf/elibcrypto.o cc -shared \ -L/usr/pkgsrc/lang/erlang/work/otp_src_R9B-1/lib/erl_interface/obj/i386--netbsdelf \ -o ../priv/obj/i386--netbsdelf/elibcrypto.so \ ../priv/obj/i386--netbsdelf/elibcrypto.o -L/usr/lib -lcrypto cp ../priv/obj/i386--netbsdelf/elibcrypto.so \ /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib fi echo '4. compile and install ssl_esock' if [ ! -f /usr/pkg/lib/erlang/lib/ssl-2.3.5/priv/bin/ssl_esock ]; then cd /usr/pkg/lib/erlang/lib/ssl-2.3.5/priv/obj/ make fi echo '5. initial ejabberd configuration' cd /usr/pkg/jabber/ejabberd/src ./configure echo '6. edit ejabberd Makefiles' for M in Makefile mod_*/Makefile; do if [ ! -f $M.orig ]; then mv $M $M.orig sed -e s%/usr/local%/usr/pkg%g < $M.orig > $M fi done echo '7. compile ejabberd' gmake for A in mod_muc mod_pubsub; do (cd $A; gmake) done echo '' echo 'now edit ejabberd.cfg' echo '' echo 'to start ejabberd: erl -sname ejabberd -s ejabberd'