diff options
-rw-r--r-- | irc/bopm/Makefile | 38 | ||||
-rw-r--r-- | irc/bopm/files/bopm.in | 38 | ||||
-rw-r--r-- | irc/bopm/files/bopm.sh.sample | 24 | ||||
-rw-r--r-- | irc/bopm/files/pkg-deinstall.in | 17 | ||||
-rw-r--r-- | irc/bopm/files/pkg-install.in | 48 | ||||
-rw-r--r-- | irc/bopm/files/pkg-message.in | 13 | ||||
-rw-r--r-- | irc/bopm/pkg-deinstall | 54 | ||||
-rw-r--r-- | irc/bopm/pkg-descr | 12 | ||||
-rw-r--r-- | irc/bopm/pkg-install | 68 | ||||
-rw-r--r-- | irc/bopm/pkg-message | 17 | ||||
-rw-r--r-- | irc/bopm/pkg-plist | 8 |
11 files changed, 153 insertions, 184 deletions
diff --git a/irc/bopm/Makefile b/irc/bopm/Makefile index 07e857c4ed19..2de7ead0e7a8 100644 --- a/irc/bopm/Makefile +++ b/irc/bopm/Makefile @@ -7,28 +7,46 @@ PORTNAME= bopm PORTVERSION= 3.1.2 +PORTREVISION= 1 CATEGORIES= irc MASTER_SITES= http://static.blitzed.org/www.blitzed.org/bopm/files/ \ ftp://rusunix.org/pub/FreeBSD/distfiles/ MAINTAINER= aquatique-ports@rambler.ru -COMMENT= Open proxy monitor and blocker, designed for use with ircds +COMMENT= Open proxy and DNSBL monitor, designed for use with ircds -GNU_CONFIGURE= yes -CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} -CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc +LOGDIR= /var/log/${PORTNAME} + +GNU_CONFIGURE= yes +CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} +CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc --localstatedir=${LOGDIR} USE_LDCONFIG= yes +USE_RC_SUBR= bopm -post-patch: - @${REINPLACE_CMD} -e 's,^[[:space:]]*$$(mkinstalldirs) $$(localstatedir),,' ${WRKSRC}/Makefile.in - @${REINPLACE_CMD} -e 's,= bopm.conf.sample,= ,' ${WRKSRC}/Makefile.in +SUB_FILES= pkg-message pkg-install pkg-deinstall +PLIST_SUB= LOGDIR=${LOGDIR} +SUB_LIST= LOGDIR=${LOGDIR} -pre-install: - @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL +pre-su-install: + @${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + +post-patch: + @${REINPLACE_CMD} \ + -e 's,data_DATA = bopm.conf.sample,data_DATA =,g' \ + -e 's,$(sysconfdir)/bopm.conf,$(sysconfdir)/bopm.conf.sample,g' \ + ${WRKSRC}/Makefile.in + @${REINPLACE_CMD} \ + -e 's,/some/path/bopm.pid,${LOGDIR}/bopm.pid,g' \ + -e 's,/some/path/scan.log,${LOGDIR}/scan.log,g' \ + ${WRKSRC}/bopm.conf.sample post-install: - @${INSTALL_SCRIPT} -m 555 ${FILESDIR}/bopm.sh.sample ${PREFIX}/etc/rc.d + @${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + @${CHOWN} bopm:bopm ${LOGDIR} + @${CHMOD} 750 ${LOGDIR} + @${CHOWN} bopm:bopm ${PREFIX}/etc/bopm.conf.sample + @${CHMOD} 640 ${PREFIX}/etc/bopm.conf.sample @${CAT} ${PKGMESSAGE} .include <bsd.port.mk> diff --git a/irc/bopm/files/bopm.in b/irc/bopm/files/bopm.in new file mode 100644 index 000000000000..96bc4fb8c14c --- /dev/null +++ b/irc/bopm/files/bopm.in @@ -0,0 +1,38 @@ +#!/bin/sh + +# PROVIDE: bopm +# REQUIRE: DAEMON +# KEYWORD: shutdown + +# +# Add the following line to /etc/rc.conf to enable bopm: +# bopm_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable bopm. +# bopm_config (str): Default to "%%PREFIX%%/etc/bopm.conf" +# Configuration file for bopm. +# bopm_flags (str): Custom flags passed to the bopm +# daemon (default empty). +# +. %%RC_SUBR%% + +name="bopm" +rcvar=`set_rcvar` + +load_rc_config $name + +: ${bopm_enable="NO"} +: ${bopm_config="%%PREFIX%%/etc/bopm.conf"} +: ${bopm_flags=""} + +bopm_user="bopm" +pidfile="%%LOGDIR%%/bopm.pid" +required_files="${bopm_config}" + +# NOTE: bopm behaves differently with or without the -d flag. +# If you choose to use -d, you will probably need to redirect +# stdout and stderr to appropriate places. +# +command="%%PREFIX%%/bin/bopm" +command_args="${bopm_flags} &" + +run_rc_command "$1" diff --git a/irc/bopm/files/bopm.sh.sample b/irc/bopm/files/bopm.sh.sample deleted file mode 100644 index 5a2adbea0208..000000000000 --- a/irc/bopm/files/bopm.sh.sample +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -PREFIX=$(expr $0 : "\(/.*/\)etc/rc\.d/$(basename $0)\$") - -BOPM=${PREFIX}bin/bopm - -case "$1" in -start) - if [ -x $BOPM ]; then - su bopm -c $BOPM -d >/dev/null 2>&1 - echo -n ' bopm' - fi - ;; -stop) -# kill `cat ${PREFIX}/etc/ircd-hybrid-ru/ircd.pid` >/dev/null 2>&1 - killall bopm >/dev/null 2>&1 - echo -n ' bopm' - ;; -*) - echo "Usage: `basename $0` {start|stop}" >&2 - ;; -esac - -exit 0 diff --git a/irc/bopm/files/pkg-deinstall.in b/irc/bopm/files/pkg-deinstall.in new file mode 100644 index 000000000000..1efb18528816 --- /dev/null +++ b/irc/bopm/files/pkg-deinstall.in @@ -0,0 +1,17 @@ +#!/bin/sh + +#----------------------------------------------------------------------- +if [ "x$2" = "xPOST-DEINSTALL" ]; then +#----------------------------------------------------------------------- + +if [ -d %%LOGDIR%% ] +then + rm -f %%LOGDIR%%/bopm.pid 2>/dev/null + rmdir %%LOGDIR%% 2>/dev/null || echo "The logs in %%LOGDIR%% will remain untouched after the port is deinstalled." +fi + +#----------------------------------------------------------------------- +fi +#----------------------------------------------------------------------- + +exit 0 diff --git a/irc/bopm/files/pkg-install.in b/irc/bopm/files/pkg-install.in new file mode 100644 index 000000000000..10a5a457acaa --- /dev/null +++ b/irc/bopm/files/pkg-install.in @@ -0,0 +1,48 @@ +#!/bin/sh + +# This script is a modified copy of the pkg-install script +# from the ircd-hybrid-ru port. + +PATH=/bin:/usr/bin:/usr/sbin + +#----------------------------------------------------------------------- +if [ "x$2" = "xPRE-INSTALL" ]; then +#----------------------------------------------------------------------- + +USER=bopm +GROUP=${USER} +UID=717 +GID=${UID} +SHELL=/bin/sh +HOMEDIR=/nonexistent +GECOS="Blitzed Open Proxy Monitor" + +if pw group show "${GROUP}" 2>/dev/null; then + echo "You already have a group \"${GROUP}\", so I will use it." +else + if pw groupadd ${GROUP} -g ${GID}; then + echo "Added group \"${GROUP}\"." + else + echo "Adding group \"${GROUP}\" failed..." + exit 1 + fi +fi + +if pw user show "${USER}" 2>/dev/null; then + echo "You already have a user \"${USER}\", so I will use it." +else + if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ + -d ${HOMEDIR} -s ${SHELL} -c "${GECOS}" + then + echo "Added user \"${USER}\"." + else + echo "Adding user \"${USER}\" failed..." + exit 1 + fi +fi + +#----------------------------------------------------------------------- +fi +#----------------------------------------------------------------------- + +exit 0 diff --git a/irc/bopm/files/pkg-message.in b/irc/bopm/files/pkg-message.in new file mode 100644 index 000000000000..ae25c2f16eb8 --- /dev/null +++ b/irc/bopm/files/pkg-message.in @@ -0,0 +1,13 @@ +----------------------------------------------------------------- +bopm has been installed. Here are some installation details: + +user bopm (uid 717) and group bopm (gid 717) have been added +to passwd(5) and group(5). + +bopm sample conf: %%PREFIX%%/etc/bopm.conf.sample +bopm rc script: %%PREFIX%%/etc/rc.d/bopm +bopm log dir: %%LOGDIR%% + +Please be sure to create %%PREFIX%%/etc/bopm.conf before +starting this daemon. +----------------------------------------------------------------- diff --git a/irc/bopm/pkg-deinstall b/irc/bopm/pkg-deinstall deleted file mode 100644 index 9c309af31bbc..000000000000 --- a/irc/bopm/pkg-deinstall +++ /dev/null @@ -1,54 +0,0 @@ -#! /bin/sh - -ask() { - local question default answer - - question=$1 - default=$2 - if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then - read -p "${question} [${default}]? " answer - fi - echo ${answer:-${default}} -} - -yesno() { - local question default answer - - question=$1 - default=$2 - while :; do - answer=$(ask "${question}" "${default}") - case "${answer}" in - [Yy]*) return 0;; - [Nn]*) return 1;; - esac - echo "Please answer yes or no." - done -} - -delete_account() { - local u - - u=$1 - if yesno "Do you want me to remove user \"${u}\"" n; then - pw userdel -n ${u} - echo "Done." - fi -} - -case $2 in - -DEINSTALL) - if ps -axc | grep -qw bopm; then - if yesno "bopm is still running. Shall I stop it?" y; then - killall bopm - sleep 2 - else - echo "OK ... I hope you know what you are doing." - fi - fi - - delete_account bopm - ;; - -esac diff --git a/irc/bopm/pkg-descr b/irc/bopm/pkg-descr index a5a5d961513a..df58c06f4006 100644 --- a/irc/bopm/pkg-descr +++ b/irc/bopm/pkg-descr @@ -1,7 +1,7 @@ - bopm is an open-source open proxy monitor, designed for use - with hybrid-based ircds, although it can be used with slight - modification on any server which has +c to show connects to - opers and that supports KLINEs in order to K-LINE incoming - connects from open proxies +bopm is an open-source proxy monitor, designed for use +with IRC daemons such as Bahamut, Hybrid/ratbox, Unreal, +Dancer, and any other which supports +c to show client +connects to opers; bopm will KLINE clients it considers +on an open proxy. bopm also supports DNSBL lookups. -WWW: http://blitzed.org/bopm/ +WWW: http://wiki.blitzed.org/BOPM diff --git a/irc/bopm/pkg-install b/irc/bopm/pkg-install deleted file mode 100644 index 0bbc7de7346e..000000000000 --- a/irc/bopm/pkg-install +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh - -# This script is a modified copy of the pkg-install script -# from the ircd-hybrid-ru port. - -if [ "x$2" != "xPRE-INSTALL" ]; then - exit 0; -fi - - -if ! which -s pw ; then - cat <<EOF -Your system does not include the "pw" utility. You should upgrade -to a newer version of FreeBSD. Without "pw" this script will not -run. -EOF - exit 1 -fi - -uid=717 -user=bopm -gid=$uid -group=$user -gecos="Blitzed Open Proxy Monitor" -shell="/bin/sh" -home="/nonexistent" - -echo "" -if pw groupshow $group 2> /dev/null ; then - echo "You already have a group \"$group\", so I will use it." -else - if pw groupshow $gid 2> /dev/null ; then - echo "You already have a gid \"$gid\". Please create a user \"$group\"" - echo "with a default group of \"$group\"." - exit 1 - fi - echo "You need a group \"$group\"." - if which -s pw ; then - pw groupadd $group -g $gid || exit - echo "Done." - else - echo "Please create it, and try again." - if ! pw usershow $user 2> /dev/null ; then - echo "While you're at it, please create a user \"$user\"" - echo 'too, with a default group of "$group".' - fi - exit 1 - fi -fi - -if pw usershow $user 2> /dev/null ; then - echo "You already have a user \"$user\", so I will use it." -else - if pw usershow $uid 2> /dev/null ; then - echo "You already have a uid \"$uid\". Please create a user \"$user\"" - echo "with a default group of \"$group\"." - exit 1 - fi - echo "You need a user \"$user\"." - if which -s pw; then - pw useradd $user -g $group -u $uid -h - -d $home \ - -s "$shell" -c "$gecos" || exit - echo "Done." - else - echo "Please create it, and try again." - exit 1 - fi -fi diff --git a/irc/bopm/pkg-message b/irc/bopm/pkg-message deleted file mode 100644 index 2afc1b09d46b..000000000000 --- a/irc/bopm/pkg-message +++ /dev/null @@ -1,17 +0,0 @@ - ----------------------------------------------------- - -This port uses now UID/GID - 717 - -bopm has been installed. - -This port create user bopm and group bopm - -You should now edit bopm.conf it to suit your needs. - -You may then start the bopm by running: - cd /usr/local/etc/rc.d/ && \ - cp bopm.sh.sample bopm.sh && \ - /usr/local/etc/rc.d/bopm.sh start - ----------------------------------------------------- diff --git a/irc/bopm/pkg-plist b/irc/bopm/pkg-plist index f49f9a7a9996..8992f2d19271 100644 --- a/irc/bopm/pkg-plist +++ b/irc/bopm/pkg-plist @@ -1,6 +1,7 @@ +@unexec /bin/echo "===>" Stopping bopm... +@unexec /usr/bin/killall bopm 2>/dev/null || true bin/bopm -etc/bopm.conf -etc/rc.d/bopm.sh.sample +etc/bopm.conf.sample include/opm.h include/opm_error.h include/opm_types.h @@ -9,6 +10,3 @@ lib/libopm.so.0 lib/libopm.so lib/libopm.la lib/libopm.a -@exec mkdir -m 755 /var/log/bopm -@exec chown bopm:bopm /var/log/bopm -@dirrmtry var/log/bopm |