summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-irc/psybnc/ChangeLog12
-rw-r--r--net-irc/psybnc/files/oidentd.conf.psybnc7
-rw-r--r--net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch13
-rw-r--r--net-irc/psybnc/files/psybnc-oidentd.initd42
-rw-r--r--net-irc/psybnc/metadata.xml3
-rw-r--r--net-irc/psybnc/psybnc-2.3.2.7-r2.ebuild10
-rw-r--r--net-irc/psybnc/psybnc-2.3.2.9.ebuild148
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
+}