- Add support and doc to work with jabber-1.6.0

- Add support for other and external servers (it's possibly to run just the
  transport)
- Remove MASTER_SITE_GENTOO from MASTER_SITES [1]
- Bump PORTREVISION

PR:		ports/110195
Submitted by:	Martin Matuska <martin@matuska.org>, me [1]
This commit is contained in:
Renato Botelho 2007-03-14 19:47:09 +00:00
parent 7f67e4ff8f
commit 1db33d3da7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=187398
6 changed files with 123 additions and 29 deletions

View file

@ -6,11 +6,10 @@
PORTNAME= pymsn
DISTVERSION= 0.11.2
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= net-im
MASTER_SITES= http://delx.cjb.net/pymsnt/tarballs/ \
${MASTER_SITE_GENTOO}
MASTER_SITE_SUBDIR= distfiles
MASTER_SITES= http://delx.cjb.net/pymsnt/tarballs/
PKGNAMEPREFIX= jabber-
PKGNAMESUFFIX= -transport
DISTNAME= ${PORTNAME}t-${DISTVERSION}
@ -22,7 +21,9 @@ COMMENT= Python MSN-Transport for Jabber
RUN_DEPENDS= ${PYTHON_SITELIBDIR}/OpenSSL/__init__.py:${PORTSDIR}/security/py-openssl \
${PYTHON_SITELIBDIR}/PIL/__init__.py:${PORTSDIR}/graphics/py-imaging
OPTIONS= EJABBERD "Use transport with ejabberd" off \
OPTIONS= JABBER "Use with jabberd14 (net-im/jabber)" off \
JABBERD "Use with jabberd 2.x (net-im/jabberd)" off \
EJABBERD "Use with ejabberd (net-im/ejabberd)" off \
TWISTED1 "Use old py-twisted 1.x" off
NO_BUILD= yes
@ -30,23 +31,48 @@ USE_PYTHON= yes
USE_RC_SUBR= jabber-pymsn-transport.sh
LOCAL_PYTHON= ${PYTHON_CMD}
SUB_FILES= pkg-message
SUB_FILES= pkg-message README.jabberd14 README.jabberd2 README.external
SUB_LIST= PYTHON_CMD=${LOCAL_PYTHON}
INST_DIR= ${PREFIX}/lib/jabber/${PORTNAME}
PORTDOCS= COPYING README
PORTDOCS= COPYING README README.jabberd14 README.jabberd2 README.external
.include <bsd.port.pre.mk>
.if defined(WITH_EJABBERD)
JABBER_USER?= ejabberd
SUB_LIST+= JABBER_REQUIRE=ejabberd
.else
JABBER_USER?= jabber
SUB_LIST+= JABBER_REQUIRE=jabberd
.if (defined(WITH_JABBERD) && (defined(WITH_JABBER) || defined(WITH_EJABBERD))) || \
defined(WITH_JABBER) && defined(WITH_EJABBERD)
IGNORE= options WITH_JABBER, WITH_JABBERD and WITH_EJABBERD are mutually exclusive
.endif
.if defined(WITH_JABBER)
JABBER_REQUIRE?= jabber
JABBER_USER?= jabber
JABBER_PIDDIR?= /var/run/jabberd
JABBER_SPOOLDIR?= /var/spool/jabberd
RUN_DEPENDS+= jabberd14:${PORTSDIR}/net-im/jabber
.elif defined(WITH_JABBERD)
JABBER_REQUIRE?= jabberd
JABBER_USER?= jabber
JABBER_PIDDIR?= /var/jabberd/pid
JABBER_SPOOLDIR?= /var/spool/jabber
RUN_DEPENDS+= jabberd:${PORTSDIR}/net-im/jabberd
.elif defined(WITH_EJABBERD)
JABBER_REQUIRE?= ejabberd
JABBER_USER?= ejabberd
JABBER_PIDDIR?= /var/jabberd/pid
JABBER_SPOOLDIR?= /var/spool/jabber
RUN_DEPENDS+= ejabberd:${PORTSDIR}/net-im/ejabberd
.else
JABBER_REQUIRE?= DAEMON
JABBER_USER?= nobody
JABBER_PIDDIR?= /var/run/pymsn
JABBER_SPOOLDIR?= /var/spool/pymsn
.endif
SUB_LIST+= JABBER_REQUIRE="${JABBER_REQUIRE}" JABBER_PIDDIR="${JABBER_PIDDIR}" \
JABBER_SPOOLDIR="${JABBER_SPOOLDIR}"
.if defined(WITH_TWISTED1)
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/twisted/__init__.py:${PORTSDIR}/devel/py-twisted
.else
@ -61,13 +87,13 @@ post-extract:
@${FIND} ${WRKSRC}/ -type d \( -name CVS -or -name .svn \) | ${XARGS} ${RM} -rf
post-patch:
@${REINPLACE_CMD} -i "" -e '/spooldir/s|/path/to/data|/var/spool/jabber|' \
-e 's|PyMSNt.pid|/var/jabberd/pid/PyMSNt.pid|' \
@${REINPLACE_CMD} -i "" -e '/spooldir/s|/path/to/data|${JABBER_SPOOLDIR}|' \
-e 's|PyMSNt.pid|${JABBER_PIDDIR}/PyMSNt.pid|' \
${WRKSRC}/config-example.xml
@${REINPLACE_CMD} -i "" 's|../config.xml|${PREFIX}/etc/jabber-pymsn.xml|g' \
${WRKSRC}/src/xmlconfig.py
@${REINPLACE_CMD} -i "" -e 's|spooldir = ""|spooldir = "/var/spool/jabber"|g' \
-e 's|pid = ""|pid = "/var/jabberd/pid/PyMSNt.pid"|g' \
@${REINPLACE_CMD} -i "" -e 's|spooldir = ""|spooldir = "${JABBER_SPOOLDIR}"|g' \
-e 's|pid = ""|pid = "${JABBER_PIDDIR}/PyMSNt.pid"|g' \
${WRKSRC}/src/config.py
@${REINPLACE_CMD} -i "" 's|"config.xml"|"${PREFIX}/etc/jabber-pymsn.xml"|' \
${WRKSRC}/src/main.py
@ -76,20 +102,25 @@ post-patch:
@${RM} -f ${WRKSRC}/src/main.py.orig
do-install:
${MKDIR} ${INST_DIR}/src ${INST_DIR}/data
@${MKDIR} ${INST_DIR}/src ${INST_DIR}/data
${INSTALL_SCRIPT} ${WRKSRC}/PyMSNt.py ${INST_DIR}
${INSTALL_DATA} ${WRKSRC}/data/defaultJabberAvatar.png ${INST_DIR}/data
${INSTALL_DATA} ${WRKSRC}/data/defaultMSNAvatar.png ${INST_DIR}/data
@${CP} -Rv ${WRKSRC}/src/* ${INST_DIR}/src/
@${FIND} ${INST_DIR}/src/ -type d -exec ${CHMOD} 755 "{}" \;
@${FIND} ${INST_DIR}/src/ -type f -exec ${CHMOD} 644 "{}" \;
${MKDIR} ${EXAMPLESDIR}/etc
@${MKDIR} ${EXAMPLESDIR}/etc
${INSTALL_DATA} ${WRKSRC}/config-example.xml ${EXAMPLESDIR}/etc/jabber-pymsn.xml
@[ -f ${PREFIX}/etc/jabber-pymsn.xml ] || ${CP} -v ${EXAMPLESDIR}/etc/jabber-pymsn.xml ${PREFIX}/etc/jabber-pymsn.xml
@[ -f ${PREFIX}/etc/jabber-pymsn.xml ] || \
${CP} -v ${EXAMPLESDIR}/etc/jabber-pymsn.xml ${PREFIX}/etc/jabber-pymsn.xml
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
@${MKDIR} ${DOCSDIR}
.for portdoc in ${PORTDOCS}
${INSTALL_DATA} ${WRKSRC}/${portdoc} ${DOCSDIR}/
@if [ -f ${WRKDIR}/${portdoc} ]; then \
${INSTALL_DATA} -v ${WRKDIR}/${portdoc} ${DOCSDIR}/; \
else \
${INSTALL_DATA} -v ${WRKSRC}/${portdoc} ${DOCSDIR}/; \
fi
.endfor
.endif

View file

@ -0,0 +1,14 @@
# PyMSN-t and external jabber servers on FreeBSD
# README by Martin Matuska <martin_at_matuska_dot_org>
If you did not select WITH_JABBER, WITH_JABBERD or WITH_EJABBERD, you may want
to use another or external jabber server. To run the transport locally, you may
need to create the pid and spool directories manually.
Default pahts of the current installation are:
%%JABBER_PIDDIR%%
%%JABBER_SPOOLDIR%%
You should make these paths writable for the service user.
Default service user for this installation:
%%JABBER_USER%%

View file

@ -0,0 +1,39 @@
# PyMSN-t and jabberd14 (net-im/jabber) on FreeBSD
# README by Martin Matuska <martin_at_matuska_dot_org>
The sample configuration file for jabberd14 may be located in:
%%TARGETDIR%%/etc/jabber.xml.sample
Please make all necessary changes to your configuration file which may be:
%%TARGETDIR%%/etc/jabber.xml
NOTE: if you want this service to be accessible from other servers,
change any 'msn.localhost' listed below to a fully qualified domain name!
Please make sure that your directives are _NOT_ in an XML comment: there
are many multi-line comments.
To activate the MSN transport for your Jabber server,
add the following to your configuration file and adjust to your settings
(around line 921 in the sample configuration file):
-------------------------------------------------------------------------------
<service id="msn.localhost">
<accept>
<ip>127.0.0.1</ip>
<port>5347</port>
<secret>password</secret>
</accept>
</service>
-------------------------------------------------------------------------------
Add this section to the browse area of the jsm to advertise it to
your users (around line 382 of the sample config):
-------------------------------------------------------------------------------
<item category="gateway" type="msn" jid="msn.localhost" name="MSN Transport">
<ns>jabber:iq:gateway</ns>
<ns>jabber:iq:register</ns>
</item>
-------------------------------------------------------------------------------
Be sure to restart your server after reconfiguring.

View file

@ -0,0 +1,11 @@
# PyMSN-t and jabberd2 (net-im/jabberd) on FreeBSD
# README by Martin Matuska <martin_at_matuska_dot_org>
The configuration for jabberd2 is located in:
%%TARGETDIR%%/etc/jabberd
If you are using Jabberd2 then you shouldn't have to do much configuration.
Make sure the 'mainServer' setting is the IP or DNS of your Jabber server, and
leave the 'port' setting alone. Double-check that the secret for legacy
components in router.xml (for Jabberd2) is the same as the secret setting in
config.py. That should be all. You don't even need to restart Jabberd2.

View file

@ -21,7 +21,7 @@ load_rc_config $name
: ${jabber_pymsn_enable="NO"}
: ${jabber_pymsn_dir="%%PREFIX%%/lib/jabber/pymsn"}
: ${jabber_pymsn_piddir="/var/jabberd/pid"}
: ${jabber_pymsn_piddir="%%JABBER_PIDDIR%%"}
: ${jabber_pymsn_user="%%JABBER_USER%%"}
pidfile="${jabber_pymsn_piddir}/PyMSNt.pid"

View file

@ -11,12 +11,11 @@ Remember to edit %%PREFIX%%/etc/jabber-pymsn.xml to suit your needs.
* You can also turn on debugging options, and customise some of the text that
is sent to the users in this file.
If you are using Jabberd2 then you shouldn't have to do much configuration.
Make sure the 'mainServer' setting is the IP or DNS of your Jabber server, and
leave the 'port' setting alone. Double-check that the secret for legacy
components in router.xml (for Jabberd2) is the same as the secret setting in
config.py. That should be all. You don't even need to restart Jabberd2.
Please read instructions for different jabber daemons you desire to use:
- jabberd14 (net-im/jabber): %%DOCSDIR%%/README.jabberd14
- jabberd2 (net-im/jabberd): %%DOCSDIR%%/README.jabberd2
If you are using Jabberd1.4.x, it's a bit more complicated. Follow the setup
instructions at http://msn-transport.jabberstudio.org/docs/server.html.
If you did not select WITH_JABBER, WITH_JABBERD or WITH_EJABBERD, you may want
to use another or an external jabber server. Please read instructions from:
%%DOCSDIR%%/README.external
******************************************************************************