summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/rancid-git/rancid-git-2.3.8.ebuild')
-rw-r--r--net-misc/rancid-git/rancid-git-2.3.8.ebuild114
1 files changed, 114 insertions, 0 deletions
diff --git a/net-misc/rancid-git/rancid-git-2.3.8.ebuild b/net-misc/rancid-git/rancid-git-2.3.8.ebuild
new file mode 100644
index 000000000000..36e80302d9a6
--- /dev/null
+++ b/net-misc/rancid-git/rancid-git-2.3.8.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils readme.gentoo user
+
+DESCRIPTION="Really Awesome New Cisco confIg Differ with git extensions and support for colorized emails!"
+HOMEPAGE="http://dotwaffle.github.com/rancid-git"
+#SRC_URI="ftp://ftp.shrubbery.net/pub/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/dotwaffle/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD-4"
+
+SLOT="0"
+RESTRICT="mirror"
+KEYWORDS="~amd64 ~x86"
+IUSE="+git cvs subversion"
+REQUIRED_USE="^^ ( git cvs subversion )"
+
+# app-arch/par is blocker, due to bug #455838
+DEPEND="!app-arch/par
+ dev-lang/perl
+ dev-lang/tcl:0=
+ dev-tcltk/expect
+ sys-apps/diffutils
+ git? ( dev-vcs/git )
+ cvs? ( dev-vcs/cvs )
+ subversion? ( dev-vcs/subversion )
+ || (
+ net-misc/netkit-telnetd
+ net-misc/telnet-bsd
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P/-git}-mailprefix.patch
+ epatch "${FILESDIR}"/${P/-git}-config.patch
+ epatch "${FILESDIR}"/${P/-git}-buildsystem.patch
+
+ # respect CFLAGS, bug #455840
+ sed -i -e '/^CFLAGS/d' bin/Makefile.am || die 'sed on bin/Makefile.am failed'
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --localstatedir="${EPREFIX}"/var/${PN} \
+ --enable-conf-install \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ $(use_with subversion svn fsfs) \
+ $(use_with git)
+}
+
+src_install() {
+ default
+
+ if use subversion ; then
+ sed -e 's/^RCSSYS=cvs/RCSSYS=svn/' \
+ -i "${D}"/etc/rancid.conf || die
+ fi
+
+ echo "CONFIG_PROTECT=\"${EPREFIX}/var/rancid/.cloginrc\"" > "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+
+ readme.gentoo_src_install
+}
+
+pkg_preinst() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 /bin/bash "${EPREFIX}"/var/rancid ${PN}
+
+ keepdir /var/${PN}{,/logs}
+ touch "${ED}"/var/${PN}/.cloginrc
+
+ fperms ug=rwX,o= /var/${PN}/{,logs,.cloginrc}
+ fowners ${PN}:${PN} /var/${PN}/{,logs,.cloginrc}
+}
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="Micro-HOWTO on how to get running:
+
+1) Modify MAILPREFIX, ADMINMAILPREFIX, and LIST_OF_GROUPS
+in /etc/rancid.conf:
+MAILPREFIX=\"rancid-\"
+ADMINMAILPREFIX=\"rancid-admin-\"
+LIST_OF_GROUPS=\"routers switches\"
+
+2) Setup email aliases for rancid:
+you will need to define mail aliases for {MAILPREFIX}{GROUP}
+and {ADMINMAILPREFIX}{GROUP} for each group you defined above
+How to do this depends on your mailserver
+
+3) Run rancid-cvs as the rancid user to initialise directories and
+repositories; eg. su -c /usr/bin/rancid-cvs - rancid
+Note the command is the same even if you are using subversion
+
+4) Populate /var/rancid/{GROUPNAME}/router.db with nodes
+see man 5 router.db for detailed formatting information
+
+5) Populate /var/rancid/.cloginrc with credentials
+see /usr/share/rancid/cloginrc.sample for an example
+
+6) Test clogin access with: clogin -f /var/rancid/.clogin hostname
+
+7) Add a cronjob for the rancid user to regularly call rancid-run
+eg: run crontab -u rancid -e and add the lines below
+# run rancid once an hour
+0 * * * * /usr/bin/rancid-run
+# cleanup old logfiles generated by rancid once a day
+50 23 * * * /usr/bin/find /var/rancid/logs -type f -mtime +2 -exec rm {} \;
+"