summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Phillip Brink <binki@gentoo.org>2012-02-03 02:02:37 +0000
committerNathan Phillip Brink <binki@gentoo.org>2012-02-03 02:02:37 +0000
commita729b494293104f83b4429e862494d33b12fe070 (patch)
tree562e198fa615ecc55e860001e7b69d5b87ef84f1 /net-irc
parentFix dependency to use libmowgli-1. (diff)
downloadgentoo-2-a729b494293104f83b4429e862494d33b12fe070.tar.gz
gentoo-2-a729b494293104f83b4429e862494d33b12fe070.tar.bz2
gentoo-2-a729b494293104f83b4429e862494d33b12fe070.zip
Bump to unstable atheme-services-7.0.0_alpha11.
(Portage version: 2.2.0_alpha84-r1/cvs/Linux x86_64)
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/atheme-services/ChangeLog9
-rw-r--r--net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild114
-rw-r--r--net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch109
3 files changed, 231 insertions, 1 deletions
diff --git a/net-irc/atheme-services/ChangeLog b/net-irc/atheme-services/ChangeLog
index 22dfbe0fe73e..25e9fdf92bf2 100644
--- a/net-irc/atheme-services/ChangeLog
+++ b/net-irc/atheme-services/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-irc/atheme-services
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/ChangeLog,v 1.29 2012/02/03 01:24:17 binki Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/ChangeLog,v 1.30 2012/02/03 02:02:37 binki Exp $
+
+*atheme-services-7.0.0_alpha11 (03 Feb 2012)
+
+ 03 Feb 2012; Nathan Phillip Brink <binki@gentoo.org>
+ +atheme-services-7.0.0_alpha11.ebuild,
+ +files/atheme-services-7.0.0_alpha11-unrealircd.patch:
+ Bump to unstable atheme-services-7.0.0_alpha11.
03 Feb 2012; Nathan Phillip Brink <binki@gentoo.org>
atheme-services-6.0.9.ebuild, atheme-services-6.0.9-r1.ebuild,
diff --git a/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild b/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild
new file mode 100644
index 000000000000..54447e0f85a5
--- /dev/null
+++ b/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild,v 1.1 2012/02/03 02:02:37 binki Exp $
+
+EAPI=4
+
+inherit autotools eutils flag-o-matic perl-module
+
+MY_P=${P/_/-}
+
+DESCRIPTION="A portable and secure set of open-source and modular IRC services"
+HOMEPAGE="http://atheme.net/"
+SRC_URI="http://atheme.net/downloads/${MY_P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86 ~x86-fbsd ~amd64-linux"
+IUSE="cracklib largenet ldap nls +pcre perl profile ssl"
+
+RDEPEND="dev-libs/libmowgli:2
+ cracklib? ( sys-libs/cracklib )
+ ldap? ( net-nds/openldap )
+ nls? ( sys-devel/gettext )
+ perl? ( dev-lang/perl )
+ pcre? ( dev-libs/libpcre )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ # the dependency calculation puts all of the .c files together and
+ # overwhelms cc1 with this flag :-(
+ filter-flags -combine
+
+ if use profile; then
+ # bug #371119
+ ewarn "USE=\"profile\" is incompatible with the hardened profile's -pie flag."
+ ewarn "Disabling PIE. Please ignore any warning messages about -nopie being invalid."
+ append-flags -nopie
+ fi
+
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/atheme ${PN}
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cracklib-automagic.patch
+ epatch "${FILESDIR}"/${P}-unrealircd.patch
+ eautoconf
+
+ # fix docdir
+ sed -i -e 's/\(^DOCDIR.*=.\)@DOCDIR@/\1@docdir@/' extra.mk.in || die
+
+ # basic logging config directive fix
+ sed -i -e '/^logfile/s;var/\(.*\.log\);'"${EPREFIX}"'/var/log/atheme/\1;g' dist/* || die
+
+ # QA against bundled libs
+ rm -rf libmowgli-2 || die
+
+ # Get useful information into build.log
+ sed -i -e '/^\.SILENT:$/d' buildsys.mk.in || die
+}
+
+src_configure() {
+ econf \
+ atheme_cv_c_gcc_w_error_implicit_function_declaration=no \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-fhs-paths \
+ --disable-warnings \
+ --enable-contrib \
+ $(use_enable largenet large-net) \
+ $(use_with cracklib) \
+ $(use_with ldap) \
+ $(use_with nls) \
+ $(use_enable profile) \
+ $(use_with perl) \
+ $(use_with pcre) \
+ $(use_enable ssl)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ insinto /etc/${PN}
+ for conf in dist/*.example; do
+ # The .cron file isn't meant to live in /etc/${PN}, so only
+ # install a .example version.
+ [[ ${conf} == *cron* ]] && continue
+
+ newins ${conf} $(basename ${conf} .example)
+ done
+
+ fowners -R 0:${PN} /etc/${PN}
+ keepdir /var/{lib,log}/atheme
+ fowners ${PN}:${PN} /var/{lib,log,run}/atheme
+ fperms -R go-w,o-rx /etc/${PN}
+ fperms 750 /etc/${PN} /var/{lib,log,run}/atheme
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ # contributed scripts and such:
+ insinto /usr/share/doc/${PF}/contrib
+ doins contrib/*.{c,pl,php,py,rb}
+
+ if use perl; then
+ perlinfo
+ insinto "${VENDOR_LIB#${EPREFIX}}"
+ doins -r contrib/Atheme{,.pm}
+ fi
+}
diff --git a/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch b/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch
new file mode 100644
index 000000000000..7b5d69ed6121
--- /dev/null
+++ b/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch
@@ -0,0 +1,109 @@
+From 5f64c859cba285f4207a08cc4f02dc450a5b600d Mon Sep 17 00:00:00 2001
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: Mon, 28 Nov 2011 05:28:11 +0000
+Subject: [PATCH] libathemecore: Fix NULL dereference when talking to IRCds without UID support.
+
+Fixes regression caused by c14ab567552c0053cb4c5d184956d0a1a7a5d19f.
+---
+ include/users.h | 2 +-
+ libathemecore/services.c | 6 +++---
+ libathemecore/users.c | 12 ++++++------
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/include/users.h b/include/users.h
+index 16deee9..643a23a 100644
+--- a/include/users.h
++++ b/include/users.h
+@@ -55,7 +55,7 @@ struct user_
+ #define UF_WASENFORCED 0x00002000 /* this user was FNCed once already */
+ #define UF_DEAF 0x00004000 /* user does not receive channel msgs */
+
+-#define CLIENT_NAME(user) ((user)->uid[0] ? (user)->uid : (user)->nick)
++#define CLIENT_NAME(user) ((user)->uid != NULL ? (user)->uid : (user)->nick)
+
+ typedef struct {
+ user_t *u; /* User in question. Write NULL here if you delete the user. */
+diff --git a/libathemecore/services.c b/libathemecore/services.c
+index abcd7fc..3725234 100644
+--- a/libathemecore/services.c
++++ b/libathemecore/services.c
+@@ -245,9 +245,9 @@ void services_init(void)
+
+ MOWGLI_PATRICIA_FOREACH(svs, &state, services_name)
+ {
+- if (ircd->uses_uid && svs->me->uid[0] == '\0')
++ if (ircd->uses_uid && svs->me->uid == NULL)
+ user_changeuid(svs->me, uid_get());
+- else if (!ircd->uses_uid && svs->me->uid[0] != '\0')
++ else if (!ircd->uses_uid && svs->me->uid != NULL)
+ user_changeuid(svs->me, NULL);
+ if (!ircd->uses_uid)
+ kill_id_sts(NULL, svs->nick, "Attempt to use service nick");
+@@ -311,7 +311,7 @@ void reintroduce_user(user_t *u)
+ /* Reintroduce with a new UID. This avoids problems distinguishing
+ * commands targeted at the old and new user.
+ */
+- if (*u->uid)
++ if (u->uid != NULL)
+ {
+ user_changeuid(u, uid_get());
+ }
+diff --git a/libathemecore/users.c b/libathemecore/users.c
+index 432b9ea..18a8855 100644
+--- a/libathemecore/users.c
++++ b/libathemecore/users.c
+@@ -134,7 +134,7 @@ user_t *user_add(const char *nick, const char *user, const char *host,
+ {
+ wallops("Server %s is introducing nick %s which already exists on %s",
+ server->name, nick, u2->server->name);
+- if (uid != NULL && *u2->uid != '\0')
++ if (uid != NULL && u2->uid != NULL)
+ {
+ kill_id_sts(NULL, uid, "Ghost detected via nick collision (new)");
+ kill_id_sts(NULL, u2->uid, "Ghost detected via nick collision (old)");
+@@ -244,7 +244,7 @@ void user_delete(user_t *u, const char *comment)
+
+ mowgli_patricia_delete(userlist, u->nick);
+
+- if (*u->uid)
++ if (u->uid != NULL)
+ mowgli_patricia_delete(uidlist, u->uid);
+
+ mowgli_node_delete(&u->snode, &u->server->userlist);
+@@ -364,13 +364,13 @@ void user_changeuid(user_t *u, const char *uid)
+ {
+ return_if_fail(u != NULL);
+
+- if (*u->uid)
++ if (u->uid != NULL)
+ mowgli_patricia_delete(uidlist, u->uid);
+
+ strshare_unref(u->uid);
+ u->uid = strshare_get(uid);
+
+- if (*u->uid)
++ if (u->uid != NULL)
+ mowgli_patricia_add(uidlist, u->uid, u);
+ }
+
+@@ -420,7 +420,7 @@ bool user_changenick(user_t *u, const char *nick, time_t ts)
+ slog(LG_INFO, "user_changenick(): nick collision on %s", nick);
+ if (u2->server == me.me)
+ {
+- if (*u->uid != '\0')
++ if (u->uid != NULL)
+ {
+ /* If the changing client has a UID, our
+ * client will have a UID too and the
+@@ -466,7 +466,7 @@ bool user_changenick(user_t *u, const char *nick, time_t ts)
+ wallops("Server %s is sending nick change from %s to %s which already exists on %s",
+ u->server->name, u->nick, nick,
+ u2->server->name);
+- if (*u->uid != '\0' && *u2->uid != '\0')
++ if (u->uid != NULL && u2->uid != NULL)
+ {
+ kill_id_sts(NULL, u->uid, "Ghost detected via nick change collision (new)");
+ kill_id_sts(NULL, u2->uid, "Ghost detected via nick change collision (old)");
+--
+1.7.3.4
+