# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="VerliHub is a Direct Connect protocol server (Hub)" HOMEPAGE="http://verlihub.sourceforge.net/" SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="mysql" DEPEND=">=sys-devel/gcc-3.2 dev-libs/libpcre >=dev-libs/geoip-1.2.1 >=dev-db/mysql-3.23" S=${WORKDIR}/${P} src_compile() { econf || die emake || die "emake failed" } src_install() { make DESTDIR=${D} install || die exeinto /etc/init.d; newexe ${FILESDIR}/verlihub.rc6 verlihub insinto /etc/conf.d; newins ${FILESDIR}/verlihub.confd verlihub dohtml docs/*.html dodoc \ scripts/ccgraph \ scripts/import_reglist_0.9.x_to_0.9.7.sql docinto "" dodoc \ AUTHORS \ COPYING \ ChangeLog \ INSTALL \ NEWS \ README \ TODO \ docs/configuring.txt \ docs/help \ docs/help.sql \ docs/ascii \ docs/params.php \ docs/using.txt } pkg_postinst() { einfo einfo "To create the required mysql database, please run:" einfo " ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" einfo } pkg_config() { MYSQL_DATA_DEF=verlihub MYSQL_USER_DEF=verlihub MYSQL_PASS_DEF=verlihub MYSQL_HOST_DEF=localhost MYSQL_ROOT_DEF=root CONF_DIR=/etc/verlihub CONF_DBCONFIG=${CONF_DIR}/dbconfig CONF_DBSCRIPT=${CONF_DIR}/db HUB_ROOT_DEF=root HUB_PASS_DEF=password read -p "MySQL database for verlihub (${MYSQL_DATA_DEF}): " MYSQL_DATA [ "_${MYSQL_DATA}" == "_" ] && MYSQL_DATA=${MYSQL_DATA_DEF} read -p "MySQL user to access ${MYSQL_DATA} (${MYSQL_USER_DEF}): " MYSQL_USER [ "_${MYSQL_USER}" == "_" ] && MYSQL_USER=${MYSQL_USER_DEF} read -p "MySQL password to access ${MYSQL_DATA} (${MYSQL_PASS_DEF}): " MYSQL_PASS [ "_${MYSQL_PASS}" == "_" ] && MYSQL_PASS=${MYSQL_PASS_DEF} read -p "Host running MySQL server (${MYSQL_HOST_DEF}): " MYSQL_HOST [ "_${MYSQL_HOST}" == "_" ] && MYSQL_HOST=${MYSQL_HOST_DEF} read -p "MySQL administrator username (${MYSQL_ROOT_DEF}): " MYSQL_ROOT [ "_${MYSQL_ROOT}" == "_" ] && MYSQL_ROOT=${MYSQL_ROOT_DEF} echo "Enter your MySQL administrator password to create the database:" echo "Note: You'll be prompted twice." mysql -h ${MYSQL_HOST} -u ${MYSQL_ROOT} -p -e \ "CREATE DATABASE ${MYSQL_DATA};" mysql -h ${MYSQL_HOST} -u ${MYSQL_ROOT} -p -e \ "GRANT ALL ON ${MYSQL_DATA}.* to ${MYSQL_USER}@${MYSQL_HOST} identified by '${MYSQL_PASS}'" if [ ! -d ${ROOT}${CONF_DIR} ]; then mkdir ${ROOT}${CONF_DIR} fi echo "db_host= ${MYSQL_HOST}" > ${CONF_DBCONFIG} echo "db_data= ${MYSQL_DATA}" >> ${CONF_DBCONFIG} echo "db_user= ${MYSQL_USER}" >> ${CONF_DBCONFIG} echo "db_pass= ${MYSQL_PASS}" >> ${CONF_DBCONFIG} echo "mysql -u ${MYSQL_USER} -D ${MYSQL_DATA} -p${MYSQL_PASS} " > ${CONF_DBSCRIPT} chmod 700 ${ROOT}${CONF_DBSCRIPT} # verlihub needs to be started once to create the mysql tables start-stop-daemon -o --quiet --make-pidfile --background \ --start --startas ${ROOT}/usr/bin/verlihub \ --pidfile ${ROOT}/var/run/verlihub_inst.pid start-stop-daemon -o --quiet --stop --pidfile ${ROOT}/var/run/verlihub_inst.pid rm ${ROOT}/var/run/verlihub_inst.pid read -p "Verlihub admin nickname (${HUB_ROOT_DEF}): " HUB_ROOT [ "_${HUB_ROOT}" == "_" ] && HUB_ROOT=${HUB_ROOT_DEF} read -p "Verlihub admin password (${HUB_PASS_DEF}): " HUB_PASS [ "_${HUB_PASS}" == "_" ] && HUB_PASS=${HUB_PASS_DEF} ${ROOT}/usr/bin/vh_regnick -n ${HUB_ROOT} -p ${HUB_PASS} -c 10 -f &>/dev/null echo einfo einfo "Verlihub should now be setup and ready to use." einfo }