diff options
Diffstat (limited to 'net-misc/rancid')
-rw-r--r-- | net-misc/rancid/Manifest | 8 | ||||
-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 | 8 | ||||
-rw-r--r-- | net-misc/rancid/rancid-2.3.8.ebuild | 112 |
6 files changed, 403 insertions, 0 deletions
diff --git a/net-misc/rancid/Manifest b/net-misc/rancid/Manifest new file mode 100644 index 000000000000..483a8f3c8797 --- /dev/null +++ b/net-misc/rancid/Manifest @@ -0,0 +1,8 @@ +AUX rancid-2.3.8-buildsystem.patch 1741 SHA256 6addb41b560b1cfa74e9aa4c526ea7622f5809310ae749505763e510b5ea0388 SHA512 2ce1befcd4898654958e8a961156a6eda95da319d98ca66c9cb216ab46b80166571146b631a699be5702d5bb7baa8301b570fe82fb89ba8096a941807005f9ab WHIRLPOOL e10781cc3e9bd8dad3d2ec970b3def5893d2411bf2bc0e929d6803292c2b928efbb9d9e0f8fd62a8113219f96b9a59d174eeeab2db06972509978c8332fc4d2b +AUX rancid-2.3.8-config.patch 1241 SHA256 66cb3e28127b2e8336cf315b5004bd6ea1d83a4af803f89fd535b9af450fbcbf SHA512 abad6758dbe89eacf566b5cc931749ed9667ec7f7e824a8091f5a02edfeacb4497b1dfc5444ae41f5652a479791c585e4625b8877e710f460698a8bb2cccce9c WHIRLPOOL 271911b9c89a3fa7aa2d3b078bc832b1eff85343770b4f73352615ab53c1c9b4eb28827dfd17b10b9eba7bcb651c846f39f20f14506ec82dc8a8671a29ea3379 +AUX rancid-2.3.8-mailprefix.patch 5878 SHA256 1703c25a50667c3f979010e883da8a83d540a551922716c0e4de09b3a4bdbbf3 SHA512 c01cdaafd599c8b1559b158ba0999c1e79c40dc4c8f6c0f5aa284225a5903ba967b742cee7d81f2edeb07c6e7e344c1208c018421c023a7f678204c647f3e8bd WHIRLPOOL 9e0d0c22c24386231aa029a0e5e1bf78df56bd75558f8c12aabcee5a2ab75ef25b21569334318351f700eb55cec0ef3d7864f65eb87d12035aebb9e3766c2df5 +DIST rancid-2.3.8.tar.gz 379908 SHA256 44e44c87a22968d5229c01d60aa46960da023a24846eef43f9e3c8d70fd5b3fb SHA512 cd071670e160f2e8268e676ae92b0d982719a2bc306aef3ef8fdbbaae398854178613eee2a139f206e799eba6c0b49dce2094db69ea57ef938e5d0c2c294a3cc WHIRLPOOL 69fbc3eef603888cfafcb5ddd445da68da4d1ca15509b1f8938de09379f9f613063487fd836f18abeffcba7d6b83b5bc2dde74825e7a263b3109dabb36f3d045 +EBUILD rancid-2.3.8.ebuild 3035 SHA256 edcd60202c94eebbb1cb3b841816b0f17f18aca7c1e41839548971c7b23bd95d SHA512 b5d74ea75f21903bf77cbec3fbc81afc3e61ddf41e6c5342967dc21387f398bd8fb5dbd6856d5f557635a8e8997149a1b0e60fa15a3e2e512581dfe86bdbdbbe WHIRLPOOL 21f2a3816b7a58d7e9c39be412b9fbd6506df5e37123f5a6bdf3b29272e92650a768f23553c6bb78b6095d13c3883a8eee861df1bf8afe7cbfb99cbbb9a484e7 +MISC ChangeLog 3074 SHA256 60cea6e28d189ed2a1d04939d5459dae7cc708c9aa7b587f3597e7f6aeca8a33 SHA512 82ce120155b65e0f77346612e2283ee6f6bc1f51cf1baa271bae97ec24bc28605cc946da86ffa438760a1cabc01c74da698dda51f7790c4c36c6c6e2e437c54a WHIRLPOOL 9ae806fbcc01f99aa393f18afc91d152b7c356398eeecd5387c6a1cfe71a78a7d2cc481fb9267c683d635e1427be442f4ae86ce1ae631b55ed0440e2cf93af6e +MISC ChangeLog-2015 1429 SHA256 881838d0d992ab4af106882d7475da00649e34949e1367895c61ea6cae86e105 SHA512 a07cf605add49174481011ea5c9f090da0b645daca051c9d7c262f6b172c86433a557569a8cd6d3e79dad9bcfeaff71c305f77a5a106745a0e89a6131868f705 WHIRLPOOL baa70b4c1035608a29729af1df8af3bf466ff82b9546a877a07c166de26976fcb62a861607043f32e37ac59609a5ab718ad13bc052ffc68a49b40fab808724ac +MISC metadata.xml 239 SHA256 2a0c6a6922ad5c1460d3525cf24e302d4b3435d9c7d619a7c43605d0bbdf70c1 SHA512 be29819db58c3ddb7212a488f9965de11cb5d84223ccae9458e968425296d3ef0f93f20edf7b4ab8a4dda6c166c4104c8b615c82feac5d87b3364a88de591a45 WHIRLPOOL 36f4ad69c7deb9b7aaf9c1125165227d4de9d101a25fd6b38f9ce362245ac9456e96ae039728042cf8741e8ff0e8e0f56d5772ed85de1c4efdbe917b12b465bb 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..d04de4894ede --- /dev/null +++ b/net-misc/rancid/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>xmw@gentoo.org</email> + <name>Michael Weber</name> +</maintainer> +</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..300c3ef0e190 --- /dev/null +++ b/net-misc/rancid/rancid-2.3.8.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools eutils readme.gentoo user + +DESCRIPTION="Really Awesome New Cisco confIg Differ" +HOMEPAGE="http://www.shrubbery.net/rancid/" +SRC_URI="http://http.debian.net/debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV}.orig.tar.gz -> ${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 {} \; +" |