~rgrjr/rgrjr-scripts

Fix some database backup dump issues

* Backup/DumpSet.pm:
   + (_parse_file_name):  The "(\d{8,6}-\d{4})" regexp for database
     dumps isn't actually working the way it ought to, so use
     "(\d{8}-\d{4})" since that's what we've actually got.
* vacuum.pl:
   + (find_files_to_copy):  Use "gt" instead of ">" for date comparison,
     because these strings are no longer guaranteed to be numeric, but
     the date strings from comparable backups are always the same
     length, so string comparison will give the same result.
Add MariaDB database backup file syntax

* Backup/DumpSet.pm:
   + (_parse_file_name):  Also accept file names of the form
     "pfx-######-####.dump.gz" as backups to be copied, so we can
     include database backups in the usual DB backup style.
Fix the find_list_qmail_file return value

* email/qmail-deliver.pl:
   + (find_list_qmail_file):  Bug fix:  Don't return the result of warn!
     Nonzero was interpreted as a .qmail file by deliver_message,
     causing delivery failure (EX_TEMPFAIL) for lists without .qmail
     files when --verbose.
Fix a List-ID: wrapping bug in qmail-deliver.pl

* email/qmail-deliver.pl:
   + (find_list_qmail_file):  Bug fix:  Canonicalize whitespace in the
     "List-ID:" header before trying to parse it.  Otherwise, the greedy
     ".*" will fail when asked to match a newline.
* email/test-qmail-deliver.pl:
   + (deliver_one):  Interpret the arg to boolean options as a count.
   + Add a test case that is wrapped before the list ID.
* email/mailing-list-2.text (added):
   + Test data for same.
Improve mbox-grep.pl

   This is from the update-mbox-grep branch.
   It adds the --from, --to, and --show-also options, adds makefile
   testing, and uses Getopt::Long for command-line parsing, plus
   general modernization.
* mbox-grep.pl:
   + Use Getopt::Long for command-line parsing.
   + (usage):  New sub so we can call it from two places.
   + Add --from and --to opts that bound the search to a message range.
   + Spool --show-also into @show_also_headers.
   + (search_one_file $print_line):  New helper.
   + (search_one_file $do_hit):  Ignore if $from is not met.
   + (search_one_file):  Quit early if $to is exceeded.
     If we have @show_also_headers, use Mail::Header
     to emit the chosen headers.  This spits them out after the hits are
     shown, and doesn't calculate the correct line number for the header.
   + Also "use warnings" instead of "-w", and punt $warn.
   + Update copyright in Pod.
* email/test-mbox-grep.pl (added):
   + New test script for mbox-grep.pl.
* email/suse-proj.vm (added):
* email/test-mbox-grep-0.text (added):
* email/test-mbox-grep-1.text (added):
* email/test-mbox-grep-2.text (added):
* email/test-mbox-grep-3.text (added):
* email/test-mbox-grep-luna.text (added):
   + Test inputs and outputs.
* makefile:
   + (test-mbox-grep):  Run email/test-mbox-grep.pl.
   + (test-more-scripts):  Add email/test-mbox-grep.pl.
   + (test-email):  Add test-mbox-grep.
* email/qmail-deliver.pl:  Add FILES to the documentation.
Document the List-ID: thing

* email/qmail-deliver.pl:
   + Expand the message processing bullets to add the List-ID: thing.
   + Clarify the message processing intro paragraph.
   + Shorten DESCRIPTION to make it less redundant wrt the message
     processing intro.
* LICENCE.text:  Make us GPLv3.
Add --verbose reporting for "List-ID:" delivery.

* email/qmail-deliver.pl:
   + (find_list_qmail_file):  Add some --verbose reporting.
* email/qmail-deliver.pl:
   + (find_list_qmail_file):  New helper.
   + (deliver_message):  After the spam, forgery, and extension checks,
     if there is a "List-ID:" header, and a corresponding .qmail file of
     the form ".qmail-list-<id>", then use that file for delivery.
* email/test-qmail-deliver.pl:
   + Test "List-ID:" dispatch.
* email/from-emacs-dev.msg (added):
   + Test case for same.
Fix some undef warnings in parse_bzr

* vc-chrono-log.pl:
   + (parse_bzr):  Fix some undef warnings.
Test "bzr log" parsing

* makefile:
   + (test-bzr-chrono-log-1):  Test case for "bzr log" parsing.
   + (test-chrono-log):  Add test-bzr-chrono-log-1.
* test/test-bzr-chrono-log-1-in.text (added):
* test/test-bzr-chrono-log-1.text (added):
   + Test data for test-bzr-chrono-log-1.
Add "bzr log" output support to vc-chrono-log.pl

* vc-chrono-log.pl:
   + (parse_bzr):  Parse Bzr fields.
   + (parse):  Dispatch to parse_bzr if we recognize its divider.
   + (ChronoLog::Entry):  Add a branch slot.
   + (report):  Also report the entry branch.  (There are other
     bzr-specific fields we could include, but this is good for now).
Add --list-host to email/forged-local-address.pl

Plus testing and qmail-deliver.pl support.
* email/forged-local-address.pl:
   + Add a --list-host option, as a (possibly better) alternative to
     --sender-re for what look like forgeries from email lists.
   + (add_list_host):  Command line parsing helper.
   + (list_host_p):  Check whether a "Received:" header matches.
   + Use same to override a determination of nonlocal.
   + Add documentation for --list-host.
   + Also add a SYNOPSIS section, and drop the complaint about
     --network-prefix from BUGS.
* email/qmail-deliver.pl:
   + Add a --list-host keyword, and pass it to forged-local-address.pl.
* email/test-qmail-deliver.pl:
   + Add a --list-host test using mailing-list-1.text.
* makefile:
   + (test-nonforged-addresses):  Add a test case for --list-host.
* email/mailing-list-1.text (added):
   + Test data.
* Backup/Partition.pm:
   + (clean_partition $delete_dump):  Bug fix:  Use file_stem instead of
     base_name when generating verbose info for a dump.
* Backup/Slice.pm:
   + (entry_cmp):  Bug fix:  Sort catalog slices after their dump
     slices, to match "ls" order, so the show-backups.pl --sort=dvd
     option does the right thing.  Also, compare by prefix first, which
     makes more sense (though it doesn't matter to the current code).
* Backup/Dump.pm:
   + (entry_cmp):  Also compare by prefix first.
* test/test-backup-classes.pl:
   + Expect the changed order.
fd23afab — Bob Rogers 3 years ago
Add a new --use-delivered-to option.
   From the delivered-to-1 branch.
* email/qmail-deliver.pl:
   + (write_maildir_message):  Show "Delivered-To:" headers if --verbose
     and we have two or more or double --verbose and we have any.  Also
     add a verbose "already been delivered" warn if we've seen the ID.
   + (process_qmail_file):  Add double verbose warnings for a /dev/null
     destinations and ignored pipes.
   + (find_extension):  If --use-delivered-to was specified and we have
     two or more "Delivered-To:" headers, try to extract an extension
     from the difference between the two most recent localparts; the
     difference must start with "-", which is not included.
   + (address_forged_p):  Pass one less --verbose options to
     forged-local-address.pl as we get.
   + (check_lists):  Bug fix:  Also check the envelope recipient for a
     dead address.
* email/test-qmail-deliver.pl:
   + (deliver_one):  Improve option processing.
   + Test that a message gets delivered according to the extension if
     --use-delivered-to is specified, and not otherwise.
* email/relay-test.text (added):
   + New --use-delivered-to test case.
* email/netatalk-devel.text (added):
   + Message for new --deadlist test case.
* email/test-bounce.text (removed):
   + Rename this . . .
* email/bounce-test.text (added):
   + . . . to eliminate "test-" from the front of the name.
6cdacd3f — Bob Rogers 3 years ago
* email/forged-local-address.pl:
   + (local_header_p):  Bug fix:  Recognize a locally-originated Postfix
     message, which is necessary for handling bounces properly.
* email/test-qmail-deliver.pl:
   + Add a regression test.
* email/test-bounce.text (added):
   + Test message for same.
31926a4a — Bob Rogers 3 years ago
* makefile:
   + (clean):  Also clean email/post-deliver.log.
* email/.gitignore:
   + Also ignore email/post-deliver.log.
63012307 — Bob Rogers 3 years ago
* cd-dump.pl:
   + Oops; we didn't change all $cd_max_size to $media_max_size.
Next