diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-irc/psybnc | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-irc/psybnc')
-rw-r--r-- | net-irc/psybnc/Manifest | 1 | ||||
-rw-r--r-- | net-irc/psybnc/files/compile.diff | 79 | ||||
-rw-r--r-- | net-irc/psybnc/files/ldflags-fix.patch | 12 | ||||
-rw-r--r-- | net-irc/psybnc/files/oidentd.conf.psybnc | 7 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc-2.3.2.9-multinetwork.patch | 13 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch | 13 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc-2.3.2.9-scripting.patch | 13 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc-oidentd.initd | 42 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc.conf | 17 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc.confd | 5 | ||||
-rw-r--r-- | net-irc/psybnc/files/psybnc.initd | 42 | ||||
-rw-r--r-- | net-irc/psybnc/metadata.xml | 15 | ||||
-rw-r--r-- | net-irc/psybnc/psybnc-2.3.2.9-r2.ebuild | 159 |
13 files changed, 418 insertions, 0 deletions
diff --git a/net-irc/psybnc/Manifest b/net-irc/psybnc/Manifest new file mode 100644 index 000000000000..03b7851f1682 --- /dev/null +++ b/net-irc/psybnc/Manifest @@ -0,0 +1 @@ +DIST psyBNC-2.3.2-9.tar.gz 318676 SHA256 9129ade198f26f7a47301d2ab5933a2844bdd187fca437f8264ae88f168e1644 SHA512 b664f57610e54fadd938b359a0e8052b8fe3dd36bd1ee339f36ee22ae4d36a76e803425c5133f925ac18c01767ffbc8a2f471c014b5b76b05894cfea9fe5416b WHIRLPOOL ebbab2b659aedcd81561a4a2c4a12142f1553d2bc097197ad332fd373559bba6d4f23bb16e7a7a4eaf74f33abfc3f3ec405263664e8d1ab3d26eda56b80af3b8 diff --git a/net-irc/psybnc/files/compile.diff b/net-irc/psybnc/files/compile.diff new file mode 100644 index 000000000000..fdee75c60732 --- /dev/null +++ b/net-irc/psybnc/files/compile.diff @@ -0,0 +1,79 @@ +diff -Naurp src/p_blowfish.c src/p_blowfish.c +--- src/p_blowfish.c 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_blowfish.c 2007-02-26 12:17:11.000000000 +0000 +@@ -31,7 +31,7 @@ static char rcsid[] = "@(#)# $Id$ + #include <string.h> + #include <config.h> + +-char *strmncpy(char *dest, char *source, size_t len); ++char *strmncpy(char *dest, const char *source, size_t len); + char *lngtxt(int msgnum); + + #define pcontext { strmncpy(ctxt,__FILE__,sizeof(ctxt));strmncpy(cfunc,__FUNCTION__,sizeof(cfunc)); cline=__LINE__; } +diff -Naurp src/p_global.h src/p_global.h +--- src/p_global.h 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_global.h 2007-02-26 12:17:11.000000000 +0000 +@@ -972,8 +972,8 @@ int checklogging(int usern); + #endif + + #ifndef P_MEMORY +-unsigned long *__pmalloc(unsigned long size,char *module,char *function,int line); +-void _pfree(void * pointer,char *module, char *function, int line); ++unsigned long *__pmalloc(unsigned long size,const char *module,const char *function,int line); ++void _pfree(void * pointer,char *module, const char *function, int line); + struct usert *user(int usern); + struct newpeert *newpeer(int usern); + struct datalinkt *datalink(int usern); +@@ -1092,7 +1092,7 @@ int replace(char *rps, char whatc, char + char *nobreak(char *tobreak); + char *randstring(int length); + char *strmcat(char *first,char *second); +-char *strmncpy(char *dest, char *source, unsigned int len); ++char *strmncpy(char *dest, const char *source, unsigned int len); + int strmncasecmp(char *one, char *two); + int strmcmp(char *one, char *two); + int strmwildcmp(char *line, char *wildcard); +diff -Naurp src/p_memory.c src/p_memory.c +--- src/p_memory.c 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_memory.c 2007-02-26 12:17:11.000000000 +0000 +@@ -32,7 +32,7 @@ FILE *logm=NULL; + + /* malloc-wrapper. No memory will log an error entry and kill the bouncer */ + +-unsigned long *__pmalloc(unsigned long size,char *module,char *function, int line) ++unsigned long *__pmalloc(unsigned long size,const char *module,const char *function, int line) + { + unsigned long *rc; + if (!(rc=(unsigned long *)malloc(size))) +@@ -53,7 +53,7 @@ unsigned long *__pmalloc(unsigned long s + return rc; + } + +-void _pfree(unsigned long *pointer, char *module, char *function, int line) ++void _pfree(unsigned long *pointer, char *module, const char *function, int line) + { + #ifdef LOGALLOC + if(logm==NULL) +diff -Naurp src/p_string.c src/p_string.c +--- src/p_string.c 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_string.c 2007-02-26 12:17:11.000000000 +0000 +@@ -51,7 +51,7 @@ char *lngtxt(unsigned int msgnum) + + /* string copy with len and zero delimit */ + +-char *strmncpy(char *dest, char *source, unsigned int len) ++char *strmncpy(char *dest, const char *source, unsigned int len) + { + char bf[strlen(source)+2]; + char *pt; +diff -Naurp src/match.c src/match.c +--- src/match.c 2007-02-26 12:26:10.000000000 +0000 ++++ src/match.c 2007-02-26 12:26:17.000000000 +0000 +@@ -36,6 +36,7 @@ + /* Remove the next line to use this in IrcII */ + #define EGGDROP + ++#include <p_global.h> + + /* =================================================================== + * Best to leave stuff after this point alone, but go on and change diff --git a/net-irc/psybnc/files/ldflags-fix.patch b/net-irc/psybnc/files/ldflags-fix.patch new file mode 100644 index 000000000000..f5bc776b1e6b --- /dev/null +++ b/net-irc/psybnc/files/ldflags-fix.patch @@ -0,0 +1,12 @@ +diff -aurp a/tools/autoconf.c b/tools/autoconf.c +--- a/tools/autoconf.c 2010-10-10 20:25:29.295001235 +0000 ++++ b/tools/autoconf.c 2010-10-10 20:26:02.738999569 +0000 +@@ -449,7 +449,7 @@ int main() + fprintf(makefile,"TARGET = psybnc\n"); + fprintf(makefile,"\n"); + fprintf(makefile,"all: $(OBJS)\n"); +- fprintf(makefile," $(CC) -o $(TARGET) $(CFLAGS) $(OBJS) $(LIBS)\n"); ++ fprintf(makefile," $(CC) -o $(TARGET) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS)\n"); + fprintf(makefile," @strip $(TARGET)\n"); + if(ssl==0) + { 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-multinetwork.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-multinetwork.patch new file mode 100644 index 000000000000..4d796961d6ff --- /dev/null +++ b/net-irc/psybnc/files/psybnc-2.3.2.9-multinetwork.patch @@ -0,0 +1,13 @@ +--- config.h.orig 2009-06-10 21:30:24.000000000 +0000 ++++ config.h 2009-06-10 21:30:39.000000000 +0000 +@@ -50,6 +50,10 @@ + + #define BLOCKDNS + ++/* Allow multiple irc connections per user */ ++ ++#define NETWORK ++ + /* Fixes the freeze bug */ + + #define FREEZEFIX 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-2.3.2.9-scripting.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-scripting.patch new file mode 100644 index 000000000000..08dce4fa715b --- /dev/null +++ b/net-irc/psybnc/files/psybnc-2.3.2.9-scripting.patch @@ -0,0 +1,13 @@ +--- config.h.orig 2009-01-03 17:30:41.000000000 +0000 ++++ config.h 2009-01-03 17:31:27.000000000 +0000 +@@ -26,6 +26,10 @@ + + #define TRAFFICLOG + ++/* Allow scripting */ ++ ++#define SCRIPTING ++ + /* Allow linkage of bouncers */ + + #define LINKAGE diff --git a/net-irc/psybnc/files/psybnc-oidentd.initd b/net-irc/psybnc/files/psybnc-oidentd.initd new file mode 100644 index 000000000000..696a07b4d26d --- /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 +# $Id$ + +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/files/psybnc.conf b/net-irc/psybnc/files/psybnc.conf new file mode 100644 index 000000000000..8a1ca8907e86 --- /dev/null +++ b/net-irc/psybnc/files/psybnc.conf @@ -0,0 +1,17 @@ +# Name +PSYBNC.SYSTEM.ME=Gentoo + +# Default listener +PSYBNC.SYSTEM.PORT1=23998 +PSYBNC.SYSTEM.HOST1=* +PSYBNC.HOSTALLOWS.ENTRY0=*;* + +# Default SSL listener +PSYBNC.SYSTEM.PORT2=23889 +PSYBNC.SYSTEM.HOST2=S=* +PSYBNC.HOSTALLOWS.ENTRY1=*;* + +# Default user +USER1.USER.NICK=gentoo +USER1.USER.PASS=gentoo +USER1.USER.RIGHTS=1 diff --git a/net-irc/psybnc/files/psybnc.confd b/net-irc/psybnc/files/psybnc.confd new file mode 100644 index 000000000000..cdd8f31f9457 --- /dev/null +++ b/net-irc/psybnc/files/psybnc.confd @@ -0,0 +1,5 @@ +# /etc/conf.d/psybnc + +PSYBNC_CONFIG="/etc/psybnc/psybnc.conf" +PSYBNC_HOME="/var/lib/psybnc" +PSYBNC_USER="psybnc" diff --git a/net-irc/psybnc/files/psybnc.initd b/net-irc/psybnc/files/psybnc.initd new file mode 100644 index 000000000000..d82f09c95d9f --- /dev/null +++ b/net-irc/psybnc/files/psybnc.initd @@ -0,0 +1,42 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +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}" --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 new file mode 100644 index 000000000000..84d7ff44d86e --- /dev/null +++ b/net-irc/psybnc/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>gurligebis@gentoo.org</email> + <name>Bjarke Istrup Pedersen</name> + </maintainer> + <use> + <flag name='oidentd'>Adds support for oidentd</flag> + <flag name='scripting'>Adds scripting support</flag> + <flag name='multinetwork'>Adds support for multiple networks</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.9-r2.ebuild b/net-irc/psybnc/psybnc-2.3.2.9-r2.ebuild new file mode 100644 index 000000000000..f23b4c053a86 --- /dev/null +++ b/net-irc/psybnc/psybnc-2.3.2.9-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils versionator toolchain-funcs flag-o-matic user +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 ~ppc" +IUSE="ipv6 ssl oidentd scripting multinetwork" + +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}" + + # Useless files + rm -f */INFO + + # 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_prepare() { + epatch "${FILESDIR}/compile.diff" + epatch "${FILESDIR}/ldflags-fix.patch" + + # add oidentd + use oidentd && epatch "${FILESDIR}/${P}-oidentd.patch" + + # add scripting support + use scripting && epatch "${FILESDIR}/${P}-scripting.patch" + + # add multinetwork support + use multinetwork && epatch "${FILESDIR}/${P}-multinetwork.patch" + + # Prevent stripping the binary + sed -i -e "/@strip/ d" tools/autoconf.c +} + +src_compile() { + use ipv6 || rm -f tools/chkipv6.c + use ssl || rm -f tools/chkssl.c + + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" || 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/oidentd.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 +} |