Release 1.0.6 (Sun 5 Feb 10:02:43 CET 2023) * rdw2: corrected typo in usage message Release 1.0.5 (Fri 26 Aug 14:47:14 CEST 2022) * rdw2: added svn properties to new files * rdw2: starts work on WP#174 Release 1.0.4 (Mon 28 Mar 12:33:01 CEST 2022) * rdw2: further fixes required by work for WP#176 * rdw2: corrected a test * rdw2: added missing svn properties * rdw2: merged in WP#176 work into trunk * rdw2: completely reorganisation of labellers (closes WP#176) * rdw2: partial reorganisation of labellers for WP#176 * rdw2: fixed bug whereby medium access error was not propogated upwards (closes WP#173) * rdw2: beginning of test for WP#174 Release 1.0.2 (Wed 2 Feb 13:02:48 CET 2022) * rdw2: replace %{CLIENT_ID} marker when adding DLE (closes #168) * rdw2: read, process and display backup method's output as soon as the method writes it, rather than only when the method exits (closes #170) * rdw2: starts work on #168 and #170 Release 1.0.1 (Sun 2 Jan 22:27:04 CET 2022) * rdw2: removed function unlink_quietly(), which was in use by ade! Release 1 (Fri 20 Aug 17:00:05 CEST 2021) * rdw2: bumped to release 1 Release 0.99.5 (Tue 17 Aug 11:03:57 CEST 2021) * rdw2: triggered by pestaroli & testaroli's rdiff-backup being too new to be backed up by damson, removed double colon on local target directory on rdiff-backup helper script (see BTS#992325) Release 0.99.4 (Sun 15 Aug 18:39:51 CEST 2021) * rdw2: removed setting PCMS_PREFIX (this seems to screw up installation of man pages) * rdw2: database upgrade now also delegates to ADE * rdw2: exported many SQL-related to ADE * rdw2: removed all trailing spaces * rdw2: detect combinations of absent/present database and absent/present server on-disk label; closes #141 * rdw2: removed duplicate return * rdw2: starts work on #141 Release 0.99.3 (Thu 17 Jun 10:01:59 CEST 2021) * rdw2: improved verbosity during backups and checks of dles and sets (closes #137) Release 0.99.2 (Mon 14 Jun 11:12:02 CEST 2021) * rdw2: tidied up crontab/crontab.bak code (closes #119) Release 0.99.1 (Sat 12 Jun 13:03:36 CEST 2021) * rdw2: path corrections * rdw2: updated for perlcritic and ADE 1.99.3 (which is perlcritic compliant) * rdw2: changed state to unreleased in order to allow ongoing development on damson Release 0.4.2 (Fri 12 Mar 13:31:31 CET 2021) * rdw2: added config variable rdw2_server_flag, which is disabled by default to prevent rdw2 clients from creating databases, just because they jabe rdw2 installed as part of the same package. Release 0.4.1 (Thu 11 Mar 19:28:27 CET 2021) * rdw2: corrected command that gets called in rdw2-check.crontab Release 0.4 (Thu 11 Mar 17:38:14 CET 2021) * rdw2: don't install /etc/cron.d/rdw2-check symlink automatically (it makes non-root test installations break) * rdw2: updated a test reference file * rdw2: added missing doc/examples/Makefile * rdw2: addition of rdw2-check and reorganisation of location of crontab (starts #93) * rdw2: backup database before upgrades (closes #82) * rdw2: when adding a new medium warn (previously was info call) that grants need to be added to make it usable (closes #84) * rdw2: fixed bug whereby some placeholder text was not replaced when adding a dle whose dle-id was new but whose client-id:dle-accesspoint pair was not (closes #89) * rdw2: df-in-dleap.sh checks if dir is / to avoid double-/ problem (closes #116) * rdw2: check_set and backup_set now don't recheck DLEs that failed for reasons that affect multiple DLEs (closes #85) * rdw2: updates to tests folowing switch to database schema 3 * rdw2: updated database diagram * rdw2: added 'coding: utf-8' comment to all python scripts * rdw2: changed from %s to %d in to format verboselevel * rdw2: minor fix in the commandlines generated by --gen-cron * rdw2: improved filtering (closes WP#88) Release 0.3 (Thu 6 Aug 16:03:20 CEST 2020) * rdw2: check label's directory's parent directory exists before attempting to create a label (closes WP#77) * rdw2: reverted to very slightly modified #2 of database when I realised that #2 of the database already had the 'filters' code in * rdw2: added version #3 of database and associated upgrade function * rdw2: moved 'X: no such Y' checks into rdw2_lock_row() * rdw2: commented out several (unexpectedly) uncalled functions * rdw2: rdw2 now uses its own sql_execute_qm() function on order to do error message tweaking (this should eventually be moved to ADE) * rdw2: shorten long ssh error messages * rdw2: implemented noop backup method (sleep 30) * rdw2: updates man page with details of filters. * rdw2: test reference file updates for some recent changes * rdw2: implemented filtering of backup method's output (closes WP#69) * rdw2: added upgrade function (closes WP#80) Release 0.2 (Mon 20 Jul 12:08:47 CEST 2020) * rdw2: finished correcting man page (closes WP#65) * rdw2: minor corrections to get tests passing * rdw2: widened more columns, changed help text to better match man page * rdw2: allow '--list-misc' to take an optional pattern, like other --list-* options * rdw2: further man pages updates for WP#65 * rdw2: removed README.Alexis (closes #66) * rdw2: converted the 'now grant access to this medium' warning to an informational message (attempts to back up already produce a similar message) * rdw2: widened client and server name widths * rdw2: ongoing work on the man page (first complete version with errors) * rdw2: starts work on WP#65 Release 0.1.99 (Wed 8 Jul 14:03:45 CEST 2020) * rdw2: updated a call to cursor.executescript() in line with what apsw module provides * rdw2: finished adding svn properties * rdw2: started adding svn properties * rdw2: stopped calling wrapper_sql_() functions as those were needed only in establishing that I need to switch to apsw * rdw2: added a database busy timeout of 10s (hopefully closes half of #68) * rdw2: added better padding of schedules in output of 'rdw2 --list-misc' * rdw2: switched to apsw python module (closes #63) * rdw2: attempted to make edit() perform the empty-database plus load-database in a single transaction (addresses #63; the code works fine if you don't run 'CTRL-Z; kill -9 %1') * rdw2: attempting to backup a dle with a disabled method is now an error (closes #61) * rdw2: check set exists before trying to back it up (closes #56) * rdw2: check dle exists before trying to back it up (closes #58) * rdw2: for #59, added assert_in_transaction() to add_client() * rdw2: improved display of ssh check output (closes #55) * rdw2: quietened a debug message * rdw2: many --{add,del}-* commands had gone back to being multi-transactional (which made --add-dle with an already labelled dle fail on the *second* call with the message "already in database" or some such). Switched these back to single transactional. * rdw2: temporarily switched from ade.ade_sql_*() functions to wrapper_sql_*() functions in order to diagnose a locking problem * rdw2: switched from deferred transactions to immediate transactions to resolve locking issue; for details see https://stackoverflow.com/questions/55831645/how-does-sqlite-prevent-deadlocks-with-deferred-transactions (specifically the hints at the bottom of the answer) * rdw2: merged several '--list-*' options into '--list-misc' * rdw2: add '--force' option to allow editing when database in use but not locked * rdw2: minor adjustments to schedules to avoid current Vodafone probs * rdw2: massive row locking code refactor * rdw2: overwrite session labels with a warning * rdw2: moved all real code from option handlers (i.e. mode_X()) to new functions X() in order to create a single function call whose error return needs to trigger row unlocking. (Previously there were *multiple* return points, each of which required calls to the - sometimes complex - row unlocking code. Now there is a a single block of such code for an error return (with new error stack to avoid contaminating the error stack) and a single success return. * rdw2: corrected missing null values when inserting sets/dles/... due to new lock column * rdw2: crontab generation no longer writes adedevsh, as we now use stock ade * rdw2: added update triggers for row locking * rdw2: minor corrections to get things working * rdw2: ongoing edits to the row locking code * rdw2: commit before mode_edit() rewrite * rdw2: allow other DLEs to be checked/backed-up after an earlier DLE failed check/backup. * rdw2: allow DLE labelling method df-in-dleap on dir-one-fs DLEs * rdw2: fixed 'buffering from cron causes messages in wrong order' bug * rdw2: demoted several internal errors to normal errors * rdw2: don't lock DB with transaction for --list-* and --gen-cron (remember that other 'quick' commands line --{add,del} *do* require transactions in order to roll back on error) * rdw2: corrected argument order on --add-dle (DB, code and table columns all in different orders) * rdw2: added new media accesspoint inspector method 'find-map-in-mounts', which looks through mounts. * rdw2: more triggers to trap insert errors with better messages * rdw2: added DLE, set and edit locking * rdw2: got tests working again, except for help text check (help text is way too wide) * rdw2: converted all SQL to here documents and abstracted associated tuples to variable sql_value * rdw2: reordered and renamed functions * rdw2: ongoing work (moved schedules to different table; added rudimentary lists of backed up files) * rdw2: ongoing work to make it actually do a backup * rdw2: added '--backup-{set,dle} and they almost work! * rdw2: reworked a few functions added --list-{dle,set}-media and --list-media-accesspoints and list-medium-accesspoint * rdw2: completed --{add,del,list}-dle[s] * rdw2: completed trigger rewrite, tidied code, unmerged the {add,del,list}-{server,client} functions pairs, '-v' now shows medium/client/server labels * rdw2: ongoing work - committing prior to triggers rewrite * rdw2: completed --del-medium * rdw2: completed --add-medium and reorganised methods directory * rdw2: minor database changes: command added to *methods tables so command is no longer forced to be the same as the id); removed enabled attribute from servers table; ensure maximum one row in servers table. * rdw2: started work on --add-medium (notes added to README.Alexis) * rdw2: centred diagram in rdw2.dia * rdw2: implemented --list-types, --{add,del,list}-client[s] and wrote client [un]labelling script * rdw2: ongoing work (added accesspoint_inspection_methods and associated more general '--list-methods' option * rdw2: implemented --{add,del,list}-set[s] * rdw2: ongoing database design * rdw2: added entity relationship diagram for database * rdw2: improved tests * rdw2: writing some basic tests (db creatable, db init file loadable) * rdw2: implemented '--edit' and '--db-file' options * rdw2: removed unwanted files, added missing svn properties * rdw2: created module