On Sat, Nov 19, 2016 at 02:43:22PM +0000, Stuart Henderson wrote: > I think this is OK. pea@, any comments? >
Sorry for the late answer. Diff looks good for me. ok pea@ > > On 2016/11/16 05:20, Pavel Korovin wrote: > > On 11/15, Stuart Henderson wrote: > > > Except for special situations (e.g. what we have in autoconf), an > > > @conflict > > > on the same port doesn't make sense. > > > > > > > +@ask-update rancid-<3v0 Make sure router.db files use new fields > > > > separator before upgrading > > > > > > I think either MESSAGE *or* @ask-update is enough. ask-update is quite > > > > Stuart, thank you for your comments! > > I agree that MESSAGE should be enough. > > > > Please see the updated patch with your suggestions applied and some more > > cleanups, like removal of Looking Glass configs (I don't see any reason > > to keep it while corresponding scripts were removed in the first place), > > relocation of misc example files from ${PREFIX}/share to > > ${PREFIX}/share/examples and commenting out several man pages for which > > corresponding binaries were removed. > > > > -- > > With best regards, > > Pavel Korovin > > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/Makefile,v > > retrieving revision 1.17 > > diff -u -p -r1.17 Makefile > > --- Makefile 15 May 2013 09:49:40 -0000 1.17 > > +++ Makefile 16 Nov 2016 01:58:05 -0000 > > @@ -2,8 +2,9 @@ > > > > COMMENT = Really Awesome New Cisco confIg Differ > > > > -DISTNAME = rancid-2.3.8 > > -REVISION = 0 > > +DISTNAME = rancid-3.5.1 > > +DISTPATCH = 1 > > +PKGNAME = ${DISTNAME}pl${DISTPATCH} > > EPOCH = 0 > > CATEGORIES = sysutils > > > > @@ -19,20 +20,19 @@ WANTLIB = c util > > > > MASTER_SITES = ftp://ftp.shrubbery.net/pub/rancid/ > > > > +PATCHFILES = ${DISTNAME}.p${DISTPATCH}.gz > > + > > RUN_DEPENDS = lang/expect > > BUILD_DEPENDS = ${RUN_DEPENDS} > > > > LOCALSTATEDIR = ${BASELOCALSTATEDIR}/rancid > > > > -AUTOMAKE_VERSION = 1.8 > > -CONFIGURE_STYLE = automake > > +CONFIGURE_STYLE = gnu > > CONFIGURE_ARGS = --prefix=${PREFIX} \ > > --disable-mk-localstatedir > > > > +MAKE_FLAGS = sysconfdir=${BASESYSCONFDIR}/rancid > > +FAKE_FLAGS = sysconfdir=${PREFIX}/share/examples/rancid > > USE_GMAKE = yes > > -USE_GROFF = Yes > > - > > -pre-configure: > > - @cp ${FILESDIR}/fnlogin.in ${WRKSRC}/bin/fnlogin.in > > > > .include <bsd.port.mk> > > Index: distinfo > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/distinfo,v > > retrieving revision 1.6 > > diff -u -p -r1.6 distinfo > > --- distinfo 18 Jan 2015 03:15:14 -0000 1.6 > > +++ distinfo 16 Nov 2016 01:58:05 -0000 > > @@ -1,2 +1,4 @@ > > -SHA256 (rancid-2.3.8.tar.gz) = RORMh6IpaNUinAHWCqRpYNoCOiSEbu9D+ePI1w/Vs/s= > > -SIZE (rancid-2.3.8.tar.gz) = 379908 > > +SHA256 (rancid-3.5.1.p1.gz) = GqbR11OkR4dA3jbeTn8Zmiio1ZZ/iAfShCHJ4yogAPQ= > > +SHA256 (rancid-3.5.1.tar.gz) = 82V5MNbr+FWs2WHJrK3v+wUM2e15gJ+tXbHB917PxxE= > > +SIZE (rancid-3.5.1.p1.gz) = 202 > > +SIZE (rancid-3.5.1.tar.gz) = 501561 > > Index: files/fnlogin.in > > =================================================================== > > RCS file: files/fnlogin.in > > diff -N files/fnlogin.in > > --- files/fnlogin.in 16 Dec 2008 21:07:55 -0000 1.1.1.1 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,544 +0,0 @@ > > -#! @EXPECT_PATH@ -- > > -## > > -## $Id: fnlogin.in,v 1.1.1.1 2008/12/16 21:07:55 pea Exp $ > > -## > > -## rancid 2.3.2a7 > > -## Copyright (C) 1997-2006 by Terrapin Communications, Inc. > > -## All rights reserved. > > -## > > -## This software may be freely copied, modified and redistributed > > -## without fee for non-commerical purposes provided that this license > > -## remains intact and unmodified with any RANCID distribution. > > -## > > -## There is no warranty or other guarantee of fitness of this software. > > -## It is provided solely "as is". The author(s) disclaim(s) all > > -## responsibility and liability with respect to this software's usage > > -## or its effect upon hardware, computer systems, other software, or > > -## anything else. > > -## > > -## Except where noted otherwise, rancid was written by and is maintained by > > -## Henry Kilmer, John Heasley, Andrew Partan, Pete Whiting, and Austin > > Schutz. > > -## > > -# > > -# The login expect scripts were based on Erik Sherk's gwtn, by permission. > > -# Netscreen hacks implemented by Stephen Gill <gil...@yahoo.com>. > > -# > > -# nlogin - netscreen login > > -# > > -# Most options are intuitive for logging into a netscreen firewall. > > -# > > -# Misc notes > > -# netscreen does not have the concept of "enable", once logged in, a > > -# users permissions can not change. > > - > > -# Usage line > > -set usage "Usage: $argv0 \[-c command\] \[-Evar=x\] \[-f cloginrc-file\] \ > > -\[-p user-password\] \ > > -\[-s script-file\] \[-t timeout\] \[-u username\] \ > > -\[-v vty-password\] \[-x command-file\] \ > > -\[-y ssh_cypher_type\] router \[router...\]\n" > > - > > -# env(CLOGIN) may contain: > > -# x == do not set xterm banner or name > > - > > -# Password file > > -set password_file $env(HOME)/.cloginrc > > -# Default is to login to the firewall > > -set do_command 0 > > -set do_script 0 > > -# The default is to look in the password file to find the passwords. This > > -# tracks if we receive them on the command line. > > -set do_passwd 1 > > -set do_enapasswd 1 > > - > > -# Find the user in the ENV, or use the unix userid. > > -if {[ info exists env(CISCO_USER) ]} { > > - set default_user $env(CISCO_USER) > > -} elseif {[ info exists env(USER) ]} { > > - set default_user $env(USER) > > -} elseif {[ info exists env(LOGNAME) ]} { > > - set default_user $env(LOGNAME) > > -} else { > > - # This uses "id" which I think is portable. At least it has existed > > - # (without options) on all machines/OSes I've been on recently - > > - # unlike whoami or id -nu. > > - if [ catch {exec id} reason ] { > > - send_error "\nError: could not exec id: $reason\n" > > - exit 1 > > - } > > - regexp {\(([^)]*)} "$reason" junk default_user > > -} > > -if {[ info exists env(CLOGINRC) ]} { > > - set password_file $env(CLOGINRC) > > -} > > - > > -# Sometimes firewall take awhile to answer (the default is 10 sec) > > -set timeout 45 > > - > > -# Process the command line > > -for {set i 0} {$i < $argc} {incr i} { > > - set arg [lindex $argv $i] > > - > > - switch -glob -- $arg { > > - # Username > > - -u* - > > - -U* { > > - if {! [ regexp .\[uU\](.+) $arg ignore user]} { > > - incr i > > - set username [ lindex $argv $i ] > > - } > > - # VTY Password > > - } -p* - > > - -P* { > > - if {! [ regexp .\[pP\](.+) $arg ignore userpasswd]} { > > - incr i > > - set userpasswd [ lindex $argv $i ] > > - } > > - set do_passwd 0 > > - # Environment variable to pass to -s scripts > > - } -E* > > - { > > - if {[ regexp .\[E\](.+)=(.+) $arg ignore varname varvalue]} { > > - set E$varname $varvalue > > - } else { > > - send_user "\nError: invalid format for -E in $arg\n" > > - exit 1 > > - } > > - # Command to run. > > - } -c* - > > - -C* { > > - if {! [ regexp .\[cC\](.+) $arg ignore command]} { > > - incr i > > - set command [ lindex $argv $i ] > > - } > > - set do_command 1 > > - # Expect script to run. > > - } -s* - > > - -S* { > > - if {! [ regexp .\[sS\](.+) $arg ignore sfile]} { > > - incr i > > - set sfile [ lindex $argv $i ] > > - } > > - if { ! [ file readable $sfile ] } { > > - send_user "\nError: Can't read $sfile\n" > > - exit 1 > > - } > > - set do_script 1 > > - # cypher type > > - } -y* - > > - -Y* { > > - if {! [ regexp .\[eE\](.+) $arg ignore cypher]} { > > - incr i > > - set cypher [ lindex $argv $i ] > > - } > > - # alternate cloginrc file > > - } -f* - > > - -F* { > > - if {! [ regexp .\[fF\](.+) $arg ignore password_file]} { > > - incr i > > - set password_file [ lindex $argv $i ] > > - } > > - } -t* - > > - -T* { > > - incr i > > - set timeout [ lindex $argv $i ] > > - } -x* - > > - -X { > > - if {! [ regexp .\[xX\](.+) $arg ignore cmd_file]} { > > - incr i > > - set cmd_file [ lindex $argv $i ] > > - } > > - if [ catch {set cmd_fd [open $cmd_file r]} reason ] { > > - send_user "\nError: $reason\n" > > - exit 1 > > - } > > - set cmd_text [read $cmd_fd] > > - close $cmd_fd > > - set command [join [split $cmd_text \n] \;] > > - set do_command 1 > > - # Does tacacs automatically enable us? > > - } -autoenable { > > - # ignore autoenable > > - } -* { > > - send_user "\nError: Unknown argument! $arg\n" > > - send_user $usage > > - exit 1 > > - } default { > > - break > > - } > > - } > > -} > > -# Process firewalls...no firewalls listed is an error. > > -if { $i == $argc } { > > - send_user "\nError: $usage" > > -} > > - > > -# Only be quiet if we are running a script (it can log its output > > -# on its own) > > -if { $do_script } { > > - log_user 0 > > -} else { > > - log_user 1 > > -} > > - > > -# > > -# Done configuration/variable setting. Now run with it... > > -# > > - > > -# Sets Xterm title if interactive...if its an xterm and the user cares > > -proc label { host } { > > - global env > > - # if CLOGIN has an 'x' in it, don't set the xterm name/banner > > - if [info exists env(CLOGIN)] { > > - if {[string first "x" $env(CLOGIN)] != -1} { return } > > - } > > - # take host from ENV(TERM) > > - if [info exists env(TERM)] { > > - if [regexp \^(xterm|vs) $env(TERM) ignore ] { > > - send_user "\033]1;[lindex [split $host "."] 0]\a" > > - send_user "\033]2;$host\a" > > - } > > - } > > -} > > - > > -# This is a helper function to make the password file easier to > > -# maintain. Using this the password file has the form: > > -# add password sl* pete cow > > -# add password at* steve > > -# add password * hanky-pie > > -proc add {var args} { global int_$var ; lappend int_$var $args} > > -proc include {args} { > > - global env > > - regsub -all "(^{|}$)" $args {} args > > - if { [ regexp "^/" $args ignore ] == 0 } { > > - set args $env(HOME)/$args > > - } > > - source_password_file $args > > -} > > - > > -proc find {var firewall} { > > - upvar int_$var list > > - if { [info exists list] } { > > - foreach line $list { > > - if { [string match [lindex $line 0] $firewall ] } { > > - return [lrange $line 1 end] > > - } > > - } > > - } > > - return {} > > -} > > - > > -# Loads the password file. Note that as this file is tcl, and that > > -# it is sourced, the user better know what to put in there, as it > > -# could install more than just password info... I will assume however, > > -# that a "bad guy" could just as easy put such code in the clogin > > -# script, so I will leave .cloginrc as just an extention of that script > > -proc source_password_file { password_file } { > > - global env > > - if { ! [file exists $password_file] } { > > - send_user "\nError: password file ($password_file) does not exist\n" > > - exit 1 > > - } > > - file stat $password_file fileinfo > > - if { [expr ($fileinfo(mode) & 007)] != 0000 } { > > - send_user "\nError: $password_file must not be world > > readable/writable\n" > > - exit 1 > > - } > > - if [ catch {source $password_file} reason ] { > > - send_user "\nError: $reason\n" > > - exit 1 > > - } > > -} > > - > > -# Log into the firewall. > > -# returns: 0 on success, 1 on failure > > -proc login { firewall user userpswd passwd enapasswd prompt cmethod > > -cyphertype } { > > - global spawn_id in_proc do_command do_script sshcmd > > - set in_proc 1 > > - set uprompt_seen 0 > > - > > - # Telnet to the firewall & try to login. > > - set progs [llength $cmethod] > > - foreach prog [lrange $cmethod 0 end] { > > - incr progs -1 > > - if [string match "telnet*" $prog] { > > - regexp {telnet(:([^[:space:]]+))*} $prog command suffix port > > - if {"$port" == ""} { > > - set retval [ catch {spawn telnet $firewall} reason ] > > - } else { > > - set retval [ catch {spawn telnet $firewall $port} reason ] > > - } > > - if { $retval } { > > - send_user "\nError: telnet failed: $reason\n" > > - return 1 > > - } > > - } elseif ![string compare $prog "ssh"] { > > - if [ catch {spawn $sshcmd -c $cyphertype -x -l $user $firewall} > > reason ] { > > - send_user "\nError: $sshcmd failed: $reason\n" > > - return 1 > > - } > > - } elseif ![string compare $prog "rsh"] { > > - send_error "\nError: unsupported method: rsh\n" > > - if { $progs == 0 } { > > - return 1 > > - } > > - continue; > > - } else { > > - send_user "\nError: unknown connection method: $prog\n" > > - return 1 > > - } > > - > > - sleep 0.3 > > - > > - # This helps cleanup each expect clause. > > - expect_after { > > - timeout { > > - send_user "\nError: TIMEOUT reached\n" > > - catch {close}; wait > > - if { $in_proc} { > > - return 1 > > - } else { > > - continue > > - } > > - } eof { > > - send_user "\nError: EOF received\n" > > - catch {close}; wait > > - if { $in_proc} { > > - return 1 > > - } else { > > - continue > > - } > > - } > > - } > > - > > - # Here we get a little tricky. There are several possibilities: > > - # the firewall can ask for a username and passwd and then > > - # talk to the TACACS server to authenticate you, or if the > > - # TACACS server is not working, then it will use the enable > > - # passwd. Or, the firewall might not have TACACS turned on, > > - # then it will just send the passwd. > > - # if telnet fails with connection refused, try ssh > > - expect { > > - "Connection refused" { > > - send_user "\nError: Connection Refused\n"; wait; return 1 > > - } eof { send_user "\nError: Couldn't login\n"; wait; return 1 > > - } "Unknown host\r\n" { > > - expect eof > > - send_user "\nError: Unknown host\n"; wait; return 1 > > - } "Host is unreachable" { > > - expect eof > > - send_user "\nError: Host Unreachable!\n"; wait; return 1 > > - } "No address associated with name" { > > - expect eof > > - send_user "\nError: Unknown host\n"; wait; return 1 > > - } > > - -re "Are you sure you want to continue connecting .*" { > > - send "yes\r" > > - send_user "Host $firewall added to the list of known hosts.\n" > > - exp_continue } > > - -re "Host key not found .* \(yes\/no\)\?" { > > - send "yes\r" > > - send_user "Host $firewall added to the list of known hosts.\n" > > - exp_continue } > > - -re "HOST IDENTIFICATION HAS CHANGED.* \(yes\/no\)\?" { > > - send "no\r" > > - send_user "\nError: The host key for $firewall has changed. > > Update the SSH known_hosts file accordingly.\n" > > - return 1 } > > - -re "Offending key for .* \(yes\/no\)\?" { > > - send "no\r" > > - send_user "\nError: host key mismatch for $firewall. Update the > > SSH known_hosts file accordingly.\n" > > - return 1 } > > - denied { send_user "\nError: Check your passwd for $firewall\n" > > - catch {close}; wait; return 1 > > - } > > - " ### Login failed" {send_user "\nError: Check your passwd for > > $firewall\n"; return 1 } > > - -re "(login:)" { > > - sleep 1; > > - send "$user\r" > > - set uprompt_seen 1 > > - exp_continue > > - } > > - -re "@\[^\r\n]+\[Pp]assword:" { > > - # ssh pwd prompt > > - sleep 1 > > - send "$userpswd\r" > > - exp_continue > > - } > > - "\[Pp]assword:" { > > - sleep 1; > > - if {$uprompt_seen == 1} { > > - send "$userpswd\r" > > - } else { > > - send "$passwd\r" > > - } > > - exp_continue > > - } > > - -- "$prompt" { break; } > > - } > > - } > > - set in_proc 0 > > - return 0 > > -} > > - > > -# Run commands given on the command line. > > -proc run_commands { prompt command } { > > - global in_proc > > - set in_proc 1 > > - > > - # Disable output paging. > > -# send "config system console\r" > > -# send "set output standard\r" > > -# send "end\r" > > -# expect -re $prompt {} > > - > > - # Is this a multi-command? > > - if [ string match "*\;*" "$command" ] { > > - set commands [split $command \;] > > - set num_commands [llength $commands] > > - > > - for {set i 0} {$i < $num_commands} { incr i} { > > - send "[subst [lindex $commands $i]]\r" > > - expect { > > - -re "\[\n\r]+" { exp_continue } > > - -re "$prompt" {} > > - -gl "--More-- " { send " " > > - exp_continue > > - } > > - } > > - } > > - } else { > > - send "[subst $command]\r" > > - expect { > > - -re "\[\n\r]+" { exp_continue } > > - -re "$prompt" {} > > - -gl "--More-- " { send " " > > - exp_continue > > - } > > - } > > - } > > -# send "config system console\r" > > -# send "set output more\r" > > -# send "end\r" > > -# expect -re $prompt {} > > - send "exit\r" > > - expect { > > - -re "$prompt" { > > - #send "exit\r" > > - exp_continue > > - } > > - -re "\[\n\r]+" { exp_continue } > > - -gl "Configuration modified, save?" { > > - send "n\r" > > - exp_continue > > - } > > - timeout { catch {close}; wait > > - return 0 > > - } > > - eof { return 0 } > > - } > > - set in_proc 0d > > -} > > - > > -# > > -# For each firewall... (this is main loop) > > -# > > -source_password_file $password_file > > -set in_proc 0 > > -foreach firewall [lrange $argv $i end] { > > - set firewall [string tolower $firewall] > > - send_user "$firewall\n" > > - > > - # FortiOS 2.x prompts can end in either '#' or '$' > > - set prompt "\[#\\$] $" > > - > > - # Figure out passwords > > - if { $do_passwd || $do_enapasswd } { > > - set pswd [find password $firewall] > > - if { [llength $pswd] == 0 } { > > - send_user "\nError: no password for $firewall in $password_file.\n" > > - continue > > - } > > - set passwd [join [lindex $pswd 0] ""] > > - set enapasswd [join [lindex $pswd 1] ""] > > - } else { > > - set passwd $userpasswd > > - set enapasswd $enapasswd > > - } > > - > > - # Figure out username > > - if {[info exists username]} { > > - # command line username > > - set ruser $username > > - } else { > > - set ruser [join [find user $firewall] ""] > > - if { "$ruser" == "" } { set ruser $default_user } > > - } > > - > > - # Figure out username's password (if different from the vty password) > > - if {[info exists userpasswd]} { > > - # command line username > > - set userpswd $userpasswd > > - } else { > > - set userpswd [join [find userpassword $firewall] ""] > > - if { "$userpswd" == "" } { set userpswd $passwd } > > - } > > - > > - > > - # Figure out cypher type > > - if {[info exists cypher]} { > > - # command line cypher type > > - set cyphertype $cypher > > - } else { > > - set cyphertype [find cyphertype $firewall] > > - if { "$cyphertype" == "" } { set cyphertype "3des" } > > - } > > - > > - # Figure out connection method > > - set cmethod [find method $firewall] > > - if { "$cmethod" == "" } { set cmethod {{telnet} {ssh}} } > > - > > - # Figure out the SSH executable name > > - set sshcmd [find sshcmd $firewall] > > - if { "$sshcmd" == "" } { set sshcmd {ssh} } > > - > > - # Login to the firewall > > - if {[login $firewall $ruser $userpswd $passwd $enapasswd $prompt > > $cmethod $cyphertype]} { > > - continue > > - } > > - > > - # we are logged in, now figure out the full prompt > > - send "\r" > > - expect { > > - -re "\[\r\n]+" { exp_continue; } > > - -re "^(.+$prompt)" { set junk $expect_out(0,string); } > > - if {[$junk = "(^\\$ $)"]} { > > - set prompt $junk; > > - } else { > > - if {[$junk = "(^# $)"]} { set prompt $junk ; } > > - } > > - } > > - > > - if { $do_command } { > > - if {[run_commands $prompt $command]} { > > - continue > > - } > > - } elseif { $do_script } { > > - # Disable output paging. > > -# send "config system console\r" > > -# send "set output standard\r" > > -# send "end\r" > > -# expect -re $prompt {} > > - source $sfile > > - close > > - } else { > > - label $firewall > > - log_user 1 > > - interact > > - } > > - > > - # End of for each firewall > > - wait > > - sleep 0.3 > > -} > > -exit 0 > > Index: patches/patch-Makefile_in > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/patches/patch-Makefile_in,v > > retrieving revision 1.4 > > diff -u -p -r1.4 patch-Makefile_in > > --- patches/patch-Makefile_in 8 Jun 2012 13:59:08 -0000 1.4 > > +++ patches/patch-Makefile_in 16 Nov 2016 01:58:05 -0000 > > @@ -1,21 +1,21 @@ > > -$OpenBSD: patch-Makefile_in,v 1.4 2012/06/08 13:59:08 pea Exp $ > > ---- Makefile.in.orig Thu Nov 17 22:10:12 2011 > > -+++ Makefile.in Tue May 29 13:19:25 2012 > > -@@ -16,7 +16,7 @@ > > - @SET_MAKE@ > > - > > - VPATH = @srcdir@ > > +$OpenBSD$ > > +--- Makefile.in.orig Tue Sep 6 17:12:39 2016 > > ++++ Makefile.in Wed Nov 16 02:34:44 2016 > > +@@ -70,7 +70,7 @@ am__make_running_with_option = \ > > + test $$has_opt = yes > > + am__make_dryrun = (target_option=n; $(am__make_running_with_option)) > > + am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) > > -pkgdatadir = $(datadir)/@PACKAGE@ > > +pkgdatadir = $(datadir)/doc/@PACKAGE@ > > pkgincludedir = $(includedir)/@PACKAGE@ > > pkglibdir = $(libdir)/@PACKAGE@ > > pkglibexecdir = $(libexecdir)/@PACKAGE@ > > -@@ -242,7 +242,7 @@ top_build_prefix = @top_build_prefix@ > > +@@ -351,7 +351,7 @@ top_build_prefix = @top_build_prefix@ > > top_builddir = @top_builddir@ > > top_srcdir = @top_srcdir@ > > AUTOMAKE_OPTIONS = foreign no-dependencies > > -pkgdata_DATA = COPYING CHANGES FAQ README README.lg UPGRADING > > cloginrc.sample > > -+pkgdata_DATA = COPYING CHANGES FAQ README README.lg UPGRADING > > - EXTRA_DIST = BUGS Todo configure install-sh \ > > ++pkgdata_DATA = COPYING CHANGES FAQ README UPGRADING > > + EXTRA_DIST = BUGS Todo configure configure.vers install-sh \ > > mkinstalldirs Makefile.in Todo $(pkgdata_DATA) > > > > Index: patches/patch-bin_Makefile_in > > =================================================================== > > RCS file: patches/patch-bin_Makefile_in > > diff -N patches/patch-bin_Makefile_in > > --- patches/patch-bin_Makefile_in 8 Jun 2012 13:59:08 -0000 1.5 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,12 +0,0 @@ > > -$OpenBSD: patch-bin_Makefile_in,v 1.5 2012/06/08 13:59:08 pea Exp $ > > ---- bin/Makefile.in.orig Thu Nov 17 22:10:11 2011 > > -+++ bin/Makefile.in Tue May 29 13:19:25 2012 > > -@@ -363,6 +363,8 @@ f10rancid: $(top_builddir)/config.status $(srcdir)/f10 > > - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ > > - flogin: $(top_builddir)/config.status $(srcdir)/flogin.in > > - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ > > -+fnlogin: $(top_builddir)/config.status $(srcdir)/fnlogin.in > > -+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ > > - francid: $(top_builddir)/config.status $(srcdir)/francid.in > > - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ > > - fnlogin: $(top_builddir)/config.status $(srcdir)/fnlogin.in > > Index: patches/patch-bin_fnrancid_in > > =================================================================== > > RCS file: patches/patch-bin_fnrancid_in > > diff -N patches/patch-bin_fnrancid_in > > --- patches/patch-bin_fnrancid_in 8 Jun 2012 13:59:08 -0000 1.5 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,27 +0,0 @@ > > -$OpenBSD: patch-bin_fnrancid_in,v 1.5 2012/06/08 13:59:08 pea Exp $ > > ---- bin/fnrancid.in.orig Wed Mar 9 18:19:15 2011 > > -+++ bin/fnrancid.in Tue May 29 13:19:25 2012 > > -@@ -172,6 +172,7 @@ sub GetSystem { > > - > > - while (<INPUT>) { > > - tr/\015//d; > > -+ s/exit//gi ; > > - next if /^\s*$/; > > - last if (/$prompt/); > > - > > -@@ -215,6 +216,15 @@ sub GetConf { > > - next; > > - } > > - ProcessHistory("","","","$_"); > > -+ if (length($host) == 0) { > > -+ if ( $file) { > > -+ print(STDERR "Too few arguments: file name required\n"); > > -+ exit(1); > > -+ } else { > > -+ print(STDERR "Too few arguments: host name required\n"); > > -+ exit(1); > > -+ } > > -+ } > > - } > > - $found_end = 1; > > - return(1); > > Index: patches/patch-configure > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/patches/patch-configure,v > > retrieving revision 1.6 > > diff -u -p -r1.6 patch-configure > > --- patches/patch-configure 18 May 2015 10:12:33 -0000 1.6 > > +++ patches/patch-configure 16 Nov 2016 01:58:05 -0000 > > @@ -1,7 +1,7 @@ > > -$OpenBSD: patch-configure,v 1.6 2015/05/18 10:12:33 espie Exp $ > > ---- configure.orig Thu Nov 17 22:10:12 2011 > > -+++ configure Mon May 18 12:09:18 2015 > > -@@ -5461,7 +5461,7 @@ fi > > +$OpenBSD$ > > +--- configure.orig Tue Nov 8 10:16:39 2016 > > ++++ configure Tue Nov 8 10:17:17 2016 > > +@@ -5471,7 +5471,7 @@ fi > > # ping seems to take one of two formats for count (N) > > # BSD: ping -c N host > > # SVR: ping host N > > @@ -10,28 +10,3 @@ $OpenBSD: patch-configure,v 1.6 2015/05/ > > if test $? -eq 0 ; then > > LG_PING_CMD="$PING_PATH -c 1" > > else > > -@@ -6068,7 +6068,7 @@ ac_config_files="$ac_config_files bin/nslogin > > bin/nsra > > - > > - ac_config_files="$ac_config_files bin/nxrancid" > > - > > --ac_config_files="$ac_config_files bin/prancid" > > -+ac_config_files="$ac_config_files bin/prancid bin/fnlogin" > > - > > - ac_config_files="$ac_config_files bin/rivlogin bin/rivrancid" > > - > > -@@ -6854,6 +6854,7 @@ do > > - "bin/mtrancid") CONFIG_FILES="$CONFIG_FILES bin/mtrancid" ;; > > - "bin/mtlogin") CONFIG_FILES="$CONFIG_FILES bin/mtlogin" ;; > > - "bin/nlogin") CONFIG_FILES="$CONFIG_FILES bin/nlogin" ;; > > -+ "bin/fnlogin") CONFIG_FILES="$CONFIG_FILES bin/fnlogin" ;; > > - "bin/nrancid") CONFIG_FILES="$CONFIG_FILES bin/nrancid" ;; > > - "bin/nslogin") CONFIG_FILES="$CONFIG_FILES bin/nslogin" ;; > > - "bin/nsrancid") CONFIG_FILES="$CONFIG_FILES bin/nsrancid" ;; > > -@@ -7586,6 +7587,7 @@ $as_echo X"$file" | > > - "bin/mtrancid":F) chmod a+x $ac_file ;; > > - "bin/mtlogin":F) chmod a+x $ac_file ;; > > - "bin/nlogin":F) chmod a+x $ac_file ;; > > -+ "bin/fnlogin":F) chmod a+x $ac_file ;; > > - "bin/nrancid":F) chmod a+x $ac_file ;; > > - "bin/nslogin":F) chmod a+x $ac_file ;; > > - "bin/nsrancid":F) chmod a+x $ac_file ;; > > Index: patches/patch-etc_Makefile_in > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/patches/patch-etc_Makefile_in,v > > retrieving revision 1.4 > > diff -u -p -r1.4 patch-etc_Makefile_in > > --- patches/patch-etc_Makefile_in 8 Jun 2012 13:59:08 -0000 1.4 > > +++ patches/patch-etc_Makefile_in 16 Nov 2016 01:58:05 -0000 > > @@ -1,16 +1,16 @@ > > -$OpenBSD: patch-etc_Makefile_in,v 1.4 2012/06/08 13:59:08 pea Exp $ > > ---- etc/Makefile.in.orig Thu Nov 17 22:10:11 2011 > > -+++ etc/Makefile.in Tue May 29 13:19:25 2012 > > -@@ -22,7 +22,7 @@ > > - # permission and modified beyond recognition. > > - > > - VPATH = @srcdir@ > > +$OpenBSD$ > > +--- etc/Makefile.in.orig Tue Sep 6 17:12:39 2016 > > ++++ etc/Makefile.in Wed Nov 16 03:51:28 2016 > > +@@ -70,7 +70,7 @@ am__make_running_with_option = \ > > + test $$has_opt = yes > > + am__make_dryrun = (target_option=n; $(am__make_running_with_option)) > > + am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) > > -pkgdatadir = $(datadir)/@PACKAGE@ > > +pkgdatadir = $(datadir)/examples/@PACKAGE@ > > pkgincludedir = $(includedir)/@PACKAGE@ > > pkglibdir = $(libdir)/@PACKAGE@ > > pkglibexecdir = $(libexecdir)/@PACKAGE@ > > -@@ -423,26 +423,10 @@ uninstall-am: uninstall-pkgdataDATA > > +@@ -534,30 +534,10 @@ uninstall-am: uninstall-pkgdataDATA > > uninstall-sysconfD > > > > > > install-data-local: all > > @@ -24,6 +24,9 @@ $OpenBSD: patch-etc_Makefile_in,v 1.4 20 > > - else \ > > - $(INSTALL_DATA) rancid.conf.sample > > $(DESTDIR)$(sysconfdir)/rancid.conf; \ > > - fi; \ > > +- if test ! -f $(DESTDIR)$(sysconfdir)/rancid.types.conf ; then \ > > +- $(INSTALL_DATA) rancid.types.conf > > $(DESTDIR)$(sysconfdir)/rancid.types.conf; \ > > +- fi; \ > > - if test -f $(DESTDIR)$(sysconfdir)/lg.conf ; then \ > > - echo ""; \ > > - echo "WARNING: *** $(DESTDIR)$(sysconfdir)/lg.conf exists. See "; \ > > @@ -33,11 +36,12 @@ $OpenBSD: patch-etc_Makefile_in,v 1.4 20 > > - else \ > > - $(INSTALL_DATA) lg.conf.sample $(DESTDIR)$(sysconfdir)/lg.conf; \ > > - fi; \ > > -- fi > > +- fi; \ > > +- $(INSTALL_DATA) rancid.types.base > > $(DESTDIR)$(sysconfdir)/rancid.types.base > > + test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)" > > + $(INSTALL_DATA) ../cloginrc.sample > > $(DESTDIR)$(pkgdatadir)/cloginrc.sample; \ > > -+ $(INSTALL_DATA) rancid.conf.sample $(DESTDIR)$(pkgdatadir)/rancid.conf; > > \ > > -+ $(INSTALL_DATA) lg.conf.sample $(DESTDIR)$(pkgdatadir)/lg.conf; \ > > ++ $(INSTALL_DATA) rancid.conf.sample > > $(DESTDIR)$(pkgdatadir)/rancid.conf.sample; \ > > ++ $(INSTALL_DATA) rancid.types.base > > $(DESTDIR)$(pkgdatadir)/rancid.types.base > > > > lg.conf.sample: Makefile $(srcdir)/lg.conf.sample.in > > rm -f lg.conf.sample lg.conf.sample.tmp; \ > > Index: patches/patch-etc_rancid_conf_sample_in > > =================================================================== > > RCS file: patches/patch-etc_rancid_conf_sample_in > > diff -N patches/patch-etc_rancid_conf_sample_in > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ patches/patch-etc_rancid_conf_sample_in 16 Nov 2016 01:58:05 -0000 > > @@ -0,0 +1,12 @@ > > +$OpenBSD$ > > +--- etc/rancid.conf.sample.in.orig Tue Nov 8 10:22:04 2016 > > ++++ etc/rancid.conf.sample.in Tue Nov 8 10:22:57 2016 > > +@@ -32,7 +32,7 @@ TMPDIR=/tmp; export TMPDIR > > + # Be careful changing this, it affects CVSROOT below. It should be a > > FQPN, not > > + # relative. > > + BASEDIR=@localstatedir@; export BASEDIR > > +-PATH=@bindir@:@ENV_PATH@; export PATH > > ++PATH=/usr/bin:/bin:@prefix@/bin; export PATH > > + # > > + # Set to the name of the sendmail executable (or script) that will accept > > the > > + # -t option to take its rcpt and other headers from std-in and $MAILOPTS > > (see > > Index: patches/patch-share_Makefile_in > > =================================================================== > > RCS file: patches/patch-share_Makefile_in > > diff -N patches/patch-share_Makefile_in > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ patches/patch-share_Makefile_in 16 Nov 2016 01:58:05 -0000 > > @@ -0,0 +1,22 @@ > > +$OpenBSD$ > > +--- share/Makefile.in.orig Tue Sep 6 17:12:39 2016 > > ++++ share/Makefile.in Wed Nov 16 04:10:43 2016 > > +@@ -71,7 +71,7 @@ am__make_running_with_option = \ > > + test $$has_opt = yes > > + am__make_dryrun = (target_option=n; $(am__make_running_with_option)) > > + am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) > > +-pkgdatadir = $(datadir)/@PACKAGE@ > > ++pkgdatadir = $(datadir)/examples/@PACKAGE@ > > + pkgincludedir = $(includedir)/@PACKAGE@ > > + pkglibdir = $(libdir)/@PACKAGE@ > > + pkglibexecdir = $(libexecdir)/@PACKAGE@ > > +@@ -276,8 +276,7 @@ top_srcdir = @top_srcdir@ > > + AUTOMAKE_OPTIONS = foreign > > + 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 = README.misc cisco-load.exp cisco-reload.exp > > + > > + EXTRA_DIST = rancid-cvspurge.in rancid.spec rtrfilter.in downreport.in > > + CLEANFILES = rancid-cvspurge downreport > > Index: pkg/DESCR > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/pkg/DESCR,v > > retrieving revision 1.1.1.1 > > diff -u -p -r1.1.1.1 DESCR > > --- pkg/DESCR 16 Dec 2008 21:07:55 -0000 1.1.1.1 > > +++ pkg/DESCR 16 Nov 2016 01:58:05 -0000 > > @@ -1,12 +1,12 @@ > > RANCID monitors a router's (or more generally a device's) > > configuration, including software and hardware (cards, serial numbers, > > -etc) and uses CVS (Concurrent Version System) to maintain history of > > +etc) and uses CVS (Concurrent Version System) to maintain history of > > changes. > > > > RANCID does this by the very simple process summarized here: > > - * login to each device in the router table (router.db) > > - * run various commands to get the information that will be saved > > - * cook the output; re-format, remove oscillating or incrementing data > > + * login to each device in the router table (router.db) > > + * run various commands to get the information that will be saved > > + * cook the output; re-format, remove oscillating or incrementing data > > * email any differences (sample) from the previous collection to a > > - mail list > > + mail list > > * and finally commit those changes to the revision control system > > Index: pkg/MESSAGE > > =================================================================== > > RCS file: pkg/MESSAGE > > diff -N pkg/MESSAGE > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ pkg/MESSAGE 16 Nov 2016 01:58:05 -0000 > > @@ -0,0 +1,7 @@ > > +If you are upgrading from rancid-<3, please note that router.db field > > +separator has been changed from ':' to ';' to avoid conflict with IPv6 > > +addresses. Replace the field separator in router.db files before running > > +rancid. > > + > > +The configuration files location is changed from ${SYSCONFDIR} to > > +${SYSCONFDIR}/rancid. > > Index: pkg/PLIST > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/pkg/PLIST,v > > retrieving revision 1.7 > > diff -u -p -r1.7 PLIST > > --- pkg/PLIST 8 Jun 2012 13:59:08 -0000 1.7 > > +++ pkg/PLIST 16 Nov 2016 01:58:05 -0000 > > @@ -2,18 +2,22 @@ > > @conflict par-* > > @newgroup _rancid:613 > > @newuser _rancid:613:_rancid:daemon:Rancid user:/var/rancid:/bin/sh > > +bin/a10login > > bin/agmrancid > > bin/alogin > > +bin/anlogin > > bin/arancid > > -bin/arrancid > > bin/avologin > > bin/avorancid > > bin/blogin > > bin/brancid > > +bin/brlogin > > bin/cat5rancid > > bin/clogin > > +bin/complogin > > bin/control_rancid > > bin/cssrancid > > +bin/dllogin > > bin/elogin > > bin/erancid > > bin/f10rancid > > @@ -21,7 +25,6 @@ bin/f5rancid > > bin/flogin > > bin/fnlogin > > bin/fnrancid > > -bin/francid > > bin/hlogin > > @bin bin/hpuifilter > > bin/hrancid > > @@ -29,48 +32,74 @@ bin/htlogin > > bin/htrancid > > bin/jerancid > > bin/jlogin > > -bin/jrancid > > @comment bin/lg.cgi > > @comment bin/lgform.cgi > > bin/mrancid > > bin/mrvlogin > > -bin/mrvrancid > > bin/mtlogin > > bin/mtrancid > > bin/nlogin > > bin/nrancid > > bin/nslogin > > bin/nsrancid > > -bin/nxrancid > > -bin/par > > -bin/prancid > > +bin/panlogin > > +@bin bin/par > > +bin/plogin > > bin/rancid > > bin/rancid-cvs > > bin/rancid-fe > > bin/rancid-run > > +bin/rblogin > > bin/rivlogin > > bin/rivrancid > > bin/rrancid > > +bin/rtftpcopy > > bin/srancid > > bin/tlogin > > -bin/tntlogin > > -bin/tntrancid > > bin/trancid > > -bin/xrancid > > -bin/xrrancid > > +bin/ulogin > > +bin/wlogin > > +bin/xilogin > > +bin/xirancid > > +bin/xlogin > > bin/zrancid > > +lib/rancid/ > > +lib/rancid/acos.pm > > +lib/rancid/aeos.pm > > +lib/rancid/arbor.pm > > +lib/rancid/bigip.pm > > +lib/rancid/ciscowlc.pm > > +lib/rancid/dell.pm > > +lib/rancid/edgemax.pm > > +lib/rancid/edgerouter.pm > > +lib/rancid/eos.pm > > +lib/rancid/exos.pm > > +lib/rancid/foundry.pm > > +lib/rancid/ios.pm > > +lib/rancid/iosxr.pm > > +lib/rancid/junos.pm > > +lib/rancid/mrv.pm > > +lib/rancid/nxos.pm > > +lib/rancid/panos.pm > > +lib/rancid/rancid.pm > > +lib/rancid/rbt.pm > > +lib/rancid/wavesvros.pm > > @man man/man1/agmrancid.1 > > @man man/man1/alogin.1 > > +@man man/man1/anlogin.1 > > +@man man/man1/anrancid.1 > > @man man/man1/arancid.1 > > -@man man/man1/arrancid.1 > > +@comment man/man1/arrancid.1 > > @man man/man1/avologin.1 > > @man man/man1/avorancid.1 > > @man man/man1/blogin.1 > > @man man/man1/brancid.1 > > @man man/man1/cat5rancid.1 > > @man man/man1/clogin.1 > > +@man man/man1/complogin.1 > > @man man/man1/control_rancid.1 > > @man man/man1/cssrancid.1 > > +@man man/man1/dllogin.1 > > @man man/man1/elogin.1 > > @man man/man1/erancid.1 > > @man man/man1/f10rancid.1 > > @@ -78,27 +107,26 @@ bin/zrancid > > @man man/man1/flogin.1 > > @man man/man1/fnlogin.1 > > @man man/man1/fnrancid.1 > > -@man man/man1/francid.1 > > @man man/man1/hlogin.1 > > @man man/man1/hrancid.1 > > @man man/man1/htlogin.1 > > @man man/man1/htrancid.1 > > @man man/man1/jerancid.1 > > @man man/man1/jlogin.1 > > -@man man/man1/jrancid.1 > > -@man man/man1/lg_intro.1 > > +@comment man/man1/lg_intro.1 > > @man man/man1/mrancid.1 > > @man man/man1/mrvlogin.1 > > -@man man/man1/mrvrancid.1 > > @man man/man1/mtlogin.1 > > @man man/man1/mtrancid.1 > > @man man/man1/nlogin.1 > > @man man/man1/nrancid.1 > > @man man/man1/nslogin.1 > > @man man/man1/nsrancid.1 > > -@man man/man1/nxrancid.1 > > +@comment man/man1/nxrancid.1 > > +@man man/man1/panlogin.1 > > @man man/man1/par.1 > > -@man man/man1/prancid.1 > > +@man man/man1/plogin.1 > > +@comment man/man1/prancid.1 > > @man man/man1/rancid-cvs.1 > > @man man/man1/rancid-run.1 > > @man man/man1/rancid.1 > > @@ -108,15 +136,19 @@ bin/zrancid > > @man man/man1/rrancid.1 > > @man man/man1/srancid.1 > > @man man/man1/tlogin.1 > > -@man man/man1/tntlogin.1 > > -@man man/man1/tntrancid.1 > > @man man/man1/trancid.1 > > -@man man/man1/xrancid.1 > > -@man man/man1/xrrancid.1 > > +@man man/man1/ulogin.1 > > +@man man/man1/wlogin.1 > > +@man man/man1/xilogin.1 > > +@man man/man1/xirancid.1 > > +@man man/man1/xlogin.1 > > @man man/man1/zrancid.1 > > +@man man/man3/rancid.3 > > @man man/man5/cloginrc.5 > > -@man man/man5/lg.conf.5 > > +@comment man/man5/lg.conf.5 > > @man man/man5/rancid.conf.5 > > +@comment @man man/man5/rancid.types.base.5 > > +@man man/man5/rancid.types.conf.5 > > @man man/man5/router.db.5 > > share/doc/pkg-readmes/${FULLPKGNAME} > > share/doc/rancid/ > > @@ -124,25 +156,22 @@ share/doc/rancid/CHANGES > > share/doc/rancid/COPYING > > share/doc/rancid/FAQ > > share/doc/rancid/README > > -share/doc/rancid/README.lg > > share/doc/rancid/UPGRADING > > share/examples/rancid/ > > +@sample ${SYSCONFDIR}/rancid/ > > +share/examples/rancid/README.misc > > +share/examples/rancid/cisco-load.exp > > +share/examples/rancid/cisco-reload.exp > > share/examples/rancid/cloginrc.sample > > -share/examples/rancid/lg.conf > > -share/examples/rancid/lg.conf.sample > > -share/examples/rancid/rancid.conf > > -@sample ${SYSCONFDIR}/rancid.conf > > +share/examples/rancid/downreport > > +share/examples/rancid/getipacctg > > +@comment share/examples/rancid/lg.conf.sample > > +share/examples/rancid/rancid-cvspurge > > share/examples/rancid/rancid.conf.sample > > -share/rancid/ > > -share/rancid/README.misc > > -share/rancid/cisco-load.exp > > -share/rancid/cisco-reload.exp > > -share/rancid/downreport > > -share/rancid/getipacctg > > -share/rancid/index.html > > -share/rancid/lgnotes.html > > -share/rancid/rancid-cvspurge > > -share/rancid/rtrfilter > > +@sample ${SYSCONFDIR}/rancid/rancid.conf > > +share/examples/rancid/rancid.types.base > > +@sample ${SYSCONFDIR}/rancid/rancid.types.base > > +share/examples/rancid/rtrfilter > > @mode 755 > > @owner _rancid > > @group _rancid > > Index: pkg/README > > =================================================================== > > RCS file: /cvs/ports/sysutils/rancid/pkg/README,v > > retrieving revision 1.2 > > diff -u -p -r1.2 README > > --- pkg/README 2 Jun 2011 13:41:41 -0000 1.2 > > +++ pkg/README 16 Nov 2016 01:58:05 -0000 > > @@ -4,19 +4,19 @@ $OpenBSD: README,v 1.2 2011/06/02 13:41: > > | Running ${FULLPKGNAME} on OpenBSD > > +----------------------------------------------------------------------- > > > > -On OpenBSD, RANCID lives and works in /var/rancid, with user id _rancid. > > +On OpenBSD, RANCID lives and works in ${LOCALSTATEDIR}, with user id > > _rancid. > > > > Quick Installation Guide (an example): > > > > -1) Modify ${SYSCONFDIR}/rancid.conf. The variable LIST_OF_GROUPS is a > > space > > - delimited list of router "groups". > > +1) Modify ${SYSCONFDIR}/rancid/rancid.conf. The variable LIST_OF_GROUPS is > > + a space delimited list of router "groups". > > e.g.: > > LIST_OF_GROUPS="backbone aggregation switches" > > > > -2) Create /var/rancid/.cloginrc, with read/write permissions only for > > +2) Create ${LOCALSTATEDIR}/.cloginrc, with read/write permissions only for > > the _rancid user, e.g. 0600 or 0640. > > > > - Review ${TRUEPREFIX}/share/examples/rancid/cloginrc.sample for examples > > + Review ${TRUEPREFIX}/share/examples/rancid/cloginrc.sample for examples > > and a good starting point. See also cloginrc(5). > > > > Test to make sure that you can login to every router. > > @@ -35,7 +35,7 @@ Quick Installation Guide (an example): > > do it. See also rancid-cvs(1). > > > > 5) For each "group", modify the router.db file in the group directory. > > - The file is of the form "router:mfg:state", where "router" is > > + The file is of the form "router;mfg;state", where "router" is > > the name (we use FQDN) of the router, mfg is the manufacturer from > > the set of (cat5|cisco|juniper), and "state" is either up or down. > > Each router listed as "up" will have the configuration grabbed. > > @@ -44,16 +44,16 @@ Quick Installation Guide (an example): > > > > 6) For first-time users or new installations, run `rancid-run' (with no > > arguments) as the user _rancid and check the resulting log file(s) > > - (in /var/rancid/logs/*) for errors. Repeat until there are no > > + (in ${LOCALSTATEDIR}/logs/*) for errors. Repeat until there are no > > errors. > > > > 7) Put `rancid-run' in _rancid's crontab to be called however often you > > want it to run for each group (rancid-run [<GROUP>]). If you run it > > less often than once/hour, check the setting of OLDTIME in > > - ${SYSCONFDIR}/rancid.conf. > > + ${SYSCONFDIR}/rancid/rancid.conf. > > > > Example: > > # run config differ hourly > > 1 * * * * ${TRUEPREFIX}/bin/rancid-run > > # clean out config differ logs > > - 50 23 * * * /usr/bin/find /var/rancid/logs -type f -mtime +2 -exec rm > > {} \; > > + 50 23 * * * /usr/bin/find ${LOCALSTATEDIR}/logs -type f -mtime +2 -exec > > rm {} \; > >