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