diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/rancid | |
download | gentoo-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')
-rw-r--r-- | net-misc/rancid/Manifest | 1 | ||||
-rw-r--r-- | net-misc/rancid/files/rancid-2.3.8-buildsystem.patch | 64 | ||||
-rw-r--r-- | net-misc/rancid/files/rancid-2.3.8-config.patch | 33 | ||||
-rw-r--r-- | net-misc/rancid/files/rancid-2.3.8-mailprefix.patch | 178 | ||||
-rw-r--r-- | net-misc/rancid/metadata.xml | 16 | ||||
-rw-r--r-- | net-misc/rancid/rancid-2.3.8.ebuild | 113 |
6 files changed, 405 insertions, 0 deletions
diff --git a/net-misc/rancid/Manifest b/net-misc/rancid/Manifest new file mode 100644 index 000000000000..cec899da6286 --- /dev/null +++ b/net-misc/rancid/Manifest @@ -0,0 +1 @@ +DIST rancid-2.3.8.tar.gz 379908 SHA256 44e44c87a22968d5229c01d60aa46960da023a24846eef43f9e3c8d70fd5b3fb SHA512 cd071670e160f2e8268e676ae92b0d982719a2bc306aef3ef8fdbbaae398854178613eee2a139f206e799eba6c0b49dce2094db69ea57ef938e5d0c2c294a3cc WHIRLPOOL 69fbc3eef603888cfafcb5ddd445da68da4d1ca15509b1f8938de09379f9f613063487fd836f18abeffcba7d6b83b5bc2dde74825e7a263b3109dabb36f3d045 diff --git a/net-misc/rancid/files/rancid-2.3.8-buildsystem.patch b/net-misc/rancid/files/rancid-2.3.8-buildsystem.patch new file mode 100644 index 000000000000..4a06b5c63723 --- /dev/null +++ b/net-misc/rancid/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/files/rancid-2.3.8-config.patch b/net-misc/rancid/files/rancid-2.3.8-config.patch new file mode 100644 index 000000000000..f39f28382da8 --- /dev/null +++ b/net-misc/rancid/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/files/rancid-2.3.8-mailprefix.patch b/net-misc/rancid/files/rancid-2.3.8-mailprefix.patch new file mode 100644 index 000000000000..171a380679dc --- /dev/null +++ b/net-misc/rancid/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/metadata.xml b/net-misc/rancid/metadata.xml new file mode 100644 index 000000000000..6d26af1b96cb --- /dev/null +++ b/net-misc/rancid/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> +<email>andrew@ahamilto.net</email> +<name>Andrew Hamilton</name> +</maintainer> +<maintainer> +<email>xmw@gentoo.org</email> +<name>Michael Weber</name> +</maintainer> +<herd>proxy-maintainers</herd> +<longdescription lang="en"> +</longdescription> +</pkgmetadata> + diff --git a/net-misc/rancid/rancid-2.3.8.ebuild b/net-misc/rancid/rancid-2.3.8.ebuild new file mode 100644 index 000000000000..7008aacb0ed3 --- /dev/null +++ b/net-misc/rancid/rancid-2.3.8.ebuild @@ -0,0 +1,113 @@ +# 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" +HOMEPAGE="http://www.shrubbery.net/rancid/" +SRC_URI="ftp://ftp.shrubbery.net/pub/${PN}/${P}.tar.gz" +LICENSE="BSD-4" + +SLOT="0" +RESTRICT="mirror" +KEYWORDS="~amd64 ~x86" +IUSE="+cvs subversion" + +REQUIRED_USE="^^ ( 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 + cvs? ( dev-vcs/cvs ) + subversion? ( dev-vcs/subversion ) + || ( + net-misc/netkit-telnetd + net-misc/telnet-bsd + )" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-mailprefix.patch + epatch "${FILESDIR}"/${P}-config.patch + epatch "${FILESDIR}"/${P}-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 subversion && echo "--with-svn=fsfs") +} + +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 {} \; +" |