diff options
Diffstat (limited to 'net-irc')
-rw-r--r-- | net-irc/znc/ChangeLog | 5 | ||||
-rw-r--r-- | net-irc/znc/metadata.xml | 2 | ||||
-rw-r--r-- | net-irc/znc/znc-9999.ebuild | 136 |
3 files changed, 118 insertions, 25 deletions
diff --git a/net-irc/znc/ChangeLog b/net-irc/znc/ChangeLog index 511c22f77e17..4166ffbb51f4 100644 --- a/net-irc/znc/ChangeLog +++ b/net-irc/znc/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for net-irc/znc # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/ChangeLog,v 1.61 2013/01/22 18:56:25 wired Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/ChangeLog,v 1.62 2013/02/02 02:48:24 wired Exp $ + + 02 Feb 2013; Alex Alexander <wired@gentoo.org> znc-9999.ebuild, metadata.xml: + updated live ebuild, removed obsolete use descriptions from metadata *znc-1.0-r1 (22 Jan 2013) diff --git a/net-irc/znc/metadata.xml b/net-irc/znc/metadata.xml index 851c2f9c4ffa..b0c4ba63da57 100644 --- a/net-irc/znc/metadata.xml +++ b/net-irc/znc/metadata.xml @@ -10,7 +10,5 @@ <flag name="daemon">Allow znc to run as a system-wide service. Installs an init script and creates a znc user:group.</flag> <flag name="extras">Enable some additional modules</flag> <flag name="ares">Enables support for asynchronous DNS using the c-ares library</flag> - <flag name="dns-threads">Use threads for DNS resolving</flag> - <flag name="user-networks">Allow non-admin users to add networks</flag> </use> </pkgmetadata> diff --git a/net-irc/znc/znc-9999.ebuild b/net-irc/znc/znc-9999.ebuild index 531e8300ed84..59dc71333cf7 100644 --- a/net-irc/znc/znc-9999.ebuild +++ b/net-irc/znc/znc-9999.ebuild @@ -1,22 +1,29 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/znc-9999.ebuild,v 1.5 2012/05/03 06:27:13 jdhore Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/znc-9999.ebuild,v 1.6 2013/02/02 02:48:24 wired Exp $ -EAPI=3 +EAPI=5 PYTHON_DEPEND="python? 3" -inherit base git-2 python +inherit base python user +MY_PV=${PV/_/-} DESCRIPTION="An advanced IRC Bouncer" -HOMEPAGE="http://znc.sourceforge.net" -EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/znc/znc.git"} -SRC_URI="" +if [[ ${PV} == *9999* ]]; then + inherit git-2 + EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/znc/znc.git"} + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://znc.in/releases/${PN}-${MY_PV}.tar.gz" + KEYWORDS="~amd64 ~arm ~x86" +fi +HOMEPAGE="http://znc.in" LICENSE="GPL-2" SLOT="0" -KEYWORDS="" -IUSE="debug dns-threads ipv6 perl python ssl sasl tcl user-networks" +IUSE="daemon debug ipv6 perl python ssl sasl tcl" RDEPEND=" perl? ( >=dev-lang/perl-5.10 ) @@ -34,40 +41,125 @@ DEPEND=" ${RDEPEND} " +S=${WORKDIR}/${PN}-${MY_PV} + +PATCHES=( + "${FILESDIR}/${PN}-1.0-systemwideconfig.patch" +) + +CONFDIR="/var/lib/znc" + pkg_setup() { if use python; then python_set_active_version 3 python_pkg_setup fi + if use daemon; then + enewgroup ${PN} + enewuser ${PN} -1 -1 /dev/null ${PN} + fi } src_prepare() { - ./autogen.sh + if [[ ${PV} == *9999* ]]; then + ./autogen.sh + fi + + base_src_prepare } src_configure() { econf \ - $(use_enable user-networks add-networks) \ $(use_enable debug) \ - $(use_enable dns-threads tdns) \ $(use_enable ipv6) \ $(use_enable perl) \ $(use python && echo "--enable-python=python-$(python_get_version)") \ - $(use_enable sasl) \ + $(use_enable sasl cyrus) \ $(use_enable ssl openssl) \ - $(use_enable tcl tcl) \ - || die "econf failed" + $(use_enable tcl tcl) } src_install() { - emake install DESTDIR="${D}" || die "make install failed." - dodoc AUTHORS README.md || die "dodoc failed" + emake install DESTDIR="${D}" + dodoc AUTHORS README.md + if use daemon; then + newinitd "${FILESDIR}"/znc.initd znc + newconfd "${FILESDIR}"/znc.confd znc + fi } pkg_postinst() { - elog - elog "Run 'znc --makeconf' as the user you want to run ZNC as" - elog "to make a configuration file" - elog "If you are using SSL you should also run 'znc --makepem'" - elog + if use !daemon; then + elog + elog "Run 'znc --makeconf' as the user you want to run ZNC as" + elog "to make a configuration file" + elog "If you are using SSL you should also run 'znc --makepem'" + elog + else + elog + elog "An init-script was installed in /etc/init.d" + elog "A config file was installed in /etc/conf.d" + if [[ ! -d "${EROOT}${CONFDIR}" ]]; then + elog + elog "Run 'emerge --config znc' to configure ZNC" + elog "as a system-wide daemon." + elog + elog "If you are using SSL you should also run:" + elog " znc --system-wide-config-as znc --makepem -d ${CONFDIR}" + elog "as root" + elog + elog "If migrating from a user-based install" + elog "you can use your existing config files:" + elog " mkdir ${CONFDIR}" + elog " mv /home/\$USER/.znc/* ${CONFDIR}" + elog " rm -rf /home/\$USER/.znc" + elog " chown -R znc:znc ${CONFDIR}" + elog + elog "If you already have znc set up and want take advantage of the" + elog "init script but skip of all the above, you can also edit" + elog " /etc/conf.d/znc" + elog "and adjust the variables to your current znc user and config" + elog "location." + if [[ -d "${EROOT}"/etc/znc ]]; then + elog + ewarn "/etc/znc exists on your system." + ewarn "Due to the nature of the contents of that folder," + ewarn "we have changed the default configuration to use" + ewarn " /var/lib/znc" + ewarn "please move /etc/znc to /var/lib/znc" + ewarn "or adjust /etc/conf.d/znc" + fi + else + elog "Existing config detected in ${CONFDIR}" + elog "You're good to go :)" + fi + elog + fi +} + +pkg_config() { + if use daemon && ! [[ -d "${EROOT}${CONFDIR}" ]]; then + einfo "Press ENTER to interactively create a new configuration file for znc." + einfo "To abort, press Control-C" + read + mkdir -p "${EROOT}${CONFDIR}" || die + chown -R ${PN}:${PN} "${EROOT}${CONFDIR}" || + die "Setting permissions failed" + "${EROOT}"/usr/bin/znc --system-wide-config-as znc -c -r -d "${EROOT}${CONFDIR}" || + die "Config failed" + echo + einfo "To start znc, run '/etc/init.d/znc start'" + einfo "or add znc to a runlevel:" + einfo " rc-update add znc default" + else + if use daemon; then + ewarn "${CONFDIR} already exists, aborting to avoid damaging" + ewarn "any existing configuration. If you are sure you want" + ewarn "to generate a new configuration, remove the folder" + ewarn "and try again." + else + ewarn "To configure znc as a system-wide daemon you have to" + ewarn "enable the 'daemon' use flag." + fi + fi } |