summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/rancid-git
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-misc/rancid-git')
-rw-r--r--net-misc/rancid-git/Manifest1
-rw-r--r--net-misc/rancid-git/files/rancid-2.3.8-buildsystem.patch64
-rw-r--r--net-misc/rancid-git/files/rancid-2.3.8-config.patch33
-rw-r--r--net-misc/rancid-git/files/rancid-2.3.8-mailprefix.patch178
-rw-r--r--net-misc/rancid-git/metadata.xml15
-rw-r--r--net-misc/rancid-git/rancid-git-2.3.8.ebuild114
6 files changed, 405 insertions, 0 deletions
diff --git a/net-misc/rancid-git/Manifest b/net-misc/rancid-git/Manifest
new file mode 100644
index 000000000000..71132941fcba
--- /dev/null
+++ b/net-misc/rancid-git/Manifest
@@ -0,0 +1 @@
+DIST rancid-git-2.3.8.tar.gz 388121 SHA256 c90c80fb25354c6d7a8ae7c4137ca96625338a8cbe6ad5756b073e0d4f257b31 SHA512 14a4fa097a31e2772d83e72cdcfb5488bf3e1c69e8065286c52eb554a392eb4257a0dc38fad5d79819fb417e699fb4e2c265ef5cfbf018418d9550eb653fa551 WHIRLPOOL 513c5f4ee27fd84ce12dff145652802350a00e9c9f9d3e5b5fb906a3f03d617cc73459dd658586dd5f81e21e7eca3220ba77890a59c4b06fc928fae3f0b6c123
diff --git a/net-misc/rancid-git/files/rancid-2.3.8-buildsystem.patch b/net-misc/rancid-git/files/rancid-2.3.8-buildsystem.patch
new file mode 100644
index 000000000000..4a06b5c63723
--- /dev/null
+++ b/net-misc/rancid-git/files/rancid-2.3.8-buildsystem.patch
@@ -0,0 +1,64 @@
+--- rancid-2.3.8/configure.in
++++ rancid-2.3.8/configure.in
+@@ -17,7 +17,7 @@
+ dnl default install location
+ AC_PREFIX_DEFAULT(/usr/local/rancid)
+
+-dnl AM_MAINTAINER_MODE()
++AM_MAINTAINER_MODE()
+
+ dnl AC_CONFIG_SUBDIRS(util)
+
+@@ -35,7 +35,6 @@
+
+ # compiler specifics
+ AC_PROG_CC
+-AM_C_PROTOTYPES
+ AC_PROG_CPP
+ AC_C_CONST
+ AC_C_INLINE
+@@ -212,7 +212,7 @@
+ # is good enough -- if we can't find GNU tar, we don't really care.
+ AC_CHECK_PROGS(TAR, gnutar gtar tar)
+
+-AC_CHECK_PROGS(AUTOMAKE, automake)
++dnl AC_CHECK_PROGS(AUTOMAKE, automake)
+
+ dnl locate perl 5 and expect.
+ AC_PROG_INSTALL
+--- rancid-2.3.8/Makefile.am
++++ rancid-2.3.8/Makefile.am
+@@ -24,7 +24,7 @@
+
+ @SET_MAKE@
+
+-pkgdata_DATA = COPYING CHANGES FAQ README README.lg UPGRADING cloginrc.sample
++dist_doc_DATA = COPYING CHANGES FAQ README README.lg UPGRADING cloginrc.sample
+ EXTRA_DIST = BUGS Todo configure install-sh \
+ mkinstalldirs Makefile.in Todo $(pkgdata_DATA)
+ #DIST_COMMON =
+--- rancid-2.3.8/share/Makefile.am
++++ rancid-2.3.8/share/Makefile.am
+@@ -50,8 +50,9 @@
+
+ pkgdata_SCRIPTS= rancid-cvspurge rtrfilter downreport
+ dist_pkgdata_SCRIPTS=getipacctg
+-dist_pkgdata_DATA=README.misc cisco-load.exp cisco-reload.exp \
+- index.html lgnotes.html
++dist_pkgdata_DATA=cisco-load.exp cisco-reload.exp
++dist_doc_DATA=README.misc
++dist_html_DATA=index.html lgnotes.html
+
+ EXTRA_DIST = rancid-cvspurge.in rancid.spec rtrfilter.in downreport.in
+
+--- rancid-2.3.8/etc/Makefile.am
++++ rancid-2.3.8/etc/Makefile.am
+@@ -48,7 +48,7 @@
+ #AUTOMAKE_OPTIONS=foreign no-dependencies
+ AUTOMAKE_OPTIONS=foreign
+
+-pkgdata_DATA= lg.conf.sample rancid.conf.sample
++dist_doc_DATA= lg.conf.sample rancid.conf.sample
+ EXTRA_DIST= $(pkgdata_DATA:%=%.in)
+
+ CLEANFILES= $(pkgdata_DATA)
diff --git a/net-misc/rancid-git/files/rancid-2.3.8-config.patch b/net-misc/rancid-git/files/rancid-2.3.8-config.patch
new file mode 100644
index 000000000000..f39f28382da8
--- /dev/null
+++ b/net-misc/rancid-git/files/rancid-2.3.8-config.patch
@@ -0,0 +1,33 @@
+--- etc/rancid.conf.sample.in
++++ etc/rancid.conf.sample.in
+@@ -42,7 +42,10 @@
+ RCSSYS=@RCSSYS@; export RCSSYS
+ #
+ # if ACLSORT is NO, access-lists will NOT be sorted.
+-#ACLSORT=YES; export ACLSORT
++#
++#Gentoo - changing default to NO because access-list order matters in most instances
++#and many people expect to use rancid as a backup system
++ACLSORT=NO; export ACLSORT
+ #
+ # if NOPIPE is set, temp files will be used instead of a cmd pipe during
+ # collection from the router(s).
+@@ -50,10 +53,16 @@
+ #
+ # FILTER_PWDS determines which passwords are filtered from configs by the
+ # value set (NO | YES | ALL). see rancid.conf(5).
+-#FILTER_PWDS=YES; export FILTER_PWDS
++#
++#Gentoo - changing default to ALL; diffs are emailed and even the most secure
++#password hashes on most routers are easily brute-forceable with modern systems
++FILTER_PWDS=ALL; export FILTER_PWDS
+ #
+ # if NOCOMMSTR is set, snmp community strings will be stripped from the configs
+-#NOCOMMSTR=YES; export NOCOMMSTR
++#
++#Gentoo - changing default to YES; diffs are emailed and SNMP communities
++#can be just as dangerous as passwords
++NOCOMMSTR=YES; export NOCOMMSTR
+ #
+ # How many times failed collections are retried (for each run) before
+ # giving up. Minimum: 1
diff --git a/net-misc/rancid-git/files/rancid-2.3.8-mailprefix.patch b/net-misc/rancid-git/files/rancid-2.3.8-mailprefix.patch
new file mode 100644
index 000000000000..171a380679dc
--- /dev/null
+++ b/net-misc/rancid-git/files/rancid-2.3.8-mailprefix.patch
@@ -0,0 +1,178 @@
+--- rancid-2.3.8/bin/Makefile.am
++++ rancid-2.3.8/bin/Makefile.am
+@@ -96,8 +96,6 @@
+ -e 's,@PERLV\@,$(PERLV),g' \
+ -e 's,@PERLV_PATH\@,$(PERLV_PATH),g' \
+ -e 's,@LG_PING_CMD\@,$(LG_PING_CMD),g' \
+- -e 's,@ADMINMAILPLUS\@,$(ADMINMAILPLUS),g' \
+- -e 's,@MAILPLUS\@,$(MAILPLUS),g' \
+ -e 's,@PACKAGE\@,$(PACKAGE),g' \
+ -e 's,@SVN_FSTYPE\@,$(SVN_FSTYPE),g' \
+ -e 's,@VERSION\@,$(VERSION),g' \
+--- rancid-2.3.8/bin/control_rancid.in
++++ rancid-2.3.8/bin/control_rancid.in
+@@ -118,8 +118,8 @@
+ fi
+
+ # the receipient(s) of diffs & mail options
+-mailrcpt=${mailrcpt:-"@MAILPLUS@${GROUP}${MAILDOMAIN}"}; export mailrcpt
+-adminmailrcpt=${adminmailrcpt:-"@ADMINMAILPLUS@${GROUP}${MAILDOMAIN}"};
++mailrcpt=${mailrcpt:-"${MAILPREFIX}${GROUP}${MAILDOMAIN}"}; export mailrcpt
++adminmailrcpt=${adminmailrcpt:-"${ADMINMAILPREFIX}${GROUP}${MAILDOMAIN}"};
+ export adminmailrcpt
+ set | grep MAILHEADERS= > /dev/null 2>&1
+ if [ $? -ne 0 ] ; then
+--- rancid-2.3.8/bin/rancid-run.in
++++ rancid-2.3.8/bin/rancid-run.in
+@@ -147,7 +147,7 @@
+ if [ -s $TMPDIR/.$GROUP.old ]
+ then
+ (
+- echo "To: @ADMINMAILPLUS@${GROUP}${MAILDOMAIN}"
++ echo "To: ${ADMINMAILPREFIX}${GROUP}${MAILDOMAIN}"
+ echo "Subject: rancid hung - $GROUP"
+ echo "Precedence: bulk"
+ echo ""
+--- rancid-2.3.8/configure.in
++++ rancid-2.3.8/configure.in
+@@ -163,46 +163,6 @@
+ AC_SUBST(SVN_FSTYPE)
+ rd_cv_RCSSYS=$RCSSYS
+
+-# Check for a preference for using mail addresses like rancid+group
+-# instead of the standard rancid-group
+-AC_MSG_CHECKING([whether mail addresses should be in the rancid+ form])
+-AC_ARG_ENABLE(mail-plus,
+- AS_HELP_STRING([--enable-mail-plus], [enable mail to rancid+ addresses, instead of rancid-]),
+-[if test "$enable_mail_plus" = yes; then
+- AC_MSG_RESULT(yes)
+- MAILPLUS="rancid+"
+- AC_SUBST(MAILPLUS)
+-else
+- AC_MSG_RESULT(no)
+- MAILPLUS="rancid-"
+- AC_SUBST(MAILPLUS)
+-fi],
+-[AC_MSG_RESULT(no)
+- MAILPLUS="rancid-"
+- AC_SUBST(MAILPLUS)
+-])
+-rd_cv_MAILPLUS=$MAILPLUS
+-
+-# Check for a preference for using mail addresses like rancid+admin-group
+-# instead of the standard rancid-admin-group
+-AC_MSG_CHECKING([whether admin mail addresses should be in the rancid-admin+ form])
+-AC_ARG_ENABLE(adminmail-plus,
+- AS_HELP_STRING([--enable-adminmail-plus], [enable mail to rancid-admin+ addresses, instead of rancid-admin-]),
+-[if test "$enable_adminmail_plus" = yes; then
+- AC_MSG_RESULT([rancid-admin+])
+- ADMINMAILPLUS="rancid-admin+"
+- AC_SUBST(ADMINMAILPLUS)
+-else
+- AC_MSG_RESULT([${MAILPLUS}admin-])
+- ADMINMAILPLUS="${MAILPLUS}admin-"
+- AC_SUBST(ADMINMAILPLUS)
+-fi],
+-[AC_MSG_RESULT([${MAILPLUS}admin-])
+- ADMINMAILPLUS="${MAILPLUS}admin-"
+- AC_SUBST(ADMINMAILPLUS)
+-])
+-rd_cv_ADMINMAILPLUS=$ADMINMAILPLUS
+-
+ AC_PATH_PROG(DIRNAME,dirname,no)
+
+ # locate GNU diff (one supporting the -u option)
+--- rancid-2.3.8/etc/rancid.conf.sample.in
++++ rancid-2.3.8/etc/rancid.conf.sample.in
+@@ -71,6 +71,21 @@
+ # The number of devices to collect simultaneously.
+ #PAR_COUNT=5; export PAR_COUNT
+ #
++# Define the prefixes for regular and administrative email groups
++# configuration diffs will be emailed to {MAILPREFIX}{GROUPNAME}
++# eg. rancid-routers
++# problems/errors will be emailed to {ADMINMAILPREFIX}{GROUPNAME}
++# eg. rancid-admin-routers
++#
++MAILPREFIX="rancid-"; export MAILPREFIX
++ADMINMAILPREFIX="rancid-admin-"; export ADMINMAILPREFIX
++#
++# To use a delimiter-based system instead of email aliases,
++# comment the above 2 lines and uncomment the following two lines:
++#MAILPREFIX="rancid+"; export MAILPREFIX
++#ADMINMAILPREFIX="rancid-admin+"; export ADMINMAILPREFIX
++#
++#
+ # list of rancid groups
+ #LIST_OF_GROUPS="sl joebobisp"
+ # more groups...
+--- rancid-2.3.8/man/Makefile.am
++++ rancid-2.3.8/man/Makefile.am
+@@ -79,9 +79,7 @@
+ -e 's,@bindir\@,$(bindir),g' \
+ -e 's,@localstatedir\@,$(localstatedir),g' \
+ -e 's,@sysconfdir\@,$(sysconfdir),g' \
+- -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
+- -e 's,@ADMINMAILPLUS\@,$(ADMINMAILPLUS),g' \
+- -e 's,@MAILPLUS\@,$(MAILPLUS),g'
++ -e 's,@pkgdatadir\@,$(pkgdatadir),g'
+
+ lg.conf.5: Makefile $(srcdir)/lg.conf.5.in
+ rm -f lg.conf.5 lg.conf.5.tmp; \
+--- rancid-2.3.8/man/rancid.conf.5.in
++++ rancid-2.3.8/man/rancid.conf.5.in
+@@ -81,6 +81,19 @@
+ are always filtered (e.g.: Alteon passwords).
+ .\"
+ .TP
++.B MAILPREFIX
++Sets the mail prefix that is used to generate group emails. Configuration
++diffs are emailed to an address of the form {MAILPREFIX}{GROUPNAME}
++eg. rancid-routers
++.sp
++Default: rancid-
++.B ADMINMAILPREFIX
++Sets the mail prefix that is used to generate admin group emails.
++problems/errors are emailed to an address of the form
++{ADMINMAILPREFIX}{GROUPNAME}
++eg. rancid-admin-routers
++.sp
++Default: rancid-admin-
+ .B LIST_OF_GROUPS
+ Defines a list of group names of routers separated by white-space. These
+ names become the directory names in $BASEDIR which contain the data
+@@ -104,10 +117,10 @@
+ .sp
+ .in +1i
+ .nf
+-@MAILPLUS@uofo: frank
+-@ADMINMAILPLUS@uofo: joe,bob
+-@MAILPLUS@usfs: frank
+-@ADMINMAILPLUS@usfs: joe,bob
++rancid-uofo: frank
++rancid-admin-uofo: joe,bob
++randid-usfs: frank
++rancid-admin-usfs: joe,bob
+ .fi
+ .sp
+ .in -1i
+@@ -129,7 +142,7 @@
+ .B MAILDOMAIN
+ Define the domain part of addresses for administrative and diff e-mail.
+ The value of this variable is simply appended to the normal mail addresses.
+-For example @MAILPLUS@usfs@example.com, if
++For example rancid-usfs@example.com, if
+ .B MAILDOMAIN
+ had been set to "@example.com".
+ .\"
+--- rancid-2.3.8/share/downreport.in
++++ rancid-2.3.8/share/downreport.in
+@@ -73,7 +73,7 @@
+
+ for GROUP in $LIST_OF_GROUPS; do
+ (
+- echo "To: @MAILPLUS@admin-$GROUP"
++ echo "To: ${ADMINMAILPREFIX}$GROUP"
+ echo "Subject: Down router report - $GROUP"
+ echo "$MAILHEADERS" | awk '{gsub(/\\n/,"\n");print;}'
+ echo ""
diff --git a/net-misc/rancid-git/metadata.xml b/net-misc/rancid-git/metadata.xml
new file mode 100644
index 000000000000..175f3d5aa56a
--- /dev/null
+++ b/net-misc/rancid-git/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <use>
+ <flag name="git">Enable git (version control system) support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">dotwaffle/rancid-git</remote-id>
+ </upstream>
+</pkgmetadata>
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 {} \;
+"