summaryrefslogtreecommitdiff
path: root/net/binkd
diff options
context:
space:
mode:
authorMax Khon <fjoe@FreeBSD.org>2005-11-10 15:08:42 +0000
committerMax Khon <fjoe@FreeBSD.org>2005-11-10 15:08:42 +0000
commit88a831311d8f9d0c90058cee088dc246c277cc6d (patch)
tree7ff00c950ed900894906b43470143e061ff02eff /net/binkd
parent- CATEGORY CHANGE: add "net" secondary category (diff)
- Add rcNG startup script
- Create user/group (default fido:fido 111:111) for running the server - Bump PORTREVISION - Take maintainership Submitted by: Yuri Kurenkov (partially) Approved by: dsh@vlink.ru (previous MAINTINAER)
Notes
Notes: svn path=/head/; revision=147839
Diffstat (limited to 'net/binkd')
-rw-r--r--net/binkd/Makefile7
-rw-r--r--net/binkd/files/binkd.sh.in32
-rw-r--r--net/binkd/pkg-install76
3 files changed, 114 insertions, 1 deletions
diff --git a/net/binkd/Makefile b/net/binkd/Makefile
index 97ebf462e587..f4b22e67ea68 100644
--- a/net/binkd/Makefile
+++ b/net/binkd/Makefile
@@ -7,16 +7,18 @@
PORTNAME= binkd
PORTVERSION= 0.9.8
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://happy.kiev.ua/pub/fidosoft/mailer/binkd/ \
ftp://ftp.rsu.ru/pub/FreeBSD/ports/distfiles/
DISTNAME= binkd098
-MAINTAINER= dsh@vlink.ru
+MAINTAINER= fjoe@FreeBSD.org
COMMENT= Fidonet TCP/IP mailer
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
USE_ZIP= yes
+USE_RC_SUBR= binkd.sh
GNU_CONFIGURE= yes
CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL}
@@ -34,6 +36,9 @@ pre-configure:
@${CP} ${WRKSRC}/mkfls/unix/* ${WRKSRC}/
@${CHMOD} a+x ${WRKSRC}/configure
+pre-install:
+ @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL
+
do-install:
@${INSTALL_PROGRAM} ${WRKSRC}/binkd ${PREFIX}/sbin
@${INSTALL_MAN} ${WRKSRC}/binkd.8 ${MANPREFIX}/man/man8
diff --git a/net/binkd/files/binkd.sh.in b/net/binkd/files/binkd.sh.in
new file mode 100644
index 000000000000..8ef0f0b437ea
--- /dev/null
+++ b/net/binkd/files/binkd.sh.in
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: binkd
+# REQUIRE: LOGIN
+# KEYWORD: FreeBSD shutdown
+#
+# Define these binkd_* variables in one of these files:
+# /etc/rc.conf
+# /etc/rc.conf.local
+# /etc/rc.conf.d/apache
+#
+# DO NOT CHANGE THESE DEFAULT VALUES HERE
+#
+binkd_enable=${binkd_enable:-"NO"}
+binkd_config=${binkd_config:-"%%PREFIX%%/etc/binkd.cfg"}
+binkd_flags=${binkd_flags:-"-D"}
+binkd_user=${binkd_user:-"fido"}
+binkd_pidfile=${binkd_pidfile:-"/var/run/binkd/binkd.pid"}
+
+. %%RC_SUBR%%
+
+name="binkd"
+rcvar=`set_rcvar`
+command="%%PREFIX%%/sbin/binkd"
+command_args="${binkd_config}"
+required_files="${binkd_config}"
+pidfile="${binkd_pidfile}"
+
+load_rc_config binkd
+run_rc_command "$1"
diff --git a/net/binkd/pkg-install b/net/binkd/pkg-install
new file mode 100644
index 000000000000..c20a81747eff
--- /dev/null
+++ b/net/binkd/pkg-install
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+
+PKG_PREFIX=${PKG_PREFIX:=/usr/local}
+BATCH=${BATCH:=no}
+
+USER=fido
+GROUP=fido
+UID=111
+GID=111
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -z "${PACKAGE_BUILDING}" -a x${BATCH} = xno ]; then
+ read -p "${question} [${default}]? " answer
+ fi
+ if [ x${answer} = x ]; then
+ answer=${default}
+ fi
+ echo ${answer}
+}
+
+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
+}
+
+USER=$(ask "Run ${1} as user" ${USER})
+UID=$(ask "Enter ${USER} user UID" ${UID})
+GROUP=$(ask "Enter group name for ${1} user" ${GROUP})
+GID=$(ask "Enter ${GROUP} group GID" ${GID})
+echo "Run ${1} as uid=${UID}(${USER}) gid=${GID}(${GROUP})"
+
+if [ x"$2" = xPRE-INSTALL ]; then
+
+ if /usr/sbin/pw groupshow "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if /usr/sbin/pw groupadd ${GROUP} -g ${GID}
+ then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ fi
+
+ if /usr/sbin/pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if /usr/sbin/pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d ${PKG_PREFIX}/fido \
+ -c "Fido System"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ fi
+fi