diff options
author | Nathan Phillip Brink <binki@gentoo.org> | 2011-07-27 12:41:19 +0000 |
---|---|---|
committer | Nathan Phillip Brink <binki@gentoo.org> | 2011-07-27 12:41:19 +0000 |
commit | 46768a456d99d9d3709805743c678eb30e0841eb (patch) | |
tree | c22005c8b57f89dacb11c6aa33d50cf0a0c1651e /net-irc/unrealircd | |
parent | bump to kpathsea from texlive 2011 (diff) | |
download | gentoo-2-46768a456d99d9d3709805743c678eb30e0841eb.tar.gz gentoo-2-46768a456d99d9d3709805743c678eb30e0841eb.tar.bz2 gentoo-2-46768a456d99d9d3709805743c678eb30e0841eb.zip |
Bump to unrealircd-3.2.9_rc2 with a refactored ebuild using EAPI=4, taking advantage of a somewhat-fixed ./configure, and new initscripts.
(Portage version: 2.2.0_alpha46-r1/cvs/Linux x86_64)
Diffstat (limited to 'net-irc/unrealircd')
-rw-r--r-- | net-irc/unrealircd/ChangeLog | 10 | ||||
-rw-r--r-- | net-irc/unrealircd/files/unrealircd.confd-r1 | 32 | ||||
-rw-r--r-- | net-irc/unrealircd/files/unrealircd.initd | 35 | ||||
-rw-r--r-- | net-irc/unrealircd/metadata.xml | 1 | ||||
-rw-r--r-- | net-irc/unrealircd/unrealircd-3.2.9_rc2.ebuild | 163 |
5 files changed, 240 insertions, 1 deletions
diff --git a/net-irc/unrealircd/ChangeLog b/net-irc/unrealircd/ChangeLog index 54b90cda81fa..9c1e99f0d55a 100644 --- a/net-irc/unrealircd/ChangeLog +++ b/net-irc/unrealircd/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-irc/unrealircd # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/ChangeLog,v 1.86 2011/06/26 16:59:45 binki Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/ChangeLog,v 1.87 2011/07/27 12:41:19 binki Exp $ + +*unrealircd-3.2.9_rc2 (27 Jul 2011) + + 27 Jul 2011; Nathan Phillip Brink <binki@gentoo.org> + +unrealircd-3.2.9_rc2.ebuild, +files/unrealircd.confd-r1, + +files/unrealircd.initd, metadata.xml: + Bump to unrealircd-3.2.9_rc2 with a refactored ebuild using EAPI=4, taking + advantage of a somewhat-fixed ./configure, and new initscripts. 26 Jun 2011; Nathan Phillip Brink <binki@gentoo.org> metadata.xml: Set myself (binki) as unrealircd's maintainer. diff --git a/net-irc/unrealircd/files/unrealircd.confd-r1 b/net-irc/unrealircd/files/unrealircd.confd-r1 new file mode 100644 index 000000000000..24e940c4e622 --- /dev/null +++ b/net-irc/unrealircd/files/unrealircd.confd-r1 @@ -0,0 +1,32 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/files/unrealircd.confd-r1,v 1.1 2011/07/27 12:41:19 binki Exp $ + +# user to run unrealircd as +UNREALIRCD_USER="unrealircd" + +# Which configuration file to load instead of unrealircd.conf. If you +# want to run multiple instances of unrealircd, you must edit +# files::pidfile to match UNREALIRCD_PIDFILE. You should also ensure +# that files::tunefile is different for each unrealircd instance. See +# http://unrealircd.org/docs.php#filesblock. +# +# To support multiple instances of unrealircd, you may create symlinks +# in /etc/init.d pointing to /etc/init.d/unrealircd. It is recommended +# that the scheme unrealircd.${instance_name} be used. For each +# instance, you may make a copy of this file with the appropriate name +# to override default options specific to that instance. +UNREALIRCD_CONF="/etc/unrealircd/${SVCNAME}.conf" + +# The path where unrealircd is configured to create its pidfile. +UNREALIRCD_PIDFILE="/var/run/unrealircd/${SVCNAME#unreal}.pid" + +# extra options to pass to unrealircd ... +# You should not specify the -f option here; use +# UNREALIRCD_CONF instead. +# +# [-h servername] +# [-p portnumber] +# [-x loglevel] +# [-t] (to enable debug output) +UNREALIRCD_OPTS="" diff --git a/net-irc/unrealircd/files/unrealircd.initd b/net-irc/unrealircd/files/unrealircd.initd new file mode 100644 index 000000000000..28bb7bcd5bb1 --- /dev/null +++ b/net-irc/unrealircd/files/unrealircd.initd @@ -0,0 +1,35 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/files/unrealircd.initd,v 1.1 2011/07/27 12:41:19 binki Exp $ + +opts="${opts} reload" + +# Defaults +: ${UNREALIRCD_USER:=unrealircd} +: ${UNREALIRCD_CONF:=/etc/unrealircd/${SVCNAME}.conf} +: ${UNREALIRCD_PIDFILE:=/var/run/unrealircd/${SVCNAME#unreal}.pid} + +depend() { + use dns net + provide ircd +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet --exec /usr/bin/unrealircd \ + --user ${UNREALIRCD_USER} --pidfile "${UNREALIRCD_PIDFILE}" -- -f "${UNREALIRCD_CONF}" ${UNREALIRCD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --pidfile "${UNREALIRCD_PIDFILE}" + eend $? +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --quiet --pidfile "${UNREALIRCD_PIDFILE}" + eend $? +} diff --git a/net-irc/unrealircd/metadata.xml b/net-irc/unrealircd/metadata.xml index 09597cc3d78a..97d1a548145b 100644 --- a/net-irc/unrealircd/metadata.xml +++ b/net-irc/unrealircd/metadata.xml @@ -7,6 +7,7 @@ <name>Nathan Phillip Brink</name> </maintainer> <use> + <flag name='extban-stacking'>Enable extended channel bans (such as +b ~c: and +b ~n:) to contain other extended bans instead of just hostmasks.</flag> <flag name='hub'>Enable hub support</flag> <flag name='spoof'>Enable the spoof protection</flag> <flag name='prefixaq'>Enable chanadmin and chanowner prefixes</flag> diff --git a/net-irc/unrealircd/unrealircd-3.2.9_rc2.ebuild b/net-irc/unrealircd/unrealircd-3.2.9_rc2.ebuild new file mode 100644 index 000000000000..ed80ed6b5e20 --- /dev/null +++ b/net-irc/unrealircd/unrealircd-3.2.9_rc2.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/unrealircd/unrealircd-3.2.9_rc2.ebuild,v 1.1 2011/07/27 12:41:19 binki Exp $ + +EAPI=4 + +inherit eutils autotools ssl-cert versionator multilib + +MY_P=Unreal${PV/_/-} + +DESCRIPTION="An advanced Internet Relay Chat daemon" +HOMEPAGE="http://www.unrealircd.com/" +SRC_URI="http://www.unrealircd.com/downloads/${MY_P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd ~amd64-linux" +IUSE="curl ipv6 +extban-stacking +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] ) + dev-libs/tre + >=net-dns/c-ares-1.7" +DEPEND="${RDEPEND} + >=sys-apps/sed-4 + >=dev-util/pkgconfig-0.25" + +S=${WORKDIR}/Unreal$(get_version_component_range 1-2) + +pkg_setup() { + enewuser unrealircd +} + +src_prepare() { + # QA check against bundled pkgs + rm extras/*.gz || die + + sed -i \ + -e "s:ircd\.pid:${EPREFIX}/var/run/unrealircd/ircd.pid:" \ + -e "s:ircd\.log:${EPREFIX}/var/log/unrealircd/ircd.log:" \ + -e "s:debug\.log:${EPREFIX}/var/log/unrealircd/debug.log:" \ + -e "s:ircd\.tune:${EPREFIX}/var/lib/unrealircd/ircd.tune:" \ + include/config.h \ + || die "sed failed" +} + +src_configure() { + econf \ + --with-listen=5 \ + --with-dpath="${EPREFRIX}"/etc/unrealircd \ + --with-spath="${EPREFIX}"/usr/bin/unrealircd \ + --with-nick-history=2000 \ + --with-sendq=3000000 \ + --with-bufferpool=18 \ + --with-permissions=0600 \ + --with-fd-setsize=1024 \ + --with-system-cares \ + --with-system-tre \ + --enable-dynamic-linking \ + $(use_enable curl libcurl "${EPREFIX}"/usr) \ + $(use_enable ipv6 inet6) \ + $(use_enable prefixaq) \ + $(use_enable spoof nospoof) \ + $(use_enable ssl ssl "${EPREFIX}"/usr) \ + $(use_enable zlib ziplinks "${EPREFIX}"/usr) \ + $(use_with showlistmodes) \ + $(use_with topicisnuhost) \ + $(use_with shunnotices) \ + $(use_with !operoverride no-operoverride) \ + $(use_with operoverride-verify) \ + $(use_with !usermod disableusermod) \ + $(use_with !extban-stacking disable-extendedban-stacking) +} + +src_install() { + keepdir /var/{lib,log,run}/unrealircd + + newbin src/ircd unrealircd + + exeinto /usr/$(get_libdir)/unrealircd/modules + doexe src/modules/*.so + + dodir /etc/unrealircd + dosym /var/lib/unrealircd /etc/unrealircd/tmp + + insinto /etc/unrealircd + doins {badwords.*,help,spamfilter,dccallow}.conf + newins doc/example.conf unrealircd.conf + + insinto /etc/unrealircd/aliases + doins aliases/*.conf + insinto /etc/unrealircd/networks + doins networks/*.network + + local so_suffix=so + [[ ${CHOST} == -*mingw* ]] && so_suffix=dll + sed -i \ + -e s:src/modules:"${EPREFIX}"/usr/$(get_libdir)/unrealircd/modules: \ + -e '/loadmodule.*\.'${so_suffix}'/s;^//;;' \ + -e s:ircd\\.log:"${EPREFIX}"/var/log/unrealircd/ircd.log: \ + "${ED}"/etc/unrealircd/unrealircd.conf \ + || die + + dodoc \ + Changes Donation Unreal.nfo networks/makenet \ + ircdcron/{ircd.cron,ircdchk} \ + || die "dodoc failed" + dohtml doc/*.html + + newinitd "${FILESDIR}"/unrealircd.initd unrealircd + newconfd "${FILESDIR}"/unrealircd.confd-r1 unrealircd + + fperms 700 /etc/unrealircd + fowners -R unrealircd /{etc,var/{lib,log,run}}/unrealircd +} + +pkg_postinst() { + # Move docert call from scr_install() to install_cert in pkg_postinst for + # bug #201682 + if use ssl ; then + if [[ ! -f "${EROOT}"/etc/unrealircd/server.cert.key ]]; then + install_cert /etc/unrealircd/server.cert + chown unrealircd "${EROOT}"/etc/unrealircd/server.cert.* + ln -snf server.cert.key "${EROOT}"/etc/unrealircd/server.key.pem + fi + fi + + local unrealircd_conf="${EROOT}"/etc/unrealircd/unrealircd.conf + # Fix up the default cloak keys. + if grep -qe '"and another one";$' "${unrealircd_conf}" && grep -qe '"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";$' "${unrealircd_conf}"; then + ebegin "Generating cloak-keys" + local keys=( + "$(unrealircd -k 2>&1 | sed -n -e 2p)" + "$(unrealircd -k 2>&1 | sed -n -e 2p)" + "$(unrealircd -k 2>&1 | sed -n -e 2p)" + ) + [[ -n ${keys[0]} || -n ${keys[1]} || -n ${keys[2]} ]] + eend $? + + ebegin "Substituting cloak-keys into ${unrealircd_conf}" + sed -i \ + -e '/cloak-keys/ { +n +s/"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";/"'"${keys[0]}"'";/ +n +s/"and another one";/"'"${keys[1]}"'";/ +n +s/"and another one";/"'"${keys[2]}"'";/ +}' \ + "${unrealircd_conf}" + eend $? + fi + + 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}/ircd.cron.gz" + elog " /usr/share/doc/${PF}/ircdchk.gz" + elog + elog "You can also use /etc/init.d/unrealircd to start at boot" +} |