Date: Sun, 11 Mar 2007 17:32:40 +0100 (CET) From: Martin Matuska <martin@matuska.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/110194: [PATCH] net-im/jabber-pyicq Message-ID: <20070311163240.D6A613F466@mail.vx.sk> Resent-Message-ID: <200703111640.l2BGeFvF056294@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 110194 >Category: ports >Synopsis: [PATCH] net-im/jabber-pyicq >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Mar 11 16:40:15 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Martin Matuska >Release: FreeBSD 6.2-RELEASE >Organization: >Environment: FreeBSD 6.2-RELEASE i386 and amd64 >Description: This patch adds the following: - support and documentation for use with jabberd-1.6.0 from net-im/jabber - support for other and external servers (if running the transport only) - support for MySQL storage (includes db-setup.mysql in EXAMPLESDIR) >How-To-Repeat: >Fix: diff -Nbur net-im/jabber-pyicq.orig/Makefile net-im/jabber-pyicq/Makefile --- net-im/jabber-pyicq.orig/Makefile Mon Jan 15 12:51:57 2007 +++ net-im/jabber-pyicq/Makefile Sun Mar 11 17:31:02 2007 @@ -6,7 +6,7 @@ PORTNAME= pyicq PORTVERSION= 0.8 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net-im MASTER_SITES= http://www.blathersource.org/download.php/pyicq-t/ PKGNAMEPREFIX= jabber- @@ -20,31 +20,60 @@ 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 \ - TWISTED1 "Use old py-twisted 1.x" 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 \ + MYSQL "Support MySQL storage" off NO_BUILD= yes USE_PYTHON= yes USE_RC_SUBR= jabber-pyicq-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 NEWS +PORTDOCS= COPYING README README.jabberd14 README.jabberd2 \ + README.external NEWS .include <bsd.port.pre.mk> -.if defined(WITH_EJABBERD) +.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 -SUB_LIST+= JABBER_REQUIRE=ejabberd +JABBER_PIDDIR?= /var/jabberd/pid +JABBER_SPOOLDIR?= /var/spool/jabber +RUN_DEPENDS+= ejabberd:${PORTSDIR}/net-im/ejabberd .else -JABBER_USER?= jabber -SUB_LIST+= JABBER_REQUIRE=jabberd +JABBER_REQUIRE?= DAEMON +JABBER_USER?= nobody +JABBER_PIDDIR?= /var/run/pyicq +JABBER_SPOOLDIR?= /var/spool/pyicq .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 @@ -53,11 +82,15 @@ ${PYTHON_SITELIBDIR}/twisted/words/__init__.py:${PORTSDIR}/net-im/py-twistedWords .endif +.if defined(WITH_MYSQL) +RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/MySQLdb/__init__.py:${PORTSDIR}/databases/py-MySQLdb +.endif + SUB_LIST+= JABBER_USER=${JABBER_USER} post-patch: - @${REINPLACE_CMD} -i "" -e '/spooldir/s|\.|/var/spool/jabber|' \ - -e '/pid/s|PyICQt.pid|/var/jabberd/pid/PyICQt.pid|' \ + @${REINPLACE_CMD} -i "" -e '/spooldir/s|\.|${JABBER_SPOOLDIR}|' \ + -e '/pid/s|PyICQt.pid|${JABBER_PIDDIR}/PyICQt.pid|' \ ${WRKSRC}/config_example.xml @${REINPLACE_CMD} -i "" -e 's,"config.xml","${PREFIX}/etc/jabber-pyicq.xml",' \ ${WRKSRC}/src/main.py @@ -75,9 +108,13 @@ @${FIND} ${INST_DIR}/src/ -type f -exec ${CHMOD} 644 "{}" \; @${MKDIR} ${EXAMPLESDIR}/etc ${INSTALL_DATA} ${WRKSRC}/config_example.xml ${EXAMPLESDIR}/etc/jabber-pyicq.xml + ${INSTALL_DATA} ${WRKSRC}/tools/db-setup.mysql ${EXAMPLESDIR} [ -f ${PREFIX}/etc/jabber-pyicq.xml ] || ${CP} ${EXAMPLESDIR}/etc/jabber-pyicq.xml ${PREFIX}/etc/jabber-pyicq.xml .if !defined(NOPORTDOCS) ${MKDIR} ${DOCSDIR} +.for FILE in README.jabberd14 README.jabberd2 README.external + ${CP} ${WRKDIR}/${FILE} ${WRKSRC}/${FILE} +.endfor .for portdoc in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${portdoc} ${DOCSDIR}/ .endfor diff -Nbur net-im/jabber-pyicq.orig/files/README.external.in net-im/jabber-pyicq/files/README.external.in --- net-im/jabber-pyicq.orig/files/README.external.in Thu Jan 1 01:00:00 1970 +++ net-im/jabber-pyicq/files/README.external.in Sun Mar 11 17:19:37 2007 @@ -0,0 +1,14 @@ +# PyICQ-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%% \ No newline at end of file diff -Nbur net-im/jabber-pyicq.orig/files/README.jabberd14.in net-im/jabber-pyicq/files/README.jabberd14.in --- net-im/jabber-pyicq.orig/files/README.jabberd14.in Thu Jan 1 01:00:00 1970 +++ net-im/jabber-pyicq/files/README.jabberd14.in Sun Mar 11 16:58:17 2007 @@ -0,0 +1,39 @@ +# PyICQ-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 'icq.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 ICQ 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="icq.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="icq" jid="icq.localhost" name="ICQ Transport"> + <ns>jabber:iq:gateway</ns> + <ns>jabber:iq:register</ns> + </item> + +------------------------------------------------------------------------------- +Be sure to restart your server after reconfiguring. diff -Nbur net-im/jabber-pyicq.orig/files/README.jabberd2.in net-im/jabber-pyicq/files/README.jabberd2.in --- net-im/jabber-pyicq.orig/files/README.jabberd2.in Thu Jan 1 01:00:00 1970 +++ net-im/jabber-pyicq/files/README.jabberd2.in Sun Mar 11 17:11:49 2007 @@ -0,0 +1,11 @@ +# PyICQ-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. diff -Nbur net-im/jabber-pyicq.orig/files/jabber-pyicq-transport.sh.in net-im/jabber-pyicq/files/jabber-pyicq-transport.sh.in --- net-im/jabber-pyicq.orig/files/jabber-pyicq-transport.sh.in Wed Apr 26 13:52:33 2006 +++ net-im/jabber-pyicq/files/jabber-pyicq-transport.sh.in Sun Mar 11 15:02:24 2007 @@ -21,7 +21,7 @@ : ${jabber_pyicq_enable="NO"} : ${jabber_pyicq_dir="%%PREFIX%%/lib/jabber/pyicq"} -: ${jabber_pyicq_piddir="/var/jabberd/pid"} +: ${jabber_pyicq_piddir="%%JABBER_PIDDIR%%"} : ${jabber_pyicq_user="%%JABBER_USER%%"} pidfile="${jabber_pyicq_piddir}/PyICQt.pid" diff -Nbur net-im/jabber-pyicq.orig/files/pkg-message.in net-im/jabber-pyicq/files/pkg-message.in --- net-im/jabber-pyicq.orig/files/pkg-message.in Tue Jun 7 17:18:15 2005 +++ net-im/jabber-pyicq/files/pkg-message.in Sun Mar 11 17:17:22 2007 @@ -11,12 +11,14 @@ * 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://pyicq-t.blathersource.org/install.php +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 + +If you are using MySQL storage, sample database script can be found in: +%%EXAMPLESDIR%%/db-setup.mysql ****************************************************************************** diff -Nbur net-im/jabber-pyicq.orig/pkg-plist net-im/jabber-pyicq/pkg-plist --- net-im/jabber-pyicq.orig/pkg-plist Sun Oct 1 13:56:59 2006 +++ net-im/jabber-pyicq/pkg-plist Sun Mar 11 12:43:29 2007 @@ -1,5 +1,6 @@ @comment $FreeBSD: ports/net-im/jabber-pyicq/pkg-plist,v 1.4 2006/10/01 11:56:59 garga Exp $ @unexec if cmp -s %D/%%EXAMPLESDIR%%/etc/jabber-pyicq.xml %D/etc/jabber-pyicq.xml; then rm -f %D/etc/jabber-pyicq.xml; fi +%%EXAMPLESDIR%%/db-setup.mysql %%EXAMPLESDIR%%/etc/jabber-pyicq.xml @exec [ -f %D/etc/jabber-pyicq.xml ] || cp %B/%f %D/etc/jabber-pyicq.xml lib/jabber/pyicq/PyICQt.py >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070311163240.D6A613F466>