mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
Add ejabberd 0.7, free and Open Source distributed fault-tolerant Jabber
server. PR: ports/69339 Submitted by: Alexander Timoshenko <gonzo@univ.kiev.ua>
This commit is contained in:
parent
e92bfe6193
commit
cfef370297
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=116657
25 changed files with 1059 additions and 0 deletions
57
net-im/ejabberd/Makefile
Normal file
57
net-im/ejabberd/Makefile
Normal file
|
@ -0,0 +1,57 @@
|
|||
# New ports collection makefile for: ejabberd
|
||||
# Date created: 03 July 2004
|
||||
# Whom: Alexander Timoshenko <gonzo@univ.kiev.ua>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= ejabberd
|
||||
PORTVERSION= 0.7
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://www.jabber.ru/files/ejabberd/
|
||||
|
||||
MAINTAINER= gonzo@univ.kiev.ua
|
||||
COMMENT= Free and Open Source distributed fault-tolerant Jabber server
|
||||
|
||||
BUILD_DEPENDS= erlc:${PORTSDIR}/lang/erlang
|
||||
RUN_DEPENDS= erl:${PORTSDIR}/lang/erlang
|
||||
|
||||
PLIST_SUB= VERSION="${PORTVERSION}"
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME}/src
|
||||
HAS_CONFIGURE= yes
|
||||
USE_GMAKE= yes
|
||||
USE_REINPLACE= yes
|
||||
|
||||
# MAN1= yaws.1
|
||||
# MAN5= yaws.conf.5 yaws_api.5
|
||||
|
||||
APPDIR= ${PREFIX}/lib/erlang/lib/ejabberd-${PORTVERSION}
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
|
||||
${WRKSRC}/ejabberd ${WRKSRC}/ejabberdctl ${WRKSRC}/ejabberd.sh
|
||||
@${FIND} ${WRKSRC} -name \*.orig -or -name \*.bak | ${XARGS} ${RM}
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${APPDIR}/ebin
|
||||
@${INSTALL_DATA} ${WRKSRC}/*.beam ${APPDIR}/ebin
|
||||
@${RM} -f ${BEAMDIR}/configure.beam
|
||||
@${INSTALL_DATA} ${WRKSRC}/*.app ${APPDIR}/ebin
|
||||
@${MKDIR} ${APPDIR}/priv/lib
|
||||
@${INSTALL_DATA} ${WRKSRC}/*.so ${APPDIR}/priv/lib
|
||||
@${MKDIR} ${APPDIR}/priv/msgs
|
||||
@${INSTALL_DATA} ${WRKSRC}/msgs/*.msg ${APPDIR}/priv/msgs
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/ejabberd ${PREFIX}/bin
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/ejabberdctl ${PREFIX}/bin
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/ejabberd.sh ${PREFIX}/etc/rc.d
|
||||
@${INSTALL_DATA} ${FILESDIR}/ejabberd.cfg.sample ${PREFIX}/etc/
|
||||
@${MKDIR} ${DOCSDIR}
|
||||
@${INSTALL_DATA} ${WRKSRC}/../doc/* ${DOCSDIR}
|
||||
|
||||
post-install:
|
||||
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
||||
|
||||
.include <bsd.port.post.mk>
|
2
net-im/ejabberd/distinfo
Normal file
2
net-im/ejabberd/distinfo
Normal file
|
@ -0,0 +1,2 @@
|
|||
MD5 (ejabberd-0.7.tar.gz) = dfec9573263de8729213993f015cfac9
|
||||
SIZE (ejabberd-0.7.tar.gz) = 378466
|
176
net-im/ejabberd/files/ejabberd.cfg.sample
Normal file
176
net-im/ejabberd/files/ejabberd.cfg.sample
Normal file
|
@ -0,0 +1,176 @@
|
|||
% Default Debian ejabberd.cfg
|
||||
|
||||
%override_acls.
|
||||
|
||||
|
||||
% Users that have admin access. Add line like one of the following after you
|
||||
% will be successfully registered on server to get admin access:
|
||||
%{acl, admin, {user, "aleksey"}}.
|
||||
%{acl, admin, {user, "ermine"}}.
|
||||
|
||||
% Blocked users:
|
||||
%{acl, blocked, {user, "test"}}.
|
||||
|
||||
% Local users:
|
||||
{acl, local, {user_regexp, ""}}.
|
||||
|
||||
% Another examples of ACLs:
|
||||
%{acl, jabberorg, {server, "jabber.org"}}.
|
||||
%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
|
||||
%{acl, test, {user_regexp, "^test"}}.
|
||||
%{acl, test, {user_glob, "test*"}}.
|
||||
|
||||
|
||||
% Only admins can use configuration interface:
|
||||
{access, configure, [{allow, admin}]}.
|
||||
|
||||
% Every username can be registered via in-band registration:
|
||||
{access, register, [{allow, all}]}.
|
||||
|
||||
% None username can be registered via in-band registration:
|
||||
%{access, register, [{deny, all}]}.
|
||||
|
||||
% After successful registration user will get message with following subject
|
||||
% and body:
|
||||
{welcome_message,
|
||||
{"Welcome!",
|
||||
"Welcome to Debian Jabber Service. "
|
||||
"For information about Jabber visit http://jabber.org"}}.
|
||||
% Replace them with 'none' if you don't want to send such message:
|
||||
%{welcome_message, none}.
|
||||
|
||||
% List of people who will get notifications about registered users
|
||||
%{registration_watchers, ["admin1@localhost",
|
||||
% "admin2@localhost"]}.
|
||||
|
||||
% Only admins can send announcement messages:
|
||||
{access, announce, [{allow, admin}]}.
|
||||
|
||||
|
||||
% Only non-blocked users can use c2s connections:
|
||||
{access, c2s, [{deny, blocked},
|
||||
{allow, all}]}.
|
||||
|
||||
% Set shaper with name "normal" to limit traffic speed to 1000B/s
|
||||
{shaper, normal, {maxrate, 1000}}.
|
||||
|
||||
% Set shaper with name "fast" to limit traffic speed to 50000B/s
|
||||
{shaper, fast, {maxrate, 50000}}.
|
||||
|
||||
% For all users except admins used "normal" shaper
|
||||
{access, c2s_shaper, [{none, admin},
|
||||
{normal, all}]}.
|
||||
|
||||
% For all S2S connections used "fast" shaper
|
||||
{access, s2s_shaper, [{fast, all}]}.
|
||||
|
||||
% Admins of this server are also admins of MUC service:
|
||||
{access, muc_admin, [{allow, admin}]}.
|
||||
|
||||
% All users are allowed to use MUC service:
|
||||
{access, muc, [{allow, all}]}.
|
||||
|
||||
% This rule allows access only for local users:
|
||||
{access, local, [{allow, local}]}.
|
||||
|
||||
|
||||
% Authentification method. If you want to use internal user base, then use
|
||||
% this line:
|
||||
{auth_method, internal}.
|
||||
|
||||
% For LDAP uthentification use these lines instead of above one:
|
||||
%{auth_method, ldap}.
|
||||
%{ldap_servers, ["localhost"]}. % List of LDAP servers
|
||||
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
|
||||
%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory
|
||||
|
||||
|
||||
% Host name: (replace for your hostname)
|
||||
{host, "localhost"}.
|
||||
|
||||
% Default language for server messages
|
||||
{language, "en"}.
|
||||
|
||||
% Listened ports:
|
||||
{listen,
|
||||
% Ordinary client-2-server service
|
||||
[{5222, ejabberd_c2s, [{access, c2s},
|
||||
{shaper, c2s_shaper}]},
|
||||
|
||||
% SSL-enabled client-2-server service, uncomment these lines to
|
||||
% enable ssl
|
||||
% {5223, ejabberd_c2s, [{access, c2s},
|
||||
% ssl,
|
||||
% {certfile, "/etc/ssl/certs/ejabberd.pem"}]},
|
||||
|
||||
% Server-2-server service
|
||||
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]},
|
||||
|
||||
% External MUC jabber-muc (but internal mod_muc is better :))
|
||||
% {5554, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "muc.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% Jabber ICQ Transport
|
||||
% {5555, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {hosts, ["icq.localhost", "sms.localhost"], [{password, "secret"}]}]},
|
||||
|
||||
% AIM Transport
|
||||
% {5556, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "aim.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% MSN Transport
|
||||
% {5557, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "msn.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% Yahoo! Transport
|
||||
% {5558, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "yahoo.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% External JUD (internal is more powerful,
|
||||
% but doesn't allow to register users from other servers)
|
||||
% {5559, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "jud.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% HTTP service (You may choose options HTTP-polling and Web-administering)
|
||||
% When commenting out, be careful with commas
|
||||
{5280, ejabberd_http, [http_poll, web_admin]}
|
||||
]}.
|
||||
|
||||
% If SRV lookup fails, then port 5269 is used to communicate with remote server
|
||||
{outgoing_s2s_port, 5269}.
|
||||
|
||||
% Used modules:
|
||||
{modules,
|
||||
[
|
||||
{mod_register, [{access, register}]},
|
||||
{mod_roster, []},
|
||||
{mod_privacy, []},
|
||||
{mod_configure, []},
|
||||
{mod_configure2, []},
|
||||
{mod_disco, [{extra_domains, ["users.jabber.org"]}]},
|
||||
{mod_stats, []},
|
||||
{mod_vcard, []},
|
||||
{mod_offline, []},
|
||||
{mod_echo, []},
|
||||
{mod_private, []},
|
||||
{mod_irc, []},
|
||||
% Default options for mod_muc:
|
||||
% host: "conference." ++ ?MYNAME
|
||||
% access: all
|
||||
% access_create: all
|
||||
% access_admin: none (only room creator has owner privileges)
|
||||
{mod_muc, [{access, muc},
|
||||
{access_create, muc},
|
||||
{access_admin, muc_admin}]},
|
||||
{mod_pubsub, []},
|
||||
{mod_time, []},
|
||||
{mod_last, []},
|
||||
{mod_version, []}
|
||||
]}.
|
||||
|
11
net-im/ejabberd/files/patch-src::configure
Normal file
11
net-im/ejabberd/files/patch-src::configure
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- configure.orig Sat Jul 3 14:58:07 2004
|
||||
+++ configure Sat Jul 3 15:01:49 2004
|
||||
@@ -2180,7 +2180,7 @@
|
||||
fi
|
||||
|
||||
|
||||
- if test "z$ERLC" == "z" || test "z$ERL" == "z"; then
|
||||
+ if test -z "$ERLC" || test -z "$ERL"; then
|
||||
{ { echo "$as_me:$LINENO: error: erlang not found" >&5
|
||||
echo "$as_me: error: erlang not found" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
34
net-im/ejabberd/files/patch-src::ejabberd
Normal file
34
net-im/ejabberd/files/patch-src::ejabberd
Normal file
|
@ -0,0 +1,34 @@
|
|||
--- ejabberd.orig Thu Jan 1 03:00:00 1970
|
||||
+++ ejabberd Sat Jul 3 15:52:35 2004
|
||||
@@ -0,0 +1,31 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+[ -r /var/run/ejabberd/.erlang.cookie ] && HOME=/var/run/ejabberd
|
||||
+
|
||||
+CONFIG=%%PREFIX%%/etc/ejabberd.cfg
|
||||
+LOG=/var/log/ejabberd/ejabberd.log
|
||||
+SASL_LOG=/var/log/ejabberd/sasl.log
|
||||
+SPOOL=/var/spool/ejabberd
|
||||
+
|
||||
+ARGS=
|
||||
+while [ $# -ne 0 ];
|
||||
+do
|
||||
+ PARAM=$1
|
||||
+ shift
|
||||
+ case $PARAM in
|
||||
+ --) break ;;
|
||||
+ --config) CONFIG=$1 ; shift ;;
|
||||
+ --log) LOG=$1 ; shift ;;
|
||||
+ --sasl-log) SASL_LOG=$1 ; shift ;;
|
||||
+ --spool) SPOOL=$1 ; shift ;;
|
||||
+ *) ARGS="$ARGS $PARAM"
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
+exec erl -sname ejabberd \
|
||||
+ -s ejabberd -detached \
|
||||
+ -ejabberd config \"$CONFIG\" log_path \"$LOG\" \
|
||||
+ -sasl sasl_error_logger \{file,\"$SASL_LOG\"\} \
|
||||
+ -mnesia dir \"$SPOOL\" \
|
||||
+ $ARGS "$@"
|
||||
+
|
45
net-im/ejabberd/files/patch-src::ejabberd.sh
Normal file
45
net-im/ejabberd/files/patch-src::ejabberd.sh
Normal file
|
@ -0,0 +1,45 @@
|
|||
--- ejabberd.sh Thu Jan 1 03:00:00 1970
|
||||
+++ ejabberd.sh Sat Jul 3 16:49:51 2004
|
||||
@@ -0,0 +1,42 @@
|
||||
+#! /bin/sh
|
||||
+#
|
||||
+# ejabberd Start/stop ejabberd server
|
||||
+#
|
||||
+#
|
||||
+
|
||||
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
|
||||
+EJABBERD=%%PREFIX%%/bin/ejabberd
|
||||
+EJABBERDCTL=%%PREFIX%%/bin/ejabberdctl
|
||||
+EJABBERDUSER=ejabberd
|
||||
+NAME=ejabberd
|
||||
+DESC=ejabberd
|
||||
+
|
||||
+test -f $EJABBERD || exit 0
|
||||
+test -f $EJABBERDCTL || exit 0
|
||||
+
|
||||
+set -e
|
||||
+
|
||||
+case "$1" in
|
||||
+ start)
|
||||
+ echo -n "Starting $DESC: "
|
||||
+ su ejabberd -c "$EJABBERD -heart -noshell -detached"
|
||||
+ echo "$NAME."
|
||||
+ ;;
|
||||
+ stop)
|
||||
+ echo -n "Stopping $DESC: "
|
||||
+ su ejabberd -c "$EJABBERDCTL stop"
|
||||
+ echo "$NAME."
|
||||
+ ;;
|
||||
+ restart|force-reload)
|
||||
+ echo -n "Restarting $DESC: "
|
||||
+ su ejabberd -c "$EJABBERDCTL restart"
|
||||
+ echo "$NAME."
|
||||
+ ;;
|
||||
+ *)
|
||||
+ N=/etc/init.d/$NAME
|
||||
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+exit 0
|
9
net-im/ejabberd/files/patch-src::ejabberdctl
Normal file
9
net-im/ejabberd/files/patch-src::ejabberdctl
Normal file
|
@ -0,0 +1,9 @@
|
|||
--- ejabberdctl.orig Thu Jan 1 03:00:00 1970
|
||||
+++ ejabberdctl Sat Jul 3 15:53:38 2004
|
||||
@@ -0,0 +1,6 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+[ -r /var/run/ejabberd/.erlang.cookie ] && HOME=/var/run/ejabberd
|
||||
+
|
||||
+exec erl -noinput -sname ejabberdctl -s ejabberd_ctl -extra ejabberd@`hostname -s` "$@"
|
||||
+
|
20
net-im/ejabberd/files/patch-src::mod_last.erl
Normal file
20
net-im/ejabberd/files/patch-src::mod_last.erl
Normal file
|
@ -0,0 +1,20 @@
|
|||
--- mod_last.erl.orig
|
||||
+++ mod_last.erl
|
||||
@@ -102,7 +102,16 @@
|
||||
sub_el = [{xmlelement, "query",
|
||||
[{"xmlns", ?NS_LAST},
|
||||
{"seconds", integer_to_list(Sec)}],
|
||||
- [{xmlcdata, Status}]}]}
|
||||
+ [{xmlcdata, Status}]}]};
|
||||
+ [{last_activity, _, TimeStamp}] ->
|
||||
+ {MegaSecs, Secs, _MicroSecs} = now(),
|
||||
+ TimeStamp2 = MegaSecs * 1000000 + Secs,
|
||||
+ Sec = TimeStamp2 - TimeStamp,
|
||||
+ IQ#iq{type = result,
|
||||
+ sub_el = [{xmlelement, "query",
|
||||
+ [{"xmlns", ?NS_LAST},
|
||||
+ {"seconds", integer_to_list(Sec)}],
|
||||
+ []}]}
|
||||
end.
|
||||
|
||||
|
22
net-im/ejabberd/pkg-deinstall
Normal file
22
net-im/ejabberd/pkg-deinstall
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$2" != "POST-DEINSTALL" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
USER=ejabberd
|
||||
|
||||
if pw usershow "${USER}" 2>/dev/null 1>&2; then
|
||||
echo "To delete ejabberd user permanently, use 'pw userdel ${USER}'"
|
||||
fi
|
||||
|
||||
if pw groupshow "${USER}" 2>/dev/null 1>&2; then
|
||||
echo "To delete ejabberd group permanently, use 'pw groupdel ${USER}'"
|
||||
fi
|
||||
|
||||
rm -Rf /var/run/ejabberd
|
||||
|
||||
echo "If you wish to delete ejabberd data and log files, remove"
|
||||
echo "'/var/spool/ejabberd' and '/var/log/ejabberd' directories."
|
||||
|
||||
exit 0
|
21
net-im/ejabberd/pkg-descr
Normal file
21
net-im/ejabberd/pkg-descr
Normal file
|
@ -0,0 +1,21 @@
|
|||
ejabberd is a Free and Open Source distributed fault-tolerant Jabber server.
|
||||
It writen mostly in Erlang.
|
||||
|
||||
The main features of ejabberd is:
|
||||
- Works on most of popular platforms: *nix
|
||||
(tested on Linux, FreeBSD and NetBSD)
|
||||
- Distributed
|
||||
- Fault-tolerance:
|
||||
- Built-in Multi-User Chat service
|
||||
- Built-in IRC transport
|
||||
- Built-in Publish-Subscribe service
|
||||
- Built-in Jabber Users Directory service based on users vCards
|
||||
- SSL support
|
||||
- Ability to interface with external components (JIT, MSN-t, Yahoo-t, etc)
|
||||
- Migration from jabberd14 is possible
|
||||
- Mostly XMPP-compliant
|
||||
- Support for JEP-0030 (Service Discovery).
|
||||
- Support for JEP-0039 (Statistics Gathering).
|
||||
- Support for xml:lang attribute in many XML elements
|
||||
|
||||
WWW: http://ejabberd.jabberstudio.org/
|
40
net-im/ejabberd/pkg-install
Normal file
40
net-im/ejabberd/pkg-install
Normal file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$2" != "POST-INSTALL" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
USER=ejabberd
|
||||
GROUP=${USER}
|
||||
UID=522
|
||||
GID=${UID}
|
||||
|
||||
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
|
||||
if pw groupadd ${GROUP} -g ${GID}; then
|
||||
echo "Added group \"${GROUP}\"."
|
||||
else
|
||||
echo "Adding group \"${GROUP}\" failed..."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! pw usershow "${USER}" 2>/dev/null 1>&2; then
|
||||
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
|
||||
-s "/bin/sh" -d "/var/run/ejabberd" \
|
||||
-c "ejabberd pseudo user"; \
|
||||
then
|
||||
echo "Added user \"${USER}\"."
|
||||
else
|
||||
echo "Adding user \"${USER}\" failed..."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -m 750 /var/log/ejabberd /var/spool/ejabberd /var/run/ejabberd 2>/dev/null
|
||||
cat > /var/run/ejabberd/.inetrc << __EOF__
|
||||
{lookup,["file","native"]}.
|
||||
{host,{127,0,0,1}, ["localhost","hostalias"]}.
|
||||
__EOF__
|
||||
chown -R ejabberd:ejabberd /var/log/ejabberd /var/spool/ejabberd /var/run/ejabberd
|
||||
|
||||
exit 0
|
92
net-im/ejabberd/pkg-plist
Normal file
92
net-im/ejabberd/pkg-plist
Normal file
|
@ -0,0 +1,92 @@
|
|||
bin/ejabberd
|
||||
bin/ejabberdctl
|
||||
etc/ejabberd.cfg.sample
|
||||
etc/rc.d/ejabberd.sh
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ELDAPv3.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/acl.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/configure.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/cyrsasl.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/cyrsasl_digest.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/cyrsasl_plain.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_app.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_auth.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_c2s.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_config.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_ctl.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_http.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_http_poll.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_listener.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_local.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_logger_h.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/eldap.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_receiver.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_router.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_s2s.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_s2s_in.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_s2s_out.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_service.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_sm.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_sup.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_tmp_sup.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_web.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_web_admin.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/gen_iq_handler.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/gen_mod.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/iconv.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/idna.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/jd2ejd.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/jlib.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_configure.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_configure2.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_disco.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_echo.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_irc.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_irc_connection.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_last.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_muc.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_muc_room.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_offline.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_privacy.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_private.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_pubsub.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_register.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_roster.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_stats.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_time.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_vcard.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_version.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/randoms.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/sha.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/shaper.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/stringprep.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/translate.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/xml.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/xml_stream.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd.app
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib/expat_erl.so
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib/iconv_erl.so
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib/stringprep_drv.so
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/es.msg
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/fr.msg
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/nl.msg
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/ru.msg
|
||||
%%DOCSDIR%%/confacls.png
|
||||
%%DOCSDIR%%/confhostname.png
|
||||
%%DOCSDIR%%/dev.html
|
||||
%%DOCSDIR%%/dev.tex
|
||||
%%DOCSDIR%%/disco.png
|
||||
%%DOCSDIR%%/discoallusers.png
|
||||
%%DOCSDIR%%/discorunnodes.png
|
||||
%%DOCSDIR%%/discorus.png
|
||||
%%DOCSDIR%%/guide.html
|
||||
%%DOCSDIR%%/guide.tex
|
||||
%%DOCSDIR%%/logo.png
|
||||
%%DOCSDIR%%/webadmmain.png
|
||||
%%DOCSDIR%%/webadmmainru.png
|
||||
%%PORTDOCS%%@dirrm %%DOCSDIR%%
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/priv
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/ebin
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%
|
|
@ -106,6 +106,7 @@
|
|||
SUBDIR += edonkey-gui-gtk
|
||||
SUBDIR += edonkey-gui-gtk-urlslave
|
||||
SUBDIR += edonkey-gui-java
|
||||
SUBDIR += ejabberd
|
||||
SUBDIR += entitymib
|
||||
SUBDIR += erlang_xmlrpc
|
||||
SUBDIR += etherboot
|
||||
|
|
57
net/ejabberd/Makefile
Normal file
57
net/ejabberd/Makefile
Normal file
|
@ -0,0 +1,57 @@
|
|||
# New ports collection makefile for: ejabberd
|
||||
# Date created: 03 July 2004
|
||||
# Whom: Alexander Timoshenko <gonzo@univ.kiev.ua>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= ejabberd
|
||||
PORTVERSION= 0.7
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://www.jabber.ru/files/ejabberd/
|
||||
|
||||
MAINTAINER= gonzo@univ.kiev.ua
|
||||
COMMENT= Free and Open Source distributed fault-tolerant Jabber server
|
||||
|
||||
BUILD_DEPENDS= erlc:${PORTSDIR}/lang/erlang
|
||||
RUN_DEPENDS= erl:${PORTSDIR}/lang/erlang
|
||||
|
||||
PLIST_SUB= VERSION="${PORTVERSION}"
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME}/src
|
||||
HAS_CONFIGURE= yes
|
||||
USE_GMAKE= yes
|
||||
USE_REINPLACE= yes
|
||||
|
||||
# MAN1= yaws.1
|
||||
# MAN5= yaws.conf.5 yaws_api.5
|
||||
|
||||
APPDIR= ${PREFIX}/lib/erlang/lib/ejabberd-${PORTVERSION}
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
|
||||
${WRKSRC}/ejabberd ${WRKSRC}/ejabberdctl ${WRKSRC}/ejabberd.sh
|
||||
@${FIND} ${WRKSRC} -name \*.orig -or -name \*.bak | ${XARGS} ${RM}
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${APPDIR}/ebin
|
||||
@${INSTALL_DATA} ${WRKSRC}/*.beam ${APPDIR}/ebin
|
||||
@${RM} -f ${BEAMDIR}/configure.beam
|
||||
@${INSTALL_DATA} ${WRKSRC}/*.app ${APPDIR}/ebin
|
||||
@${MKDIR} ${APPDIR}/priv/lib
|
||||
@${INSTALL_DATA} ${WRKSRC}/*.so ${APPDIR}/priv/lib
|
||||
@${MKDIR} ${APPDIR}/priv/msgs
|
||||
@${INSTALL_DATA} ${WRKSRC}/msgs/*.msg ${APPDIR}/priv/msgs
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/ejabberd ${PREFIX}/bin
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/ejabberdctl ${PREFIX}/bin
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/ejabberd.sh ${PREFIX}/etc/rc.d
|
||||
@${INSTALL_DATA} ${FILESDIR}/ejabberd.cfg.sample ${PREFIX}/etc/
|
||||
@${MKDIR} ${DOCSDIR}
|
||||
@${INSTALL_DATA} ${WRKSRC}/../doc/* ${DOCSDIR}
|
||||
|
||||
post-install:
|
||||
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
||||
|
||||
.include <bsd.port.post.mk>
|
2
net/ejabberd/distinfo
Normal file
2
net/ejabberd/distinfo
Normal file
|
@ -0,0 +1,2 @@
|
|||
MD5 (ejabberd-0.7.tar.gz) = dfec9573263de8729213993f015cfac9
|
||||
SIZE (ejabberd-0.7.tar.gz) = 378466
|
176
net/ejabberd/files/ejabberd.cfg.sample
Normal file
176
net/ejabberd/files/ejabberd.cfg.sample
Normal file
|
@ -0,0 +1,176 @@
|
|||
% Default Debian ejabberd.cfg
|
||||
|
||||
%override_acls.
|
||||
|
||||
|
||||
% Users that have admin access. Add line like one of the following after you
|
||||
% will be successfully registered on server to get admin access:
|
||||
%{acl, admin, {user, "aleksey"}}.
|
||||
%{acl, admin, {user, "ermine"}}.
|
||||
|
||||
% Blocked users:
|
||||
%{acl, blocked, {user, "test"}}.
|
||||
|
||||
% Local users:
|
||||
{acl, local, {user_regexp, ""}}.
|
||||
|
||||
% Another examples of ACLs:
|
||||
%{acl, jabberorg, {server, "jabber.org"}}.
|
||||
%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
|
||||
%{acl, test, {user_regexp, "^test"}}.
|
||||
%{acl, test, {user_glob, "test*"}}.
|
||||
|
||||
|
||||
% Only admins can use configuration interface:
|
||||
{access, configure, [{allow, admin}]}.
|
||||
|
||||
% Every username can be registered via in-band registration:
|
||||
{access, register, [{allow, all}]}.
|
||||
|
||||
% None username can be registered via in-band registration:
|
||||
%{access, register, [{deny, all}]}.
|
||||
|
||||
% After successful registration user will get message with following subject
|
||||
% and body:
|
||||
{welcome_message,
|
||||
{"Welcome!",
|
||||
"Welcome to Debian Jabber Service. "
|
||||
"For information about Jabber visit http://jabber.org"}}.
|
||||
% Replace them with 'none' if you don't want to send such message:
|
||||
%{welcome_message, none}.
|
||||
|
||||
% List of people who will get notifications about registered users
|
||||
%{registration_watchers, ["admin1@localhost",
|
||||
% "admin2@localhost"]}.
|
||||
|
||||
% Only admins can send announcement messages:
|
||||
{access, announce, [{allow, admin}]}.
|
||||
|
||||
|
||||
% Only non-blocked users can use c2s connections:
|
||||
{access, c2s, [{deny, blocked},
|
||||
{allow, all}]}.
|
||||
|
||||
% Set shaper with name "normal" to limit traffic speed to 1000B/s
|
||||
{shaper, normal, {maxrate, 1000}}.
|
||||
|
||||
% Set shaper with name "fast" to limit traffic speed to 50000B/s
|
||||
{shaper, fast, {maxrate, 50000}}.
|
||||
|
||||
% For all users except admins used "normal" shaper
|
||||
{access, c2s_shaper, [{none, admin},
|
||||
{normal, all}]}.
|
||||
|
||||
% For all S2S connections used "fast" shaper
|
||||
{access, s2s_shaper, [{fast, all}]}.
|
||||
|
||||
% Admins of this server are also admins of MUC service:
|
||||
{access, muc_admin, [{allow, admin}]}.
|
||||
|
||||
% All users are allowed to use MUC service:
|
||||
{access, muc, [{allow, all}]}.
|
||||
|
||||
% This rule allows access only for local users:
|
||||
{access, local, [{allow, local}]}.
|
||||
|
||||
|
||||
% Authentification method. If you want to use internal user base, then use
|
||||
% this line:
|
||||
{auth_method, internal}.
|
||||
|
||||
% For LDAP uthentification use these lines instead of above one:
|
||||
%{auth_method, ldap}.
|
||||
%{ldap_servers, ["localhost"]}. % List of LDAP servers
|
||||
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
|
||||
%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory
|
||||
|
||||
|
||||
% Host name: (replace for your hostname)
|
||||
{host, "localhost"}.
|
||||
|
||||
% Default language for server messages
|
||||
{language, "en"}.
|
||||
|
||||
% Listened ports:
|
||||
{listen,
|
||||
% Ordinary client-2-server service
|
||||
[{5222, ejabberd_c2s, [{access, c2s},
|
||||
{shaper, c2s_shaper}]},
|
||||
|
||||
% SSL-enabled client-2-server service, uncomment these lines to
|
||||
% enable ssl
|
||||
% {5223, ejabberd_c2s, [{access, c2s},
|
||||
% ssl,
|
||||
% {certfile, "/etc/ssl/certs/ejabberd.pem"}]},
|
||||
|
||||
% Server-2-server service
|
||||
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]},
|
||||
|
||||
% External MUC jabber-muc (but internal mod_muc is better :))
|
||||
% {5554, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "muc.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% Jabber ICQ Transport
|
||||
% {5555, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {hosts, ["icq.localhost", "sms.localhost"], [{password, "secret"}]}]},
|
||||
|
||||
% AIM Transport
|
||||
% {5556, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "aim.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% MSN Transport
|
||||
% {5557, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "msn.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% Yahoo! Transport
|
||||
% {5558, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "yahoo.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% External JUD (internal is more powerful,
|
||||
% but doesn't allow to register users from other servers)
|
||||
% {5559, ejabberd_service, [{ip, {127, 0, 0, 1}},
|
||||
% {access, all},
|
||||
% {host, "jud.localhost", [{password, "secret"}]}]},
|
||||
|
||||
% HTTP service (You may choose options HTTP-polling and Web-administering)
|
||||
% When commenting out, be careful with commas
|
||||
{5280, ejabberd_http, [http_poll, web_admin]}
|
||||
]}.
|
||||
|
||||
% If SRV lookup fails, then port 5269 is used to communicate with remote server
|
||||
{outgoing_s2s_port, 5269}.
|
||||
|
||||
% Used modules:
|
||||
{modules,
|
||||
[
|
||||
{mod_register, [{access, register}]},
|
||||
{mod_roster, []},
|
||||
{mod_privacy, []},
|
||||
{mod_configure, []},
|
||||
{mod_configure2, []},
|
||||
{mod_disco, [{extra_domains, ["users.jabber.org"]}]},
|
||||
{mod_stats, []},
|
||||
{mod_vcard, []},
|
||||
{mod_offline, []},
|
||||
{mod_echo, []},
|
||||
{mod_private, []},
|
||||
{mod_irc, []},
|
||||
% Default options for mod_muc:
|
||||
% host: "conference." ++ ?MYNAME
|
||||
% access: all
|
||||
% access_create: all
|
||||
% access_admin: none (only room creator has owner privileges)
|
||||
{mod_muc, [{access, muc},
|
||||
{access_create, muc},
|
||||
{access_admin, muc_admin}]},
|
||||
{mod_pubsub, []},
|
||||
{mod_time, []},
|
||||
{mod_last, []},
|
||||
{mod_version, []}
|
||||
]}.
|
||||
|
11
net/ejabberd/files/patch-src::configure
Normal file
11
net/ejabberd/files/patch-src::configure
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- configure.orig Sat Jul 3 14:58:07 2004
|
||||
+++ configure Sat Jul 3 15:01:49 2004
|
||||
@@ -2180,7 +2180,7 @@
|
||||
fi
|
||||
|
||||
|
||||
- if test "z$ERLC" == "z" || test "z$ERL" == "z"; then
|
||||
+ if test -z "$ERLC" || test -z "$ERL"; then
|
||||
{ { echo "$as_me:$LINENO: error: erlang not found" >&5
|
||||
echo "$as_me: error: erlang not found" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
34
net/ejabberd/files/patch-src::ejabberd
Normal file
34
net/ejabberd/files/patch-src::ejabberd
Normal file
|
@ -0,0 +1,34 @@
|
|||
--- ejabberd.orig Thu Jan 1 03:00:00 1970
|
||||
+++ ejabberd Sat Jul 3 15:52:35 2004
|
||||
@@ -0,0 +1,31 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+[ -r /var/run/ejabberd/.erlang.cookie ] && HOME=/var/run/ejabberd
|
||||
+
|
||||
+CONFIG=%%PREFIX%%/etc/ejabberd.cfg
|
||||
+LOG=/var/log/ejabberd/ejabberd.log
|
||||
+SASL_LOG=/var/log/ejabberd/sasl.log
|
||||
+SPOOL=/var/spool/ejabberd
|
||||
+
|
||||
+ARGS=
|
||||
+while [ $# -ne 0 ];
|
||||
+do
|
||||
+ PARAM=$1
|
||||
+ shift
|
||||
+ case $PARAM in
|
||||
+ --) break ;;
|
||||
+ --config) CONFIG=$1 ; shift ;;
|
||||
+ --log) LOG=$1 ; shift ;;
|
||||
+ --sasl-log) SASL_LOG=$1 ; shift ;;
|
||||
+ --spool) SPOOL=$1 ; shift ;;
|
||||
+ *) ARGS="$ARGS $PARAM"
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
+exec erl -sname ejabberd \
|
||||
+ -s ejabberd -detached \
|
||||
+ -ejabberd config \"$CONFIG\" log_path \"$LOG\" \
|
||||
+ -sasl sasl_error_logger \{file,\"$SASL_LOG\"\} \
|
||||
+ -mnesia dir \"$SPOOL\" \
|
||||
+ $ARGS "$@"
|
||||
+
|
45
net/ejabberd/files/patch-src::ejabberd.sh
Normal file
45
net/ejabberd/files/patch-src::ejabberd.sh
Normal file
|
@ -0,0 +1,45 @@
|
|||
--- ejabberd.sh Thu Jan 1 03:00:00 1970
|
||||
+++ ejabberd.sh Sat Jul 3 16:49:51 2004
|
||||
@@ -0,0 +1,42 @@
|
||||
+#! /bin/sh
|
||||
+#
|
||||
+# ejabberd Start/stop ejabberd server
|
||||
+#
|
||||
+#
|
||||
+
|
||||
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
|
||||
+EJABBERD=%%PREFIX%%/bin/ejabberd
|
||||
+EJABBERDCTL=%%PREFIX%%/bin/ejabberdctl
|
||||
+EJABBERDUSER=ejabberd
|
||||
+NAME=ejabberd
|
||||
+DESC=ejabberd
|
||||
+
|
||||
+test -f $EJABBERD || exit 0
|
||||
+test -f $EJABBERDCTL || exit 0
|
||||
+
|
||||
+set -e
|
||||
+
|
||||
+case "$1" in
|
||||
+ start)
|
||||
+ echo -n "Starting $DESC: "
|
||||
+ su ejabberd -c "$EJABBERD -heart -noshell -detached"
|
||||
+ echo "$NAME."
|
||||
+ ;;
|
||||
+ stop)
|
||||
+ echo -n "Stopping $DESC: "
|
||||
+ su ejabberd -c "$EJABBERDCTL stop"
|
||||
+ echo "$NAME."
|
||||
+ ;;
|
||||
+ restart|force-reload)
|
||||
+ echo -n "Restarting $DESC: "
|
||||
+ su ejabberd -c "$EJABBERDCTL restart"
|
||||
+ echo "$NAME."
|
||||
+ ;;
|
||||
+ *)
|
||||
+ N=/etc/init.d/$NAME
|
||||
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+exit 0
|
9
net/ejabberd/files/patch-src::ejabberdctl
Normal file
9
net/ejabberd/files/patch-src::ejabberdctl
Normal file
|
@ -0,0 +1,9 @@
|
|||
--- ejabberdctl.orig Thu Jan 1 03:00:00 1970
|
||||
+++ ejabberdctl Sat Jul 3 15:53:38 2004
|
||||
@@ -0,0 +1,6 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+[ -r /var/run/ejabberd/.erlang.cookie ] && HOME=/var/run/ejabberd
|
||||
+
|
||||
+exec erl -noinput -sname ejabberdctl -s ejabberd_ctl -extra ejabberd@`hostname -s` "$@"
|
||||
+
|
20
net/ejabberd/files/patch-src::mod_last.erl
Normal file
20
net/ejabberd/files/patch-src::mod_last.erl
Normal file
|
@ -0,0 +1,20 @@
|
|||
--- mod_last.erl.orig
|
||||
+++ mod_last.erl
|
||||
@@ -102,7 +102,16 @@
|
||||
sub_el = [{xmlelement, "query",
|
||||
[{"xmlns", ?NS_LAST},
|
||||
{"seconds", integer_to_list(Sec)}],
|
||||
- [{xmlcdata, Status}]}]}
|
||||
+ [{xmlcdata, Status}]}]};
|
||||
+ [{last_activity, _, TimeStamp}] ->
|
||||
+ {MegaSecs, Secs, _MicroSecs} = now(),
|
||||
+ TimeStamp2 = MegaSecs * 1000000 + Secs,
|
||||
+ Sec = TimeStamp2 - TimeStamp,
|
||||
+ IQ#iq{type = result,
|
||||
+ sub_el = [{xmlelement, "query",
|
||||
+ [{"xmlns", ?NS_LAST},
|
||||
+ {"seconds", integer_to_list(Sec)}],
|
||||
+ []}]}
|
||||
end.
|
||||
|
||||
|
22
net/ejabberd/pkg-deinstall
Normal file
22
net/ejabberd/pkg-deinstall
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$2" != "POST-DEINSTALL" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
USER=ejabberd
|
||||
|
||||
if pw usershow "${USER}" 2>/dev/null 1>&2; then
|
||||
echo "To delete ejabberd user permanently, use 'pw userdel ${USER}'"
|
||||
fi
|
||||
|
||||
if pw groupshow "${USER}" 2>/dev/null 1>&2; then
|
||||
echo "To delete ejabberd group permanently, use 'pw groupdel ${USER}'"
|
||||
fi
|
||||
|
||||
rm -Rf /var/run/ejabberd
|
||||
|
||||
echo "If you wish to delete ejabberd data and log files, remove"
|
||||
echo "'/var/spool/ejabberd' and '/var/log/ejabberd' directories."
|
||||
|
||||
exit 0
|
21
net/ejabberd/pkg-descr
Normal file
21
net/ejabberd/pkg-descr
Normal file
|
@ -0,0 +1,21 @@
|
|||
ejabberd is a Free and Open Source distributed fault-tolerant Jabber server.
|
||||
It writen mostly in Erlang.
|
||||
|
||||
The main features of ejabberd is:
|
||||
- Works on most of popular platforms: *nix
|
||||
(tested on Linux, FreeBSD and NetBSD)
|
||||
- Distributed
|
||||
- Fault-tolerance:
|
||||
- Built-in Multi-User Chat service
|
||||
- Built-in IRC transport
|
||||
- Built-in Publish-Subscribe service
|
||||
- Built-in Jabber Users Directory service based on users vCards
|
||||
- SSL support
|
||||
- Ability to interface with external components (JIT, MSN-t, Yahoo-t, etc)
|
||||
- Migration from jabberd14 is possible
|
||||
- Mostly XMPP-compliant
|
||||
- Support for JEP-0030 (Service Discovery).
|
||||
- Support for JEP-0039 (Statistics Gathering).
|
||||
- Support for xml:lang attribute in many XML elements
|
||||
|
||||
WWW: http://ejabberd.jabberstudio.org/
|
40
net/ejabberd/pkg-install
Normal file
40
net/ejabberd/pkg-install
Normal file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$2" != "POST-INSTALL" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
USER=ejabberd
|
||||
GROUP=${USER}
|
||||
UID=522
|
||||
GID=${UID}
|
||||
|
||||
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
|
||||
if pw groupadd ${GROUP} -g ${GID}; then
|
||||
echo "Added group \"${GROUP}\"."
|
||||
else
|
||||
echo "Adding group \"${GROUP}\" failed..."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! pw usershow "${USER}" 2>/dev/null 1>&2; then
|
||||
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
|
||||
-s "/bin/sh" -d "/var/run/ejabberd" \
|
||||
-c "ejabberd pseudo user"; \
|
||||
then
|
||||
echo "Added user \"${USER}\"."
|
||||
else
|
||||
echo "Adding user \"${USER}\" failed..."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -m 750 /var/log/ejabberd /var/spool/ejabberd /var/run/ejabberd 2>/dev/null
|
||||
cat > /var/run/ejabberd/.inetrc << __EOF__
|
||||
{lookup,["file","native"]}.
|
||||
{host,{127,0,0,1}, ["localhost","hostalias"]}.
|
||||
__EOF__
|
||||
chown -R ejabberd:ejabberd /var/log/ejabberd /var/spool/ejabberd /var/run/ejabberd
|
||||
|
||||
exit 0
|
92
net/ejabberd/pkg-plist
Normal file
92
net/ejabberd/pkg-plist
Normal file
|
@ -0,0 +1,92 @@
|
|||
bin/ejabberd
|
||||
bin/ejabberdctl
|
||||
etc/ejabberd.cfg.sample
|
||||
etc/rc.d/ejabberd.sh
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ELDAPv3.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/acl.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/configure.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/cyrsasl.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/cyrsasl_digest.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/cyrsasl_plain.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_app.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_auth.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_c2s.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_config.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_ctl.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_http.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_http_poll.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_listener.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_local.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_logger_h.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/eldap.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_receiver.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_router.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_s2s.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_s2s_in.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_s2s_out.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_service.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_sm.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_sup.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_tmp_sup.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_web.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd_web_admin.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/gen_iq_handler.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/gen_mod.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/iconv.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/idna.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/jd2ejd.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/jlib.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_configure.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_configure2.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_disco.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_echo.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_irc.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_irc_connection.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_last.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_muc.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_muc_room.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_offline.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_privacy.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_private.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_pubsub.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_register.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_roster.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_stats.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_time.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_vcard.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/mod_version.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/randoms.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/sha.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/shaper.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/stringprep.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/translate.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/xml.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/xml_stream.beam
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/ebin/ejabberd.app
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib/expat_erl.so
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib/iconv_erl.so
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib/stringprep_drv.so
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/es.msg
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/fr.msg
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/nl.msg
|
||||
lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs/ru.msg
|
||||
%%DOCSDIR%%/confacls.png
|
||||
%%DOCSDIR%%/confhostname.png
|
||||
%%DOCSDIR%%/dev.html
|
||||
%%DOCSDIR%%/dev.tex
|
||||
%%DOCSDIR%%/disco.png
|
||||
%%DOCSDIR%%/discoallusers.png
|
||||
%%DOCSDIR%%/discorunnodes.png
|
||||
%%DOCSDIR%%/discorus.png
|
||||
%%DOCSDIR%%/guide.html
|
||||
%%DOCSDIR%%/guide.tex
|
||||
%%DOCSDIR%%/logo.png
|
||||
%%DOCSDIR%%/webadmmain.png
|
||||
%%DOCSDIR%%/webadmmainru.png
|
||||
%%PORTDOCS%%@dirrm %%DOCSDIR%%
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/priv/lib
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/priv/msgs
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/priv
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%/ebin
|
||||
@dirrm lib/erlang/lib/ejabberd-%%VERSION%%
|
Loading…
Add table
Reference in a new issue