diff options
-rw-r--r-- | net-irc/psybnc/ChangeLog | 12 | ||||
-rw-r--r-- | net-irc/psybnc/files/oidentd.conf.psybnc | 7 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch | 13 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc-oidentd.initd | 42 | ||||
-rw-r--r-- | net-irc/psybnc/metadata.xml | 3 | ||||
-rw-r--r-- | net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild | 10 | ||||
-rw-r--r-- | net-irc/psybnc/psybnc-2.3.2.9.ebuild | 148 |
7 files changed, 228 insertions, 7 deletions
diff --git a/net-irc/psybnc/ChangeLog b/net-irc/psybnc/ChangeLog index 796a15e4633c..1ac30610e274 100644 --- a/net-irc/psybnc/ChangeLog +++ b/net-irc/psybnc/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-irc/psybnc -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/psybnc/ChangeLog,v 1.7 2007/05/06 12:41:07 genone Exp $ +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/psybnc/ChangeLog,v 1.8 2008/12/14 18:23:14 gurligebis Exp $ + +*psybnc-2.3.2.9 (14 Dec 2008) + + 14 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org> + +files/psybnc-2.3.2.9-oidentd.patch, +files/oidentd.conf.psybnc, + +files/psybnc-oidentd.initd, metadata.xml, psybnc-2.3.2.7-r2.ebuild, + +psybnc-2.3.2.9.ebuild: + Bumping to 2.3.2.9, fixing both #172650 and #246596 06 May 2007; Marius Mauch <genone@gentoo.org> psybnc-2.3.2.7-r2.ebuild: Replacing einfo with elog diff --git a/net-irc/psybnc/files/oidentd.conf.psybnc b/net-irc/psybnc/files/oidentd.conf.psybnc new file mode 100644 index 000000000000..c8e4ed67505c --- /dev/null +++ b/net-irc/psybnc/files/oidentd.conf.psybnc @@ -0,0 +1,7 @@ +user psybnc {
+ default {
+ allow spoof
+ allow spoof_all
+ allow spoof_privport
+ }
+}
diff --git a/net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch new file mode 100644 index 000000000000..fbb4b163e3a3 --- /dev/null +++ b/net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch @@ -0,0 +1,13 @@ +--- config.h.orig 2008-12-14 20:02:57.000000000 +0000 ++++ config.h 2008-12-14 20:03:35.000000000 +0000 +@@ -14,6 +14,10 @@ + + #define TRANSLATE + ++/* Support oIdentd */ ++ ++#define OIDENTD ++ + /* Allow internal network */ + + #define INTNET diff --git a/net-irc/psybnc/files/psybnc-oidentd.initd b/net-irc/psybnc/files/psybnc-oidentd.initd new file mode 100644 index 000000000000..cf95c2152424 --- /dev/null +++ b/net-irc/psybnc/files/psybnc-oidentd.initd @@ -0,0 +1,42 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/psybnc/files/psybnc-oidentd.initd,v 1.1 2008/12/14 18:23:14 gurligebis Exp $ + +depend() { + need net oidentd +} + +check_config() { + if [[ ! -f ${PSYBNC_CONFIG} ]] + then + eerror "Please set \$PSYBNC_CONFIG in /etc/conf.d/psybnc!" + return 1 + fi + + if [[ ! -d "${PSYBNC_HOME}" ]] + then + eerror "Please set \$PSYBNC_HOME in /etc/conf.d/psybnc!" + return 1 + fi + + if [[ -z "${PSYBNC_USER}" ]] + then + eerror "Please set \$PSYBNC_USER in /etc/conf.d/psybnc!" + return 1 + fi +} + +start() { + check_config || return 1 + ebegin "Starting psyBNC" + start-stop-daemon --start --quiet --chuid "${PSYBNC_USER}" --chdir "${PSYBNC_HOME}" -e HOME="${PSYBNC_HOME}" --exec /usr/bin/psybnc -- "${PSYBNC_CONFIG}" &>/dev/null + eend $? +} + +stop() { + check_config || return 1 + ebegin "Stopping psyBNC" + start-stop-daemon --stop --quiet --pidfile "${PSYBNC_HOME}"/psybnc.pid --signal 9 + eend $? +} diff --git a/net-irc/psybnc/metadata.xml b/net-irc/psybnc/metadata.xml index 4c9ad71be51f..20b6b26f444f 100644 --- a/net-irc/psybnc/metadata.xml +++ b/net-irc/psybnc/metadata.xml @@ -6,5 +6,8 @@ <email>gurligebis@gentoo.org</email> <name>Bjarke Istrup Pedersen</name> </maintainer> + <use> + <flag name='oidentd'>Adds support for oidentd</flag> + </use> <longdescription>psyBNC is a multi-user and multi-server gateway to IRC networks</longdescription> </pkgmetadata> diff --git a/net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild b/net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild index d2d910ac7c75..d52b2b20259a 100644 --- a/net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild +++ b/net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild,v 1.3 2007/05/06 12:41:07 genone Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild,v 1.4 2008/12/14 18:23:14 gurligebis Exp $ inherit eutils versionator toolchain-funcs MY_PV="$(replace_version_separator 3 -)" @@ -26,9 +26,9 @@ pkg_setup() { src_unpack() { unpack ${A} - cd ${S} + cd "${S}" - epatch ${FILESDIR}/compile.diff + epatch "${FILESDIR}/compile.diff" # Useless files rm -f */INFO @@ -84,7 +84,7 @@ src_install() { newinitd "${FILESDIR}"/psybnc.initd psybnc newconfd "${FILESDIR}"/psybnc.confd psybnc - dodoc CHANGES COPYING FAQ README SCRIPTING TODO + dodoc CHANGES FAQ README SCRIPTING TODO docinto example-script dodoc scripts/example/DEFAULT.SCRIPT } diff --git a/net-irc/psybnc/psybnc-2.3.2.9.ebuild b/net-irc/psybnc/psybnc-2.3.2.9.ebuild new file mode 100644 index 000000000000..0b8e164885d5 --- /dev/null +++ b/net-irc/psybnc/psybnc-2.3.2.9.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/psybnc/psybnc-2.3.2.9.ebuild,v 1.1 2008/12/14 18:23:14 gurligebis Exp $ + +inherit eutils versionator toolchain-funcs flag-o-matic +MY_PV="$(replace_version_separator 3 -)" +PSYBNC_HOME="/var/lib/psybnc" + +DESCRIPTION="psyBNC is a multi-user and multi-server gateway to IRC networks" +HOMEPAGE="http://www.psybnc.at/index.html" +SRC_URI="http://www.psybnc.at/download/beta/psyBNC-${MY_PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="ipv6 ssl oidentd" + +DEPEND="ssl? ( >=dev-libs/openssl-0.9.7d ) + oidentd? ( >=net-misc/oidentd-2.0 )" +RDEPEND="${DEPEND}" +S="${WORKDIR}"/"${PN}" + +pkg_setup() { + enewgroup psybnc + enewuser psybnc -1 -1 ${PSYBNC_HOME} psybnc +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/compile.diff" + + # add oidentd + use oidentd && epatch "${FILESDIR}/${P}-oidentd.patch" + + # Useless files + rm -f */INFO + + # Prevent stripping the binary + sed -i -e "/@strip/ d" tools/autoconf.c + + # Pretend we already have a certificate, we generate it in pkg_config + mkdir key + touch key/psybnc.cert.pem + + if [[ -f ${ROOT}/usr/share/psybnc/salt.h ]] + then + einfo "Using existing salt.h for password encryption" + cp "${ROOT}"/usr/share/psybnc/salt.h salt.h + fi +} + +src_compile() { + use ipv6 || rm -f tools/chkipv6.c + use ssl || rm -f tools/chkssl.c + + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "emake failed" +} + +src_install() { + dobin psybnc + + insinto /usr/share/psybnc + doins -r help lang salt.h + fperms 0600 /usr/share/psybnc/salt.h + + insinto /etc/psybnc + doins "${FILESDIR}"/psybnc.conf + + keepdir "${PSYBNC_HOME}"/{log,motd,scripts} + dosym /usr/share/psybnc/lang "${PSYBNC_HOME}"/lang + dosym /usr/share/psybnc/help "${PSYBNC_HOME}"/help + + fowners psybnc:psybnc "${PSYBNC_HOME}"/{,log,motd,scripts} /etc/psybnc/psybnc.conf + fperms 0750 "${PSYBNC_HOME}"/{,log,motd,scripts} + fperms 0640 /etc/psybnc/psybnc.conf + + if use ssl + then + keepdir /etc/psybnc/ssl + dosym /etc/psybnc/ssl "${PSYBNC_HOME}"/key + else + # Drop SSL listener from psybnc.conf + sed -i -e "/^# Default SSL listener$/,+4 d" "${D}"/etc/psybnc/psybnc.conf + fi + + if use oidentd + then + insinto /etc + doins "${FILESDIR}"/oidentd.conf.psybnc + fperms 640 /etc/oidentd.conf.psybnc + # install init-script with oidentd-support + newinitd "${FILESDIR}"/psybnc-oidentd.initd psybnc + else + # install init-script without oidentd-support + newinitd "${FILESDIR}"/psybnc.initd psybnc + fi + + newconfd "${FILESDIR}"/psybnc.confd psybnc + + dodoc CHANGES FAQ README SCRIPTING TODO + docinto example-script + dodoc scripts/example/DEFAULT.SCRIPT +} + +pkg_config() { + if use ssl + then + if [[ -f ${ROOT}/etc/psybnc/ssl/psybnc.cert.pem || -f ${ROOT}/etc/psybnc/ssl/psybnc.key.pem ]] + then + ewarn "Existing /etc/psybnc/psybnc.cert.pem or /etc/psybnc/psybnc.key.pem found!" + ewarn "Remove /etc/psybnc/psybnc.*.pem and run emerge --config =${CATEGORY}/${PF} again." + return + fi + + einfo "Generating certificate request..." + openssl req -new -out "${ROOT}"/etc/psybnc/ssl/psybnc.req.pem -keyout "${ROOT}"/etc/psybnc/ssl/psybnc.key.pem -nodes + einfo "Generating self-signed certificate..." + openssl req -x509 -days 365 -in "${ROOT}"/etc/psybnc/ssl/psybnc.req.pem -key "${ROOT}"/etc/psybnc/ssl/psybnc.key.pem -out "${ROOT}"/etc/psybnc/ssl/psybnc.cert.pem + einfo "Setting permissions on files..." + chown root:psybnc "${ROOT}"/etc/psybnc/ssl/psybnc.{cert,key,req}.pem + chmod 0640 "${ROOT}"/etc/psybnc/ssl/psybnc.{cert,key,req}.pem + fi +} + +pkg_postinst() { + if use ssl + then + elog + elog "Please run \"emerge --config =${CATEGORY}/${PF}\" to create needed SSL certificates." + fi + if use oidentd + then + elog + elog "You have enabled oidentd-support. You will need to set" + elog "up your /etc/oident.conf file before running psybnc. An example" + elog "for psyBNC can be found under /etc/oident.conf.psybnc." + fi + elog + elog "You can connect to psyBNC on port 23998 with user gentoo and password gentoo." + elog "Please edit the psyBNC configuration at /etc/psybnc/psybnc.conf to change this." + elog + elog "To be able to reuse an existing psybnc.conf, you need to make sure that the" + elog "old salt.h is available at /usr/share/psybnc/salt.h when compiling a new" + elog "version of psyBNC. It is needed for password encryption and decryption." + elog +} |