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-git | |
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-git')
-rw-r--r-- | net-misc/rancid-git/Manifest | 1 | ||||
-rw-r--r-- | net-misc/rancid-git/files/rancid-2.3.8-buildsystem.patch | 64 | ||||
-rw-r--r-- | net-misc/rancid-git/files/rancid-2.3.8-config.patch | 33 | ||||
-rw-r--r-- | net-misc/rancid-git/files/rancid-2.3.8-mailprefix.patch | 178 | ||||
-rw-r--r-- | net-misc/rancid-git/metadata.xml | 15 | ||||
-rw-r--r-- | net-misc/rancid-git/rancid-git-2.3.8.ebuild | 114 |
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 {} \; +" |