Revision history for Perl script toby. 0.3 - Fixed a bug in testing the ">" rule. 0.4 - Total rework of database code, to solve filename sorting problem. Experimented with DBM databases and other ideas before deciding on just slurping everything into memory. 0.5 - Changed handling of URI::Escape, so that escaping and unescaping doesn't happen so often. 0.6 - changed tree_traverse() from a method to a regular subroutine. 0.7 - better support for Windows; perl doesn't seem to grok the "-l _" construct after an lstat(), so I explicitly name the file path each time. 0.71 - 'mode' format routine now prints octal equiv. Added sample toby.config.solaris file. Don't print the filename again when printing an added entry. 0.72 - made changes to support a "--interactive" option. Also made changes to support Windows and fixed up sample config. Ignore more files under Solaris. Added comments to code. 0.73 Tue Dec 14 18:58:15 1999 - Added Makefile.PL install to simplify installation process. 0.74 Tue Jan 4 21:23:06 PST 2000 - Added documentation to toby Sat Jan 15 01:01:26 PST 2000 - converted to use automake and autoconf - now installs man page from pod - moved database from /var/spool/toby/ to ${datadir}/toby/ Sun Jan 23 00:15:10 PST 2000 - informational messages now go to STDOUT - added new informational messages about moving new database to the proper location - implemented "--config" option, finally. Now, non-root users can use toby to verify their own set of files. - VERSION number is now specified in configure.in - configure now checks for required perl modules 0.75 Tue Feb 8 19:16:26 PST 2000 - Added "--verify" to "--help" output - Removed duplicate listing of /usr/lib from toby.config - Now properly handles zero length symbolic links 0.76 Mon Feb 14 15:38:22 PST 2000 - added config info output to "--version" - don't report "transient file disappeared" if problem is permissions - implemented "--updatedir" - wrote code for a "verbose" --verify mode - modified Makefile.am to not install new toby.config if an old one was detected - fixed --updatedir to handle '/' as argument by stripping off any trailing slash on the arg. - "--version" now checks to make sure no other arguments were specified - added "--updateignore" option to allow specifying which fields can be ignored during and "--updatedir" - added "--debug" to print out more information for files matching a specified regex. - fixed Makefile.am to install toby.config in the right place 0.76c Thu Apr 13 23:50:26 PDT 2000 - corrected a syntax error so that perl-5.6 would run. 0.77 Sat Aug 26 12:44:36 PDT 2000 - changed verify mode to print a synopsis of changed fields, rather than every file's mode and size, similar to RPM's verify mode. 0.80 Sun Aug 27 17:10:21 PDT 2000 - removed /usr/lib/netsvc/yp from default toby.config. It's already covered by /usr/lib. 0.81 Fri Jun 22 01:24:39 PDT 2001 - added changes from Francesc Guasch Ortiz to support the --quiet option. Now, if you place toby in your crontab, it'll only generate output if there are changes. 0.82 Sat Jun 23 02:48:22 PDT 2001 - factored all packages out of toby main file, and into separate module files that are loaded at runtime. 0.83 Fri Jul 13 13:26:26 2001 - started writing separate module to read/write databases. - started work on making only 3 major modes: init, verify, and update 0.9 Mon Oct 29 11:40:39 PST 2001 - Victor Mora provided a patch dealing with newer versions of URI::Escape, which now also escape the '/' character. - patched the --updatedir option to uri_escape its value(s), so that the pattern matching will succeed (since the DB stores all filenames in escaped form). (The escaping of '/' above would present problems, previously.) - made escape list explicit to URI::Escape. Now it only includes control characters, the space character, and characters with the high-bit set. This might cause a few files with weird characters to be flagged as "added and deleted", because the filenames do not exactly match; it should be safe to accept these changes. 0.91 Mon Nov 12 13:50:13 2001 - added --chroot and --prefix options, for use when filesystems are mounted in other than their original location. 0.92 Wed Nov 14 09:32:03 PST 2001 - fixed problem with --updatedir option - fixed problem with --chroot when '/' was used as one of the traversal paths. - noted loss of compatibility with native Perl under Windows. Converted sample to work with Cygwin. - removed --strict option, which was no longer implemented. - corrected --version information to report proper info when overriding options are specified - changed --verify notation of changed file mode from 'm' to 'p', to eliminate the confusion with 'M'. 1.0 Wed Nov 28 20:54:03 PST 2001 - major rewrite of operating modes and supporting code - added another visual cue while comparing entries - converted DB code to keep data as joined strings, rather than array references. This saves a heap of memory at runtime. 1.1 - minor textual cleanup - added support for --updatedir during --interactive mode. - added check for illegal use of --updateignore during --interactive. - added more doc for --updateignore option - fixed broken handling of --updateignore option - added in-place quicksorting of file db, for increased speed and reduced memory usage. - make toby and tricoder executable right after configure. 1.2 - added a Bundle file. - removed optional Artistic license. Now only GPL is valid. - fixed bug where a file of '0' would cause other files in the same directory to be skipped.