diff options
author | José María Alonso <nimiux@gentoo.org> | 2012-04-04 11:52:38 +0000 |
---|---|---|
committer | José María Alonso <nimiux@gentoo.org> | 2012-04-04 11:52:38 +0000 |
commit | 82fb2e7023f2939b82cc7e06a4e18d7ed50c5934 (patch) | |
tree | 3cd16e7d66aba0765ed7298331887fe3c9f2ff98 /net-irc | |
parent | Version bump for Rails 3.1.4, security bug 406547. (diff) | |
download | gentoo-2-82fb2e7023f2939b82cc7e06a4e18d7ed50c5934.tar.gz gentoo-2-82fb2e7023f2939b82cc7e06a4e18d7ed50c5934.tar.bz2 gentoo-2-82fb2e7023f2939b82cc7e06a4e18d7ed50c5934.zip |
Revision bump to include inspircd moving to github.com, fixes to problems
detectect in previous revision (bug #409159, comments 10 and 13) and
fix for bug #410285.
(Portage version: 2.1.10.49/cvs/Linux x86_64)
Diffstat (limited to 'net-irc')
-rw-r--r-- | net-irc/inspircd/ChangeLog | 10 | ||||
-rw-r--r-- | net-irc/inspircd/files/inspircd-2.0.5-r2-fix-paths-build.patch | 154 | ||||
-rw-r--r-- | net-irc/inspircd/inspircd-2.0.5-r2.ebuild | 110 |
3 files changed, 273 insertions, 1 deletions
diff --git a/net-irc/inspircd/ChangeLog b/net-irc/inspircd/ChangeLog index b5eabd4c93e5..cfddfa52ff37 100644 --- a/net-irc/inspircd/ChangeLog +++ b/net-irc/inspircd/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-irc/inspircd # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/inspircd/ChangeLog,v 1.45 2012/03/27 15:00:44 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/inspircd/ChangeLog,v 1.46 2012/04/04 11:52:38 nimiux Exp $ + +*inspircd-2.0.5-r2 (04 Apr 2012) + + 04 Apr 2012; Chema Alonso <nimiux@gentoo.org> +inspircd-2.0.5-r2.ebuild, + +files/inspircd-2.0.5-r2-fix-paths-build.patch: + Inspircd moving to github.com. Fix openssl flag wrt bug #409159 (comment 10). + Fix ligcrypt dependency wrt bug #409159 (comment 13). Fix xline db path wrt + bug #410285. 27 Mar 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> inspircd-2.0.5-r1.ebuild: diff --git a/net-irc/inspircd/files/inspircd-2.0.5-r2-fix-paths-build.patch b/net-irc/inspircd/files/inspircd-2.0.5-r2-fix-paths-build.patch new file mode 100644 index 000000000000..2da0caa88f3e --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.5-r2-fix-paths-build.patch @@ -0,0 +1,154 @@ +diff -Nur a/docs/inspircd.conf.example b/docs/inspircd.conf.example +--- a/docs/inspircd.conf.example 2011-06-24 03:21:01.000000000 +0200 ++++ b/docs/inspircd.conf.example 2012-04-03 19:09:59.649826121 +0200 +@@ -401,11 +401,11 @@ + + # This file has all the information about oper classes, types and o:lines. + # You *MUST* edit it. +-<include file="conf/opers.conf.example"> ++<include file="/etc/inspircd/opers.conf.example"> + + # This file has all the information about server links and ulined servers. + # You *MUST* edit it if you intend to link servers. +-<include file="conf/links.conf.example"> ++<include file="/etc/inspircd/links.conf.example"> + + #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-# + # # +@@ -415,7 +415,8 @@ + # motd - displayed on connect and when a user executes /MOTD + # rules - displayed when the user executes /RULES + # Modules can also define their own files +-<files motd="conf/inspircd.motd.example" rules="conf/inspircd.rules.example"> ++<files motd="/etc/inspircd/inspircd.motd.example" ++ rules="/etc/inspircd/inspircd.rules.example"> + + # Example of an executable file include. Note this will be read on rehash, + # not when the command is run. +@@ -461,7 +462,7 @@ + # the default of 'inspircd.pid' is used. # + # # + +-#<pid file="/path/to/inspircd.pid"> ++<pid file="/var/run/inspircd/inspircd.pid"> + + #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # # +@@ -629,7 +630,8 @@ + + # nouserdns: If enabled, no DNS lookups will be performed on + # connecting users. This can save a lot of resources on very busy servers. +- nouserdns="no"> ++ # Set nouserdns to yes as a workaround for CVE-2012-1836. ++ nouserdns="yes"> + + #-#-#-#-#-#-#-#-#-#-#-# SECURITY CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-# + # # +@@ -907,7 +909,7 @@ + # provide almost all the features of InspIRCd. :) # + # # + # The default does nothing -- we include it for simplicity for you. # +-<include file="conf/modules.conf.example"> ++<include file="/etc/inspircd/modules.conf.example"> + + # Here are some pre-built modules.conf files that closely match the + # default configurations of some popular IRCd's. You still may want to +@@ -919,10 +921,10 @@ + # recommended that you make your own modules file based on modules.conf.example. + + # Settings similar to UnrealIRCd defaults. +-#<include file="conf/modules/modules.conf.unreal"> ++#<include file="/etc/inspircd/modules/modules.conf.unreal"> + + # Settings similar to Charybdis IRCd defaults. +-#<include file="conf/modules/modules.conf.charybdis"> ++#<include file="/etc/inspircd/modules/modules.conf.charybdis"> + + + ######################################################################### +diff -Nur a/make/template/main.mk b/make/template/main.mk +--- a/make/template/main.mk 2011-06-24 03:21:01.000000000 +0200 ++++ b/make/template/main.mk 2012-04-03 19:09:59.649826121 +0200 +@@ -54,22 +54,22 @@ + CXXFLAGS += -D_ALL_SOURCE -I/usr/local/include + @ENDIF + +-@IFNDEF D +- D=0 ++@IFNDEF DEBUGLEVEL ++ DEBUGLEVEL=0 + @ENDIF + + DBGOK=0 +-@IFEQ $(D) 0 ++@IFEQ $(DEBUGLEVEL) 0 + CXXFLAGS += -O2 -g1 + HEADER = std-header + DBGOK=1 + @ENDIF +-@IFEQ $(D) 1 ++@IFEQ $(DEBUGLEVEL) 1 + CXXFLAGS += -O0 -g3 -Werror + HEADER = debug-header + DBGOK=1 + @ENDIF +-@IFEQ $(D) 2 ++@IFEQ $(DEBUGLEVEL) 2 + CXXFLAGS += -O2 -g3 + HEADER = debug-header + DBGOK=1 +@@ -111,10 +111,10 @@ + @GNU_ONLY TARGET = modules/$(M:.so=).so + @ENDIF + +-@IFDEF T ++@IFDEF TGT + HEADER = + FOOTER = target +- TARGET = $(T) ++ TARGET = $(TGT) + @ENDIF + + @IFEQ $(DBGOK) 0 +diff -Nur a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp +--- a/src/modules/extra/m_ssl_gnutls.cpp 2011-06-24 03:21:01.000000000 +0200 ++++ b/src/modules/extra/m_ssl_gnutls.cpp 2012-04-03 19:09:59.649826121 +0200 +@@ -20,7 +20,7 @@ + + /* $ModDesc: Provides SSL support for clients */ + /* $CompileFlags: pkgconfincludes("gnutls","/gnutls/gnutls.h","") */ +-/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") */ ++/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") -lgcrypt */ + + enum issl_status { ISSL_NONE, ISSL_HANDSHAKING_READ, ISSL_HANDSHAKING_WRITE, ISSL_HANDSHAKEN, ISSL_CLOSING, ISSL_CLOSED }; + +diff -Nur a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp +--- a/src/modules/m_xline_db.cpp 2011-06-24 03:21:01.000000000 +0200 ++++ b/src/modules/m_xline_db.cpp 2012-04-03 19:11:38.389825566 +0200 +@@ -92,7 +92,7 @@ + * -- w00t + */ + ServerInstance->Logs->Log("m_xline_db",DEBUG, "xlinedb: Opening temporary database"); +- f = fopen("data/xline.db.new", "w"); ++ f = fopen("/var/lib/inspircd/data/xline.db.new", "w"); + if (!f) + { + ServerInstance->Logs->Log("m_xline_db",DEBUG, "xlinedb: Cannot create database! %s (%d)", strerror(errno), errno); +@@ -133,7 +133,7 @@ + } + + // Use rename to move temporary to new db - this is guarenteed not to fuck up, even in case of a crash. +- if (rename("data/xline.db.new", "data/xline.db") < 0) ++ if (rename("/var/lib/inspircd/data/xline.db.new", "/var/lib/inspircd/data/xline.db") < 0) + { + ServerInstance->Logs->Log("m_xline_db",DEBUG, "xlinedb: Cannot move new to old database! %s (%d)", strerror(errno), errno); + ServerInstance->SNO->WriteToSnoMask('a', "database: cannot replace old with new db: %s (%d)", strerror(errno), errno); +@@ -149,7 +149,7 @@ + char linebuf[MAXBUF]; + unsigned int lineno = 0; + +- f = fopen("data/xline.db", "r"); ++ f = fopen("/var/lib/inspircd/data/xline.db", "r"); + if (!f) + { + if (errno == ENOENT) diff --git a/net-irc/inspircd/inspircd-2.0.5-r2.ebuild b/net-irc/inspircd/inspircd-2.0.5-r2.ebuild new file mode 100644 index 000000000000..08d606595823 --- /dev/null +++ b/net-irc/inspircd/inspircd-2.0.5-r2.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/inspircd/inspircd-2.0.5-r2.ebuild,v 1.1 2012/04/04 11:52:38 nimiux Exp $ + +EAPI=4 + +inherit eutils flag-o-matic multilib + +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd" +HOMEPAGE="http://www.inspircd.org/" +SRC_URI="http://github.com/inspircd/inspircd/downloads/InspIRCd-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gnutls ipv6 ldap mysql postgres sqlite ssl" + +RDEPEND=" + dev-lang/perl + ssl? ( dev-libs/openssl ) + gnutls? ( net-libs/gnutls dev-libs/libgcrypt ) + ldap? ( net-nds/openldap ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql-server ) + sqlite? ( >=dev-db/sqlite-3.0 )" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${PN}" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + # Patch the inspircd launcher with the inspircd user + sed -i -e "s/@UID@/${PN}/" "${S}/make/template/${PN}" || die + + epatch "${FILESDIR}/${PF}-fix-paths-build.patch" +} + +src_configure() { + local extras="" + local dipv6="--disable-ipv6" + + use ssl && extras="${extras}m_ssl_openssl.cpp," + use gnutls && extras="${extras}m_ssl_gnutls.cpp," + use ldap && extras="${extras}m_ldapauth.cpp," + use mysql && extras="${extras}m_mysql.cpp," + use postgres && extras="${extras}m_pgsql.cpp," + use sqlite && extras="${extras}m_sqlite3.cpp," + + use ipv6 && dipv6="" + + # allow inspircd to be built by root + touch .force-root-ok || die + + if [ -n "${extras}" ]; then + ./configure --disable-interactive \ + --enable-extras=${extras} || die + fi + + ./configure \ + --disable-interactive \ + --uid=${INSPIRCDUSER} \ + $(use_enable ssl openssl) \ + $(use_enable gnutls) \ + --prefix="/usr/$(get_libdir)/${PN}" \ + --config-dir="/etc/${PN}" \ + --binary-dir="/usr/bin" \ + --module-dir="/usr/$(get_libdir)/${PN}/modules" \ + ${dipv6} || die +} + +src_compile() { + append-cxxflags -Iinclude -fPIC + emake LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + emake INSTUID=${PN} \ + BINPATH="${D}/usr/bin" \ + BASE="${D}/usr/$(get_libdir)/${PN}/inspircd.launcher" \ + MODPATH="${D}/usr/$(get_libdir)/${PN}/modules/" \ + CONPATH="${D}/etc/${PN}" install + + insinto /etc/"${PN}"/modules + doins docs/modules/* + + insinto /etc/"${PN}"/aliases + doins docs/aliases/* + + insinto /usr/include/"${PN}"/ + doins include/* + + diropts -o"${PN}" -g"${PN}" + dodir /var/run/"${PN}" /var/lib/"${PN}"/data + + newinitd "${FILESDIR}/${PN}-2.0.5-r1-init" "${PN}" + keepdir /var/log/"${PN}"/ +} + +pkg_postinst() { + elog "Before starting ${PN} the first time you should create" + elog "the /etc/${PN}/${PN}.conf file." + elog "You can find example configuration files under /etc/${PN}" + elog "Read the ${PN}.conf.example file carefully before starting " + elog "the service." + elog +} |