
HISTORICAL NOTE

 This note is not relevant if you just want to use tbackup, but may be
 interesting for historians and students of software entropy.
 
 The previous public release of tbackup, version 0.8, was done in June
 1994.  Since then, a lot of things have changed in the `standard'
 Linux environment.  Starting in about late 1995, I have been getting
 infrequent problem reports by users who tried to run tbackup on a
 recent Linux distribution.  However, from 1995 on I got deeply
 involved in a thing called the World Wide Web and this left me with
 no time to do maintenance releases.  Tbackup refused to die on me
 however (I kept getting problem reports), so in December 1997 I
 started using gaps in my Web schedule to prepare for a maintenance
 release.  I first cut out most of the new/unfinished features which I
 had started development on in late 1994.  Then I started making
 tbackup compatible with the newer linux releases (My own primary
 partitition still contains a Slackware version installed in 1995 for
 my day-to-day Linux use). This conversion process is perhaps best
 thought of as a port to a new platform.  Among the more interesting
 things I encountered:

   - The mtools package, which tbackup uses internally, was completely
     rewritten after 1994, and the rewritten versions do not exit
     properly with a non-zero status code anymore when encountering an
     I/O error.  This broke the tbackup error recovery system in
     interesting ways.  In the end, I decided that mtools was just too
     unstable, and that renewed integration testing would take too
     long, so I bundled an old mtools version with tbackup 0.9.

   - After 1994, a `linux filesystem standard, linux allocated
     devices' was introduced, and this standard **renamed the floppy
     devices**.  This caused tbackup to be incompatible with newer
     systems.  Solution: tbackup will create old-style floppy device
     files in /dev if they are not present.

   - Somewhere after 1994, disks which could have partitions bigger
     than 3 GB started to appear.  It turned out that such partitions
     led to a signed integer overflow in a calculation made with
     `long' variables in one of the tbackup-internal C programs.  This
     was fixed by switching to `unsigned long long'.

   - Somewhere after 1996, the GNU C library changed in a way which
     broke code mixing lseek(3) and read(2) calls.  Apparently,
     lseek(3) no longer causes an fseek(2) call, but serves as an
     entry point into a buffered I/O subsystem instead.
     
