ports/83178: New port: net/sulci (It is an Jabber bot)
Denis Shaposhnikov
dsh at vlink.ru
Sat Jul 9 11:30:16 UTC 2005
>Number: 83178
>Category: ports
>Synopsis: New port: net/sulci (It is an Jabber bot)
>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: Sat Jul 09 11:30:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Denis Shaposhnikov
>Release: FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD neva.vlink.ru 6.0-CURRENT FreeBSD 6.0-CURRENT #18: Mon Jun 27 10:58:47 MSD 2005 dsh at neva.vlink.ru:/var/FreeBSD/obj/var/FreeBSD/src/sys/NEVA i386
>Description:
Sulci, an Jabber bot.
WWW: http://home.ermine.pp.ru/svn/ocaml/trunk/
>How-To-Repeat:
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# sulci/
# sulci/distinfo
# sulci/Makefile
# sulci/files
# sulci/files/sulci.sh.in
# sulci/files/cmdlist.ru.txt
# sulci/pkg-descr
# sulci/pkg-plist
# sulci/pkg-message
#
echo c - sulci/
mkdir -p sulci/ > /dev/null 2>&1
echo x - sulci/distinfo
sed 's/^X//' >sulci/distinfo << 'END-of-sulci/distinfo'
XMD5 (sulci-20050708.tar.bz2) = 0a6420464acd8bab7fdd7203cc57210e
XSIZE (sulci-20050708.tar.bz2) = 152432
END-of-sulci/distinfo
echo x - sulci/Makefile
sed 's/^X//' >sulci/Makefile << 'END-of-sulci/Makefile'
X# New ports collection makefile for: sulci
X# Date created: Fri Jul 8 13:12:34 MSD 2005
X# Whom: Denis Shaposhnikov <dsh at vlink.ru>
X#
X# $FreeBSD$
X#
X
XPORTNAME= sulci
XPORTVERSION= 20050708
XCATEGORIES= net
XMASTER_SITES= http://neva.vlink.ru/distfiles/
X
XMAINTAINER= dsh at vlink.ru
XCOMMENT= It is an Jabber bot
X
XBUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml \
X ${LOCALBASE}/lib/ocaml/cryptokit.cma:${PORTSDIR}/security/ocaml-cryptokit \
X ${OCAML_SITELIBDIR}/ulex/ulexing.a:${PORTSDIR}/devel/ocaml-ulex \
X ocamlfind:${PORTSDIR}/devel/ocaml-findlib
XLIB_DEPENDS= sqlite.2:${PORTSDIR}/databases/sqlite2 \
X pcre.0:${PORTSDIR}/devel/pcre-utf8
XRUN_DEPENDS= ${OCAML_SITELIBDIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net \
X ${OCAML_SITELIBDIR}/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre
XBUILD_DEPENDS+= ${RUN_DEPENDS}
X
XOCAML_SITELIBDIR= ${LOCALBASE}/lib/ocaml/site-lib
X
XUSE_BZIP2= yes
XUSE_GMAKE= yes
XUSE_RC_SUBR= ${PORTNAME}.sh
X
XALL_TARGET= subdirs
X
Xdo-install:
X ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}/${PORTNAME} ${PREFIX}/sbin
X
X ${MKDIR} ${DATADIR}/lang
X ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/lang/*.htbl ${WRKSRC}/${PORTNAME}/lang/*.ml ${WRKSRC}/${PORTNAME}/lang/*.msg ${DATADIR}/lang
X ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/tlds.db ${DATADIR}
X
X ${MKDIR} ${EXAMPLESDIR}
X ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/${PORTNAME}.conf.example ${EXAMPLESDIR}
X
X.if !defined(NOPORTDOCS)
X ${MKDIR} ${DOCSDIR}
X ${INSTALL_DATA} ${WRKSRC}/COPYING ${FILESDIR}/cmdlist.ru.txt ${DOCSDIR}
X.endif
X
Xpost-install:
X ${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-sulci/Makefile
echo c - sulci/files
mkdir -p sulci/files > /dev/null 2>&1
echo x - sulci/files/sulci.sh.in
sed 's/^X//' >sulci/files/sulci.sh.in << 'END-of-sulci/files/sulci.sh.in'
X#!/bin/sh
X# $FreeBSD$
X
X# PROVIDE: sulci
X# REQUIRE: DAEMON
X# BEFORE: LOGIN
X# KEYWORD: shutdown
X
X# Define these sulci_* variables in one of these files:
X# /etc/rc.conf
X# /etc/rc.conf.local
X# /etc/rc.conf.d/sulci
X#
X# DO NOT CHANGE THESE DEFAULT VALUES HERE
X#
Xsulci_enable=${sulci_enable-"NO"}
Xsulci_precmd=":"
X
X. %%RC_SUBR%%
X
Xname="sulci"
Xrcvar=`set_rcvar`
Xcommand="%%PREFIX%%/sbin/sulci"
Xcommand_args="> /dev/null 2>&1 &"
X
Xload_rc_config $name
X
Xstart_precmd="${sulci_precmd}"
X
Xrun_rc_command "$1"
END-of-sulci/files/sulci.sh.in
echo x - sulci/files/cmdlist.ru.txt
sed 's/^X//' >sulci/files/cmdlist.ru.txt << 'END-of-sulci/files/cmdlist.ru.txt'
X* msg jid message
X
X úÁÓÔÁ×ÌÑÅÔ ÐÏÓÌÁÔØ ÓÏÏÂÝÅÎÉÅ message ÐÏÌØÚÏ×ÁÔÅÌÀ jid. äÏÓÔÕÐÎÏ
X ÔÏÌØËÏ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ.
X
X* quit
X
X úÁ×ÅÒÛÉÔØÓÑ. äÏÓÔÕÐÎÏ ÔÏÌØËÏ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ.
X
X* join room nick
X
X úÁÊÔÉ × ËÏÎÆÅÒÅÎÃÉÀ room ÐÏÄ ÎÉËÏÍ nick. äÏÓÔÕÐÎÏ ÔÏÌØËÏ
X ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ.
X
X* lang_update lang
X
X ðÅÒÅÚÁÇÒÕÖÁÅÔ ÆÁÊÌ ÓÏÏÂÝÅÎÉÊ ÑÚÙËÁ lang. äÏÓÔÕÐÎÏ ÔÏÌØËÏ
X ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ.
X
X
X* rpn 1 3 + ...
X
X ëÁÌØËÕÌÑÔÏÒ × ÐÏÌØÓËÏÊ ÎÏÔÁÃÉÉ.
X
X* calc 1 + 3
X
X ëÁÌØËÕÌÑÔÏÒ × ÐÒÑÍÏÊ ÎÏÔÁÃÉÉ.
X
X
X* curr 10 usd rur
X
X ÷ÁÌÀÔÎÙÊ ËÏÎ×ÅÒÔÅÒ.
X
X* curr list
X
X ðÏËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ×ÁÌÀÔ.
X
X
X* dict -list
X
X ðÏËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÂÁÚ ÄÁÎÎÙÈ Ó dict.org ÉÌÉ ÄÒÕÇÏÇÏ ÓÅÒ×ÅÒÁ,
X ÕËÁÚÁÎÎÏÇÏ × ËÏÎÆÉÇÕÒÁÃÉÉ.
X
X* dict [db] word
X
X úÁÐÒÁÛÉ×ÁÅÔ ÚÎÁÞÅÎÉÅ ÓÌÏ×Á word × ÂÁÚÅ ÄÁÎÎÙÈ db, ÞÅÒÅÚ dict.org ÉÌÉ
X ÄÒÕÇÏÊ ÓÅÒ×ÅÒ ÉÚ ËÏÎÆÉÇÕÒÁÃÉÉ. ðÒÉ ÏÔÓÕÔÓÔ×ÉÉ db, ÐÏÉÓË
X ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ×Ï ×ÓÅÈ ÂÁÚÁÈ ÓÅÒ×ÅÒÁ.
X
X
X* stats server.name
X* uptime server.name
X
X ÷ÏÚ×ÒÁÝÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Ï jabber ÓÅÒ×ÅÒÅ.
X
X
X* google query
X
X ðÏÉÓËÏ×ÙÊ ÚÁÐÒÏÓ Ë Google. ÷ÏÚ×ÒÁÝÁÅÔÓÑ ÐÅÒ×ÙÊ ÎÁÊÄÅÎÎÙÊ ÒÅÚÕÌØÔÁÔ.
X
X* google_adv start limit query
X
X ðÏÉÓËÏ×ÙÊ ÚÁÐÒÏÓ Ë Google. ÷ÏÚ×ÒÁÝÁÀÔÓÑ limit ÒÅÚÕÌØÔÁÔÏ×, ÎÁÞÉÎÁÑ Ó
X start.
X
X* gspell query
X
X ÷ÏÚ×ÒÁÝÁÅÔ ÓÏ×ÅÔ Google ÐÏ ÎÁÐÉÓÁÎÉÀ ÚÁÐÒÏÓÁ.
X
X
X* !!!count
X
X ÷ÏÚ×ÒÁÝÁÅÔ ÞÉÓÌÏ ÐÁÒ ÓÌÏ× × ÂÏÌÔÏÌÏÇÉÞÅÓËÏÊ ÂÁÚÅ ÔÅËÕÝÅÊ
X ËÏÎÆÅÒÅÎÃÉÉ.
X
X* !!!top
X
X TOP 10 ÐÁÒ ÓÌÏ× ÐÏ ÜÔÏÊ ÖÅ ÂÁÚÅ.
X
X
X* dns ip_addr
X* dns name
X
X ÷ÏÚ×ÒÁÝÁÅÔ ÒÅÚÕÌØÔÁÔ DNS ÒÅÚÏÌ×ÉÎÇÁ.
X
X
X* mueller text
X
X áÎÇÌÏ-ÒÕÓÓËÉÊ ÓÌÏ×ÁÒØ.
X
X
X* ping [nick]
X
X ðÏÎÇ.
X
X
X* tryme
X
X "òÕÓÓËÁÑ ÒÕÌÅÔËÁ".
X
X
X* greet jid room at server greet
X
X õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÉ×ÅÔÓÔ×ÉÅ greet ÐÒÉ ÐÏÑ×ÌÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ jid ×
X ËÏÍÎÁÔÅ room at server. äÏÓÔÕÐÎÏ ÔÏÌØËÏ ÄÌÑ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ.
X
X
X* seen nick
X
X ëÏÇÄÁ ÐÏÓÌÅÄÎÉÊ ÒÁÚ ×ÉÄÅÌ ÕËÁÚÁÎÎÙÊ nick.
X
X
X* talkers [nick]
X
X âÅÚ ÕËÁÚÁÎÉÑ nick'Á ÐÏËÁÚÙ×ÁÅÔ TOP 10 ÂÏÌÔÌÉ×ÙÈ, ÉÎÁÞÅ ÓÔÁÓÔÉÞÅÓËÕÀ
X ÉÎÆÏÒÍÁÃÉÀ Ï ÂÏÌÔÌÉ×ÏÓÔÉ ÕËÁÚÁÎÎÏÇÏ nick'Á. nick ÍÏÖÅÔ ÐÒÅÄÓÔÁ×ÌÑÔØ
X ÉÚ ÓÅÂÑ SQL'ÎÏÅ LIKE ×ÙÒÁÖÅÎÉÅ, Ó ÓÉÍ×ÏÌÁÍÉ [%_].
X
X
X* tld tld
X
X ðÏËÁÚÙ×ÁÅÔ ÎÁÚ×ÁÎÉÅ ÓÔÒÁÎÙ, ÚÁ ËÏÔÏÒÏÊ ÚÁËÒÅÐÌÅÎ ÄÏÍÅÎ ÐÅÒ×ÏÇÏ
X ÕÒÏ×ÎÑ tld.
X
X
X* version [nick]
X
X ÷Ù×ÏÄÉÔ ×ÅÒÓÉÀ ËÌÉÅÎÔÁ nick'Á ÉÌÉ, ÐÒÉ ÅÇÏ ÏÔÓÕÔÓÔ×ÉÉ, ÏÔÐÒÁ×ÉÔÅÌÑ
X ÚÁÐÒÏÓÁ.
X
X* version_server server.name
X
X ÷Ù×ÏÄÉÔ ×ÅÒÓÉÀ jabber ÓÅÒ×ÅÒÁ server.name.
X
X* idle [nick]
X
X ÷Ù×ÏÄÉÔ idle ÚÁÐÒÏÓÉ×ÛÅÇÏ ÉÌÉ nick'Á, ÅÓÌÉ ÏÎ ÕËÁÚÁÎ.
X
X* time [nick]
X
X ÷Ù×ÏÄÉÔ ÌÏËÁÌØÎÏÅ ×ÒÅÍÑ ÎÁ ËÏÍÐØÀÔÅÒÅ ÚÁÐÒÏÓÉ×ÛÅÇÏ ÉÌÉ nick'Á, ÅÓÌÉ
X ÏÎ ÕËÁÚÁÎ.
X
X* status [nick]
X
X áÎÁÌÏÇÉÞÎÏ ÐÒÅÄÙÄÕÝÉÍ, ×Ù×ÏÄÉÔ ÓÔÁÔÕÓ.
X
X
X* wtf word ?
X
X ÷ÏÚ×ÒÁÝÁÅÔ ÏÐÒÅÄÅÌÅÎÉÅ ÔÅÒÍÉÎÁ word.
X
X* dfn word = text
X
X úÁÄÁÅÔ ÏÐÒÅÄÅÌÅÎÉÅ ÔÅÒÍÉÎÁ word, ËÁË text.
X
X
X* wz code
X
X ÷Ù×ÏÄÉÔ ÐÒÏÇÎÏÚ ÐÏÇÏÄÙ Ó http://weather.noaa.gov/ ÄÌÑ ÇÏÒÏÄÁ,
X ÏÂÏÚÎÁÞÅÎÎÏÇÏ 4-È ÂÕË×ÅÎÎÙÍ ËÏÄÏÍ code.
END-of-sulci/files/cmdlist.ru.txt
echo x - sulci/pkg-descr
sed 's/^X//' >sulci/pkg-descr << 'END-of-sulci/pkg-descr'
XSulci, an Jabber bot.
X
XWWW: http://home.ermine.pp.ru/svn/ocaml/trunk/
END-of-sulci/pkg-descr
echo x - sulci/pkg-plist
sed 's/^X//' >sulci/pkg-plist << 'END-of-sulci/pkg-plist'
Xsbin/sulci
X%%DATADIR%%/tlds.db
X%%DATADIR%%/lang/en.htbl
X%%DATADIR%%/lang/en.msg
X%%DATADIR%%/lang/en_time.ml
X%%DATADIR%%/lang/es.htbl
X%%DATADIR%%/lang/es.msg
X%%DATADIR%%/lang/es_time.ml
X%%DATADIR%%/lang/nl.htbl
X%%DATADIR%%/lang/nl.msg
X%%DATADIR%%/lang/ru.htbl
X%%DATADIR%%/lang/ru.msg
X%%DATADIR%%/lang/ru_time.ml
X%%EXAMPLESDIR%%/sulci.conf.example
X%%PORTDOCS%%%%DOCSDIR%%/COPYING
X%%PORTDOCS%%%%DOCSDIR%%/cmdlist.ru.txt
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X at dirrm %%DATADIR%%/lang
X at dirrm %%DATADIR%%
X at dirrm %%EXAMPLESDIR%%
END-of-sulci/pkg-plist
echo x - sulci/pkg-message
sed 's/^X//' >sulci/pkg-message << 'END-of-sulci/pkg-message'
XYou have to do something like bellow before starting up the bot.
X
X # mkdir home/of/the/sulci/the/bot
X # cd home/of/the/sulci/the/bot
X # cp ${PREFIX}/share/examples/sulci/sulci.conf.example sulci.conf
X # vi sulci.conf
X # ln -s ${PREFIX}/share/sulci/tlds.db .
X
X # echo sulci_enable=\"YES"\ >> /etc/rc.conf
X # echo sulci_chdir=\"home/of/the/sulci/the/bot\" >> /etc/rc.conf
X
X
XAlso, you could add rc.subr's vars like this:
X
X sulci_user="sulci"
X sulci_nice="20"
X sulci_precmd="eval `/usr/bin/limits -U sulci -e`"
X
Xand don't forget to chown home/of/the/sulci/the/bot
X
X
XNote: you have to get the key from Google before using the "google"
Xplug-in. See http://api.google.com/ for how to.
END-of-sulci/pkg-message
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list