summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2009-11-14 01:34:36 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2009-11-14 01:34:36 +0000
commitad6e33bcce67cf0b5e0860c72de7f6a7a561f6b8 (patch)
tree0994e6a2d93ca9b06e0e517ee277a5486f472d1f /net-irc
parentVersion bump for new 2.8.0 release. Remove old rc. Tests are fatal, 100% pase... (diff)
downloadgentoo-2-ad6e33bcce67cf0b5e0860c72de7f6a7a561f6b8.tar.gz
gentoo-2-ad6e33bcce67cf0b5e0860c72de7f6a7a561f6b8.tar.bz2
gentoo-2-ad6e33bcce67cf0b5e0860c72de7f6a7a561f6b8.zip
QA: Version bump to fix bug #260806. Non maintainer commit.
(Portage version: 2.2_rc49/cvs/Linux x86_64)
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/unrealircd/ChangeLog10
-rw-r--r--net-irc/unrealircd/files/unrealircd-system-cares.patch134
-rw-r--r--net-irc/unrealircd/files/unrealircd-system-tre.patch64
-rw-r--r--net-irc/unrealircd/metadata.xml10
-rw-r--r--net-irc/unrealircd/unrealircd-3.2.8.1.ebuild (renamed from net-irc/unrealircd/unrealircd-3.2.7-r2.ebuild)93
5 files changed, 276 insertions, 35 deletions
diff --git a/net-irc/unrealircd/ChangeLog b/net-irc/unrealircd/ChangeLog
index a59896c34984..02fc97a203d0 100644
--- a/net-irc/unrealircd/ChangeLog
+++ b/net-irc/unrealircd/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-irc/unrealircd
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/ChangeLog,v 1.72 2009/09/18 15:10:56 betelgeuse Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/ChangeLog,v 1.73 2009/11/14 01:34:34 scarabeus Exp $
+
+*unrealircd-3.2.8.1 (14 Nov 2009)
+
+ 14 Nov 2009; Tomáš Chvátal <scarabeus@gentoo.org>
+ -unrealircd-3.2.7-r2.ebuild, +unrealircd-3.2.8.1.ebuild,
+ +files/unrealircd-system-cares.patch, +files/unrealircd-system-tre.patch,
+ metadata.xml:
+ QA: Version bump to fix bug #260806. Non maintainer commit.
18 Sep 2009; Petteri Räty <betelgeuse@gentoo.org>
unrealircd-3.2.7-r2.ebuild:
diff --git a/net-irc/unrealircd/files/unrealircd-system-cares.patch b/net-irc/unrealircd/files/unrealircd-system-cares.patch
new file mode 100644
index 000000000000..2e4d5f047051
--- /dev/null
+++ b/net-irc/unrealircd/files/unrealircd-system-cares.patch
@@ -0,0 +1,134 @@
+Makes unrealircd-3.2.8 able to use a vanilla, system >=net-dns/c-ares-1.5.3
+Expects the unrealircd-system-tre.patch to be applied beforehand
+--- autoconf/configure.in 2009-03-29 18:35:15.000000000 -0400
++++ autoconf/configure.in 2009-03-29 18:45:54.000000000 -0400
+@@ -393,6 +393,7 @@
+ AC_ARG_WITH(operoverride-verify, [AC_HELP_STRING([--with-operoverride-verify], [Require opers to invite themselves to +s/+p channels])],
+ AC_DEFINE(OPEROVERRIDE_VERIFY))
+ AC_ARG_WITH(system-tre, [AC_HELP_STRING([--with-system-tre], [Use the system tre package instead of bundled, discovered using pkg-config])], [], [with_system_tre=no ])
++AC_ARG_WITH(system-cares, [AC_HELP_STRING([--with-system-cares], [Use the system c-ares (at least version 1.5.3) package instead of bundled c-ares, discovered using pkg-config])], [], [with_system_cares=no ])
+ CHECK_SSL
+ CHECK_ZLIB
+ CHECK_LIBCURL
+@@ -462,6 +463,7 @@
+ PKG_CHECK_MODULES([TRE], tre >= 0.7.5)
+ ])
+
++AS_IF([test "x$with_system_cares" = "xno"],[
+ dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
+ cares_version="1.6.0"
+ AC_MSG_RESULT(extracting c-ares resolver library)
+@@ -484,10 +486,9 @@
+ $ac_cv_prog_MAKER || exit 1
+ AC_MSG_RESULT(installing c-ares resolver library)
+ $ac_cv_prog_MAKER install || exit 1
+-CARESINCDIR="$cur_dir/extras/c-ares/include"
+-AC_SUBST(CARESINCDIR)
+-CARESLIBDIR="-L../extras/c-ares/lib"
+-AC_SUBST(CARESLIBDIR)
++CARES_CFLAGS="$cur_dir/extras/c-ares/include"
++AC_SUBST(CARES_CFLAGS)
++CARES_LIBS="-L../extras/c-ares/lib"
+
+ dnl Set default library parameters for when pkg-config is not available
+ CARESLIBSALT="-lcares"
+@@ -504,15 +505,20 @@
+ dnl from above. Also, if pkg-config returns an empty result (ex: on fbsd
+ dnl or older versions it might be missing --static) then also use defaults.
+ if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
+- CARESLIBS="$CARESLIBSALT"
++ CARES_LIBS="$CARES_LIBS $CARESLIBSALT"
+ else
+- CARESLIBS="`$ac_cv_path_PKGCONFIG --static --libs libcares.pc`"
+- if test "x$CARESLIBS" = "x" ; then
+- CARESLIBS="$CARESLIBSALT"
++ CARES_LIBSPRE="$CARES_LIBS"
++ CARES_LIBS="$CARES_LIBS `$ac_cv_path_PKGCONFIG --static --libs libcares.pc`"
++ if test "$CARES_LIBS" = "$CARES_LIBSPRE " ; then
++ CARES_LIBS="$CARES_LIBS $CARESLIBSALT"
+ fi
+ fi
+-AC_SUBST(CARESLIBS)
++AC_SUBST(CARES_LIBS)
+ cd $cur_dir
++],[
++dnl use pkg-config for system c-ares:
++PKG_CHECK_MODULES([CARES], libcares >= 1.5.3)
++])
+
+
+ AC_OUTPUT(Makefile src/modules/Makefile unreal ircdcron/ircdchk)
+
+
+--- Makefile.in 2009-03-29 18:35:15.000000000 -0400
++++ Makefile.in 2009-03-29 18:48:03.000000000 -0400
+@@ -34,11 +34,11 @@
+ #
+
+ #XCFLAGS=-O -g -export-dynamic
+-IRCDLIBS=@IRCDLIBS@ @TRE_LIBS@ @CARESLIBS@
++IRCDLIBS=@IRCDLIBS@ @TRE_LIBS@ @CARES_LIBS@
+ CRYPTOLIB=@CRYPTOLIB@
+ OPENSSLINCLUDES=
+
+-XCFLAGS=@TRE_CFLAGS@ -I@CARESINCDIR@ @CARESLIBDIR@ @CFLAGS@
++XCFLAGS=@TRE_CFLAGS@ -I@CARES_CFLAGS@ @CFLAGS@
+ #
+ # use the following on MIPS:
+ #CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
+
+--- src/res.c (revision 333)
++++ src/res.c (working copy)
+@@ -49,7 +49,7 @@
+ #include <res.h>
+
+ /* Prevent crashes due to invalid prototype/ABI */
+-#if ARES_VERSION < 0x010600
++#if ARES_VERSION < 0x010503
+ #error "You have an old c-ares version on your system and/or Unreals c-ares failed to compile!"
+ #endif
+
+@@ -736,21 +736,35 @@
+ } else
+ if (*param == 'i') /* INFORMATION */
+ {
+- struct ares_config_info inf;
++ struct ares_options inf;
+ int i;
++ int optmask;
+
+- ares_get_config(&inf, resolver_channel);
++ ares_save_options(resolver_channel, &inf, &optmask);
+
+ sendtxtnumeric(sptr, "****** DNS Configuration Information ******");
+ sendtxtnumeric(sptr, " c-ares version: %s",ares_version(NULL));
+- sendtxtnumeric(sptr, " timeout: %d", inf.timeout);
+- sendtxtnumeric(sptr, " tries: %d", inf.tries);
+- sendtxtnumeric(sptr, " # of servers: %d", inf.numservers);
+- for (i = 0; i < inf.numservers; i++)
+- sendtxtnumeric(sptr, " server #%d: %s", i+1, inf.servers[i] ? inf.servers[i] : "[???]");
+-
++
++ if(optmask & ARES_OPT_TIMEOUTMS)
++ sendtxtnumeric(sptr, " timeout: %d", inf.timeout);
++ if(optmask & ARES_OPT_TRIES)
++ sendtxtnumeric(sptr, " tries: %d", inf.tries);
++ if(optmask & ARES_OPT_SERVERS)
++ {
++ sendtxtnumeric(sptr, " # of servers: %d", inf.nservers);
++ for (i = 0; i < inf.nservers; i++)
++ sendtxtnumeric(sptr, " server #%d: %s", i+1, inet_ntoa(inf.servers[i]));
++ }
++ if(optmask & ARES_OPT_DOMAINS)
++ {
++ sendtxtnumeric(sptr, " # of search domains: %d", inf.ndomains);
++ for (i = 0; i < inf.ndomains; i++)
++ sendtxtnumeric(sptr, " domain #%d: %s", i+1, inf.domains[i]);
++ }
+ /* TODO: free or get memleak ! */
+ sendtxtnumeric(sptr, "****** End of DNS Configuration Info ******");
++
++ ares_destroy_options(&inf);
+ } else /* STATISTICS */
+ {
+ sendtxtnumeric(sptr, "DNS CACHE Stats:");
diff --git a/net-irc/unrealircd/files/unrealircd-system-tre.patch b/net-irc/unrealircd/files/unrealircd-system-tre.patch
new file mode 100644
index 000000000000..272e92c1936e
--- /dev/null
+++ b/net-irc/unrealircd/files/unrealircd-system-tre.patch
@@ -0,0 +1,64 @@
+diff -ru ./Makefile.in /var/tmp/portage/net-irc/unrealircd-3.2.8/work/Unreal3.2/Makefile.in
+--- Makefile.in 2006-06-05 19:16:34.000000000 -0400
++++ Makefile.in 2009-03-03 18:59:32.000000000 -0500
+@@ -34,11 +34,11 @@
+ #
+
+ #XCFLAGS=-O -g -export-dynamic
+-IRCDLIBS=@IRCDLIBS@ @TRELIBS@ @CARESLIBS@
++IRCDLIBS=@IRCDLIBS@ @TRE_LIBS@ @CARESLIBS@
+ CRYPTOLIB=@CRYPTOLIB@
+ OPENSSLINCLUDES=
+
+-XCFLAGS=-I@TREINCDIR@ -I@CARESINCDIR@ @CARESLIBDIR@ @CFLAGS@
++XCFLAGS=@TRE_CFLAGS@ -I@CARESINCDIR@ @CARESLIBDIR@ @CFLAGS@
+ #
+ # use the following on MIPS:
+ #CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
+Only in /var/tmp/portage/net-irc/unrealircd-3.2.8/work/Unreal3.2: Makefile.in.~1.1.2.23.2.6.~
+diff -ru ./configure.in /var/tmp/portage/net-irc/unrealircd-3.2.8/work/Unreal3.2/configure.in
+--- autoconf/configure.in 2009-02-01 11:43:33.000000000 -0500
++++ autoconf/configure.in 2009-03-03 19:01:23.000000000 -0500
+@@ -392,6 +392,7 @@
+ AC_DEFINE(DISABLE_USERMOD))
+ AC_ARG_WITH(operoverride-verify, [AC_HELP_STRING([--with-operoverride-verify], [Require opers to invite themselves to +s/+p channels])],
+ AC_DEFINE(OPEROVERRIDE_VERIFY))
++AC_ARG_WITH(system-tre, [AC_HELP_STRING([--with-system-tre], [Use the system tre package instead of bundled, discovered using pkg-config])], [], [with_system_tre=no ])
+ CHECK_SSL
+ CHECK_ZLIB
+ CHECK_LIBCURL
+@@ -424,6 +425,7 @@
+ ;;
+ esac
+
++AS_IF([test "x$with_system_tre" = "xno"],[
+ dnl REMEMBER TO CHANGE WITH A NEW TRE RELEASE!
+ tre_version="0.7.5"
+ AC_MSG_RESULT(extracting TRE regex library)
+@@ -446,16 +448,20 @@
+ $ac_cv_prog_MAKER || exit 1
+ AC_MSG_RESULT(installing TRE regex library)
+ $ac_cv_prog_MAKER install || exit 1
+-TREINCDIR="$cur_dir/extras/regexp/include"
+-AC_SUBST(TREINCDIR)
++TRE_CFLAGS="-I$cur_dir/extras/regexp/include"
++AC_SUBST(TRE_CFLAGS)
+ if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
+- TRELIBS="-L../extras/regexp/lib -ltre"
++ TRE_LIBS="-L../extras/regexp/lib -ltre"
+ else
+- TRELIBS=`$ac_cv_path_PKGCONFIG --libs tre.pc`
++ TRE_LIBS=`$ac_cv_path_PKGCONFIG --libs tre.pc`
+ fi
+-AC_SUBST(TRELIBS)
++AC_SUBST(TRE_LIBS)
+ cd $cur_dir
+-
++],[
++dnl use pkgconfig for tre:
++PKG_PROG_PKG_CONFIG(0.17)
++PKG_CHECK_MODULES([TRE], tre >= 0.7.5)
++])
+
+ dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
+ cares_version="1.6.0"
diff --git a/net-irc/unrealircd/metadata.xml b/net-irc/unrealircd/metadata.xml
index 892a7191eb19..10f64c38f3eb 100644
--- a/net-irc/unrealircd/metadata.xml
+++ b/net-irc/unrealircd/metadata.xml
@@ -4,8 +4,14 @@
<herd>net-irc</herd>
<use>
<flag name='hub'>Enable hub support</flag>
+ <flag name='spoof'>Enable the spoof protection</flag>
<flag name='prefixaq'>Enable chanadmin and chanowner prefixes</flag>
- <flag name='showlistmodes'>Support displaying channel modes during
- compilation</flag>
+ <flag name='showlistmodes'>Support displaying channel modes during compilation</flag>
+ <flag name='operoverride-verify'>Enable requiring opers to invite themselves to +s/+p channels</flag>
+ <flag name='operoverride'>Enable OperOverride extension</flag>
+ <flag name='usermod'>Enable /set* and /chg* commands</flag>
+ <flag name='showlistmodes'>Support displaying channel modes in /list</flag>
+ <flag name='shunnotices'>Enable notifying a user when un-shunned</flag>
+ <flag name='topicisnuhost'>Enable displaying nick!user@host as topic setter</flag>
</use>
</pkgmetadata>
diff --git a/net-irc/unrealircd/unrealircd-3.2.7-r2.ebuild b/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild
index d1f1c7c8c285..0486de6675ef 100644
--- a/net-irc/unrealircd/unrealircd-3.2.7-r2.ebuild
+++ b/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild
@@ -1,43 +1,61 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/unrealircd-3.2.7-r2.ebuild,v 1.6 2009/09/18 15:10:56 betelgeuse Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/unrealircd-3.2.8.1.ebuild,v 1.1 2009/11/14 01:34:34 scarabeus Exp $
EAPI="2"
-inherit eutils ssl-cert versionator multilib
+inherit eutils autotools ssl-cert versionator multilib
MY_P=Unreal${PV}
DESCRIPTION="aimed to be an advanced (not easy) IRCd"
HOMEPAGE="http://www.unrealircd.com/"
-SRC_URI="http://unreal.brueggisite.de/${MY_P}.tar.gz
- http://www.blurryfox.com/unreal/${MY_P}.tar.gz
- mirror://gentoo/${MY_P}.tar.gz"
+SRC_URI="http://unrealircd.icedslash.com/${MY_P}.tar.gz
+ http://unreal.brueggisite.de/${MY_P}.tar.gz
+ http://www.blurryfox.com/unreal/${MY_P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
-KEYWORDS="~amd64 ~mips ppc sparc x86 ~x86-fbsd"
-IUSE="hub ipv6 ssl zlib curl prefixaq showlistmodes"
+KEYWORDS="~amd64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="curl +hub ipv6 +operoverride +spoof operoverride-verify +prefixaq
+showlistmodes shunnotices ssl topicisnuhost +usermod zlib"
RDEPEND="ssl? ( dev-libs/openssl )
zlib? ( sys-libs/zlib )
- curl? ( net-misc/curl[ares,-ipv6] )"
+ curl? ( net-misc/curl )
+ dev-libs/tre
+ >=net-dns/c-ares-1.5.3"
DEPEND="${RDEPEND}
>=sys-apps/sed-4"
-S="${WORKDIR}/Unreal${PV}"
+S="${WORKDIR}/Unreal$(get_version_component_range 1-2)"
pkg_setup() {
enewuser unrealircd
}
src_prepare() {
+ #QA check against bundled pkgs
+ rm extras/*.gz
+
sed -i \
-e "s:ircd\.pid:/var/run/unrealircd/ircd.pid:" \
-e "s:ircd\.log:/var/log/unrealircd/ircd.log:" \
-e "s:debug\.log:/var/log/unrealircd/debug.log:" \
-e "s:ircd\.tune:/var/lib/unrealircd/ircd.tune:" \
- include/config.h
+ include/config.h \
+ || die "sed failed"
+
+ # http://bugs.unrealircd.org/view.php?id=3842
+ epatch "${FILESDIR}"/unrealircd-system-tre.patch || die "epatch failed"
+
+ epatch "${FILESDIR}"/unrealircd-system-cares.patch || die "epatch failed"
+
+ mv autoconf/configure.in ./ || die
+ mv autoconf/aclocal.m4 ./acinclude.m4 || die
+ #can't call eautoreconf because aclocal's source files aren't even in unearlircd's svn!
+ eaclocal
+ eautoconf
}
src_configure() {
@@ -48,7 +66,13 @@ src_configure() {
use hub && myconf="${myconf} --enable-hub"
use ssl && myconf="${myconf} --enable-ssl"
use prefixaq && myconf="${myconf} --enable-prefixaq"
+ use spoof && myconf="${myconf} --enable-nospoof"
use showlistmodes && myconf="${myconf} --with-showlistmodes"
+ use topicisnuhost && myconf="${myconf} --with-topicisnuhost"
+ use shunnotices && myconf="${myconf} --with-shunnotices"
+ use operoverride || myconf="${myconf} --with-no-operoverride"
+ use operoverride-verify && myconf="${myconf} --with-operoverride-verify"
+ use usermod || myconf="${myconf} --with-disableusermod"
econf \
--with-listen=5 \
@@ -60,14 +84,17 @@ src_configure() {
--with-hostname=$(hostname -f) \
--with-permissions=0600 \
--with-fd-setsize=1024 \
+ --with-system-cares \
+ --with-system-tre \
--enable-dynamic-linking \
- ${myconf} \
- || die "econf failed"
+ ${myconf}
+ # Fix upstream poor autofoo
sed -i \
- -e "s:${D}::" \
+ -e "s:${D}::g" \
include/setup.h \
- ircdcron/ircdchk
+ ircdcron/ircdchk \
+ || die
}
src_compile() {
@@ -77,57 +104,59 @@ src_compile() {
src_install() {
keepdir /var/{lib,log,run}/unrealircd
- newbin src/ircd unrealircd
+ newbin src/ircd unrealircd || die
exeinto /usr/$(get_libdir)/unrealircd/modules
- doexe src/modules/*.so
+ doexe src/modules/*.so || die
dodir /etc/unrealircd
- dosym /var/lib/unrealircd /etc/unrealircd/tmp
+ dosym /var/lib/unrealircd /etc/unrealircd/tmp || die
insinto /etc/unrealircd
- doins {badwords.*,help,spamfilter,dccallow}.conf
- newins doc/example.conf unrealircd.conf
+ doins {badwords.*,help,spamfilter,dccallow}.conf || die
+ newins doc/example.conf unrealircd.conf || die
insinto /etc/unrealircd/aliases
- doins aliases/*.conf
+ doins aliases/*.conf || die
insinto /etc/unrealircd/networks
- doins networks/*.network
+ doins networks/*.network || die
sed -i \
-e s:src/modules:/usr/$(get_libdir)/unrealircd/modules: \
-e s:ircd\\.log:/var/log/unrealircd/ircd.log: \
- "${D}"/etc/unrealircd/unrealircd.conf
+ "${D}"/etc/unrealircd/unrealircd.conf \
+ || die
dodoc \
Changes Donation Unreal.nfo networks/makenet \
ircdcron/{ircd.cron,ircdchk} \
|| die "dodoc failed"
- dohtml doc/*.html
+ dohtml doc/*.html || die
- newinitd "${FILESDIR}"/unrealircd.rc unrealircd
+ newinitd "${FILESDIR}"/unrealircd.rc unrealircd || die
newconfd "${FILESDIR}"/unrealircd.confd unrealircd
- fperms 700 /etc/unrealircd
- chown -R unrealircd "${D}"/{etc,var/{lib,log,run}}/unrealircd
+ fperms 700 /etc/unrealircd || die
+ chown -R unrealircd "${D}"/{etc,var/{lib,log,run}}/unrealircd ||die
}
pkg_postinst() {
# Move docert call from scr_install() to install_cert in pkg_postinst for
# bug #201682
- use ssl && \
+ if use ssl ; then
if [[ ! -f "${ROOT}"/etc/unrealircd/server.cert.key ]]; then
- install_cert /etc/unrealircd/server.cert
- chown unrealircd "${ROOT}"/etc/unrealircd/server.cert.*
- ln -snf server.cert.key "${ROOT}"/etc/unrealircd/server.key.pem
+ install_cert /etc/unrealircd/server.cert || die
+ chown unrealircd "${ROOT}"/etc/unrealircd/server.cert.* || die
+ ln -snf server.cert.key "${ROOT}"/etc/unrealircd/server.key.pem || die
fi
+ fi
elog
elog "UnrealIRCd will not run until you've set up /etc/unrealircd/unrealircd.conf"
elog
elog "You can find example cron scripts here:"
- elog " /usr/share/doc/${PF}/"
- elog " /usr/share/doc/${PF}/"
+ elog " /usr/share/doc/${PF}/ircd.cron.gz"
+ elog " /usr/share/doc/${PF}/ircdchk.gz"
elog
elog "You can also use /etc/init.d/unrealircd to start at boot"
elog