diff options
author | Max Khon <fjoe@FreeBSD.org> | 2005-11-10 15:08:42 +0000 |
---|---|---|
committer | Max Khon <fjoe@FreeBSD.org> | 2005-11-10 15:08:42 +0000 |
commit | 88a831311d8f9d0c90058cee088dc246c277cc6d (patch) | |
tree | 7ff00c950ed900894906b43470143e061ff02eff /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/Makefile | 7 | ||||
-rw-r--r-- | net/binkd/files/binkd.sh.in | 32 | ||||
-rw-r--r-- | net/binkd/pkg-install | 76 |
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 |