New in 6.7.4:5-aug-96 ---------------------- New Information in the FAQ about parallel port tape drives. Can select the root directory in backup New preference : min-before-seek : allows user to specify how many blocks the tape needs to be advanced before doing a seek, rather than just streaming Changes Removed allocation of zero bytes - wasn't a bug but some compilers barfed at allocating 0 bytes write_null_header returns error if error encountered prints version in log file since ncurses 1.9.9e, the curses.h file is placed in /usr/include so the Makefile has been changed to reflect that uses eom instead of fsf for appending to tapes - for the few tape drives that were slightly non-standard put a `signed' in front of definition of some variables for people who were using compilers that didn't default to signed variables if unspecified support for tape drives that commence block numbers that commence at 1 instead of 0 if invalid tape in drive when restore selected, still allows you to browse archives that the system knows about Bug fixes ratios being printed with signs, rather than unsigned not correctly resetting sid/gid on restore seg faulting on backup abort not correctly removing old info file when overwriting archive bug in end of tape handling and I/O error handling for backup reworked reading/writing errors so they only read/write in block_sizes even in error conditions prints an error message if cannot position on a block New in 6.7.3:17-june-96 ----------------------- Changes Removed -fno-common from CFLAGS in Makefile for production version Bug fixes If get an error while backing up, was not closing backup device Problem backing up files after excluded directory Bug fix in the file count for verify & restore Log file message problem in verifying In triple buffering, if child encountered an error, then the error recovery procedures sometimes got it wrong New in 6.7.2:17-june-96 ----------------------- Changes In the selected window, prints the byte count if less than 1K Bug fixes Not removing co-ordinating pipes between write child & taper Memory overrun in add_missing_dirs fixed Error in restore if backed up one file only If had selected a file, backup marked all files with that filename as prefix as for backup. Didn't backup them up though (ie.cosmetic bug) Sometimes, file sizes in backup were not correct Bug in not auto-descending of directories If selected one file for full backup, was not printing size correctly - didn't affect backup which was done correctly (ie.cosmetic bug) Screen update in reading volume directory Few bugs in the co-ordinating of child writing & main process Bug causing errors while creating multiple directories In restore, allowed you to put wrong tape in drive New in 6.7.1:15-june-96 ----------------------- Changes Use of pipes if using triple buffering to co-ordinate between parent & child writing process - should help system load immensely Use of IPC_PRIVATE for getting unique shared memory keyss rather than randomly trying keys Bug fixes Problem in identifying most recent file in multi-volume backup Problem with specific tape types handling in preference file Problem with re-allocating buffer errors on end of tape Memory being free'd twice --> segmentation fault at end of backup New in 6.7:6-june-96 -------------------- New If seg faults, tries to write the fact to log file Problem using libc 5.3.12 and binutils 2.6.0.12 - make sure you upgrade to binutils 2.6.0.14 if using libc 5.3.12 if taper doesn't work for you. No problems if using stable 5.2.x release Backup child checks for available disk space - if not enough waits until there is before compressing Error messages printed if restore or backup children cannot be started New option (+/-W) for reconstructing info files on archives created by taper version < 5.6 New option (-Y) which specifies the minimum amount of disk space that must be free before a file is compressed Couple improvements to Makefile Changes Added a suggestion in the docs about excluding netscape's cache directories When doing a mkinfo/verify/full restore, does not print an I/O error when advancing to non-existent volume Changed default mailing program from deliver to mail Bug fixes Problem with bg_backup & backup getting out of sync if you changed the exclude compress options bg_backup/restore weren't using the temp_dir option if you changed it via a preference file or via change preferences menu Doing a free on a block twice which results in a seg fault on some machines so all such references removed One more instance where a zombie process could end up plugged Problem with unattended backup crashing if tape needed overwriting Problem if restore had to get some files from one volume and some from another as part of the same directory to restore A few more 1024 filename lengths found and fixed New in 6.6:19-may-96 -------------------- New New option (--tmp-dir or -P) which allows user to specify where temporary files should be stored - default is /usr/tmp New option (--one-file-system or -N) which tells taper not to descend other filesystems Changes In the docs, now specifies that taper is not really designed for more than 30,000 files unless lots of memory is on hand (this will be addressed in a future version) When doing a selective restore, does not keep on searching through whole info file Workaround for "device busy" errors (problem with files not being automatically closed on program termination) Aligns variables to 8 byte boundary (rather than 4 byte). To accommodate 64 bit machines (ie. Alpha) Found a couple of more unaligned references Removed all references to longs Compiles cleanly - ie. no warnings Couple more log messages when reading in volume header Bug fixes Bug fix in string fields in forms Bug fix in automatically not sizing excluded directories If backing up file uncompressed, then was opening file read/write If problem compressing file, wasn't removing temporary files resulting in /tmp left with lots of undeleted files New in 6.5.1 ------------ Changes Changed the # in the sgml to &num so that it would work on postscript & html conversions If a directory is excluded, automatically doesn't size through tree Can abort sizing of directories in selecting files for backup Bug fixes Fixed a few errors is sgml file Seg fault occassionally in unattended backup Properly prints message about directories/files not found in unattended mode Totally closes file while getting next tape In menu, test mktape & test fast fsf were swapped Changes in 6.5:24-apr-96 ------------------------ New Compresses info files (can be turned off) Info files are now stored in little endian format and converted as necessary so are portable between machines If for some reason taper seg faults, attempts to clean up - ie. free memory & shared memory segments Changes The magic number of volumes and tapes was changed to be a full four byte magic number. This was because when using big endian machines, taper was taking the zeros of the magic number to be leading zeroes Also excludes .bmp files from compression by default When making code more ansi compliant, the length of filenames became 1024 from 255. This resulted in significantly more memory usage. Changed back to 255. Removed the proceeding . from all file names (ie. .taper_log --> taper_log, .taper_info --> taper_info, .taper_prefs --> taper_prefs) As per ANSI, all references to inline removed Bug fixes If tape drive returned end of tape while doing mkinfo, tape size info was sometimes not correctly restored Bug in using regular files with new intelligent restore New in 6.4a:23-4-96 ------------------- Bug fixes Problem compiling with gcc fixed Better handling of boundary code (porting issue) New in 6.4:22-4-96 ------------------ New New info file format - to accommodate more intelligent restoration More intelligent restoration - automatically skips to the correct tape AND correct block for restoration - avoids those long reads before getting to the file that you want New tape drive option - can_seek - TRUE if your drive supports a seek operation, FALSE otherwise New utility for above - test can_seek Changes If doing a normal restore and encounter a checksum error, doesn't ask if end of backup - only asks when doing recreate info, verify backup and full restore When compiling taper static, also compiles bg_restore & bg_backup static Change make info to recreate info file in main menu Saving preferences done from another menu Removed test leading zeroes - not needed anymore fi.act_size reflects size of a soft link If checksum error for file, still restores the file (even though it may be corrupt) Couple of changes to make source strictly ANSI (including removing alloca function call) If reading multiple of block sizes, was reading an extra block that was not required After a message box option is selected, the selected option is printed in bold (poor man's hack of 3D push effect) If not compiled with triple buffering, doesn't print error/warning counts in restore Bug fixes Major backups in restore when using memory-tight version (introduced in 6.3 due to boundary code) Matched documentation and program on --sort-dirs option Bug in background restore/backup when triple buffering off Fixed a few cosmetic things with error handling Few bugs in non triple buffering code Few bugs with the memory tight version caused by boundary constraints Fixes up counts which were slightly off Bug if taper ran out of space on the very last block of the tape When doing a verify, was starting log file with `restore' Serious bug fix - occurred in some instances when gcc was not zeroing un-initialized variables Fixed static compiling problem Minor screen painting problem when prompting for new tapes New in 6.3.1:20-4-96 -------------------- Changes Prints a message to the log file if aborted backup Bug fixes Problem in preference file saving of x-tape and x-ntape In preference file handling, not properly handling preference filename on some occassions When changing preferences, some string fields were not correctly being changed New in 6.3:13-4-96 ------------------ New NOTE by new address - yusuf@nagree.u-net.com Code added to support big endian machine. Taper writes all 32 bits as little endian to tape. Will convert this to big endian if required - set the appropriate Makefile option Pads strings in memory out to a multiple of 4 bytes - to help ensure that structures only occur on 4 byte boundaries. For porting to machines that require this time_t, uid_t, gid_t, dev_t are now hard coded - so that archives will be more compatible accross different architectures New option - --tape-size (-Z) allows you to specify the size of a tape (in megabytes). When taper reaches this, automatically assumes end of tape. For use with tape drives that have non-standard end of tape handling. If set to 0 or -1, then taper automatically handles end of tapes. Retry/Abort option if reading/writing to tape fails Full restore mode - if no info file found, asks whether the whole archive should be restored Verify option - does a byte by byte compare of the disk file and the tape file User allowed to abort when asking for new tape during backup - of course, archive will be invalid If backup gets killed (power failure, user kills), doing a mkinfo will attempt to recover the backup - if an illegal checksum is encountered, the user will be asked if this means the end of the backup (say yes if backup was killed) Changes The double buffer is now a fixed size of 64K (hard coded) so it doesn't have to be constantly allocated/reallocated with changes in block size Also changed the buffer size to 32K for removable & regular files Added a ranlib command to compress lib - faster linking Hacked gzip code a bit further to accommodate older C libraries Changed reference in makefile from /usr/src/linux/include/linux to /usr/include/linux to accommodate those that have their linux source tree is a non-standard location You must specify tape type on command line (or preference file) - doesn't default to file type automatically Temporary files are given a name taper_xxxxx so that taper files can be easily identified Separate programs for background compress & restore. They are smaller than taper and use a lot less memory than taper. This should result in less overall memory requirements than the old way of forking of taper children If you have get_blksize option enabled, automatically enables set_blksize Better handling of read/write errors Better handling of end of tape conditions If problem opening new tape in multi-tape backups, doesn't abort, but reprompts Changed from signed --> unsigned to allow selections up to 4GB If mkinfo encounters an error, doesn't leave a half empty info file Errors while changing tapes are not counted as errors for the error count Internal error message if inconsistency with memory allocation Excludes the log file from the backup Added ENODATA as another possibility for end of tape Bug fixes Even if you had log level set to 0, some log messages were being written If a file grows while being backed up, does not cause backup integrity to be violated. Only the particular file won't be complete. Major problems if end of tape occurred on an exact block boundary Fixed the unattended backup option which got broken somehow and also added a few more messages into the mail message Bug with test_fastfsf and zftape causing seg faulting - basically, if zftape returns a block count of 1, assumes that this is not valid Not removing taper.8.gz in make uninstall Bug in color-selected preference Closes tape in check_tape now. Bug in preference file handling with tape specific options - clash between regular files and ftape Conflict between --tape-overwrite and --tape command line options therefore, --tape changed to --tape-name and --ntape changed to --ntape-name If could only write < 64 bytes to new tape in multi-tape backup, was seg faulting If only needed to write one block to a new tape in multiple tape backups, was not doing this, but discarding the block. For zftape driver, was getting in infinite loop if couldn't get tape header properly sometimes In mkinfo, was printing fatal error, when really wasn't a fatal error (on advancing to last volume). Didn't affect mkinfo - just a cosmetic problem with log file New in 6.2:16-1-96 ------------------ New Another compression method added - this is based on gzip - in fact, most of the code is ripped straight out of the gzip code. Advantage is that the whole file doesn't have to be read into memory for compression - hence lower memory usage - slight penalty on speed, of course. Changes For compress 2, buffers are allocated at start of taper instead of continually allocating/deallocating Doesn't refer to longs and ints etc.. They are all typedefed. Now, when moving to another operating system, just have to changed typedefs. Tightened up memory a bit more - frees memory as soon as it's not needed, rather than waiting to end of procedure Removed the LIBPATH=-L/usr/lib in the Makefile to avoid signal 11 errors in some distributions Bug fixes Major bug in internal compression routines for files > 32K Files not being closed in backup routines on certain errors Bug if archive only contained one file New in 6.1.2a:16-1-96 --------------------- Changes Mentioned that need at least gcc 2.6.1 to compile Can use home/end keys in the menu More logging with regard to forking of children Removed superflous reading error messages Bug fixes In restore, was printing info messages to log file even if log level set to errors only Problem if deleting exclude preferences with residual space Divide by zero error in backup if didn't backup any files Problem is only files selected for backup and not directories Problem with files not appearing in restore windows because of negative checksums New in 6.1.1:31-12-95 --------------------- New New utility checks to see if you have recursive links Changes Now use the file info from the info file and not the tape when restoring. Thus, if there's a problem with the file info on tape, it can be overcome if you have an intact info file. Also, uses volume header from info file rather than tape. Use alloca for locally defined memory blocks. Less chance of memory leaks In backup, when erasing tape, writes a null header so that in future, tape is recognized as blank Bug fixes Saving taper.1 as taper.1 in man/cat8 therefore, man page not being found - changed taper.1 to taper.8 Made checksums absolute value to avoid problems with wrap arounds Workaround to make it work with zftape 1.03 Problem with the TRIPLE_BUFFERING system - SERIOUS bug since backup integrity could be affected Not closing tape device in test fast fsf New in 6.1:31-12-95 ------------------- New Can exclude directories from the backup using the --exclude-dirs (-R) options. It is case sensitive and recursive. Default is "/tmp /usr/tmp /var/tmp". Can limit the size of log files via new preference. If the log file is too big, the beginning of the log file is removed. Preferences is --limit-log-file num (-L) where num is the max number of megabytes (default 2) the log file should be. Makefile target to allow making of a statically linked taper for use in rescue disks New option in utilities menu - test make tape determines whether your tape drive requires the use of make tape Changes Made Makefile slightly more efficient Made recursively sizing directories a bit quicker In backup/restore selection, file sizes are now in KB Removed the missed memory segment message in log - wasn't an error but was confusing too many people Man page in section 8 instead of section 1. Slight change in preference file handling to accommodate multiple preferences for different tape drivers. See the section Special preferences in the documentation for details Changed the default device names for zftape to qft0 & nqft0 Changed the process_dir to a non-recursive routine - people were running out of stack space on large directories Use the process_dir routine in backup Bug fixes Divide by zero error when writing stats to log if took 0 seconds for backup/mkinfo Bug if the temporary file directory was mounted on a different device to the restore directory In mkinfo, closes the info file after use - should fix a lot of problems Mkinfo prints the title line correctly Ignores errors on tape_fsf in mkinfo - if it gets an error, assumes end of archive reached Mkinfo prints errors if unable to write to the info file Does a waitpid to prevent zombie children Invalid argument errors when doing a test_fastfsf In preference file, was always setting Y/N preferences to Y When saving preference to preference file, was ignoring any name other than ~/.taper_prefs Bug in the handling of long Y/N options Bug in deleting selected entries in backup Bug if specifying preference file on command line New in 6.0:17-12-95 ------------------- New The ancillary programs have been merged with the main taper program. Everything is accessed from the set of menus - where_proc, testfast_fsf, testzero etc.. are all in the utilities menu. The compile time settings for different tape drives have been changed to runtime options - you just start taper with the -T (--tape-type) option to use different tape drives. Alternatively, you can set it in your preference file or in the environment (TAPE_TYPE). You are now able to delete the last 'n' volumes on an archive. The files are permanently removed. Most of the Makefile options have gone and are replaced by run-time options. Colors can be set from command line - long names only Support for removable media including floppies At end of backup/restore/mkinfo, prints stats about backup and also writes to the log Changes Changed the exit key from preference menu to ESC (was F10) Major change in header file structures/organization - mainly to make maintenance a bit easier Backup now checks to make sure that the archive you are appending agrees with the tape in the drive. Change in the info file format to accommodate remountable/floppy drives. Run mkinfo/check archive on all archives created prior to version 6.0 - you do NOT have to re-backup. Major change in the background write code. Now it only forks off one child - should help people who had problems with running out of processes and virtual memory in 5.6 The long command line options (GNU style) and the preference file options are now the same. Most of the preference file options have changed name. You will have to rebuild any preference files you have. Lot of changes in code handling preferences. A lot easier to add preferences etc.. now If have an illegal preference, prints an error Two new variables, have_rewind, have_fsf - should allow easier addition of new backup devices If there's no tape in drive, will print an error message before it lets you select files for backup If can't fork for a write, the parent will try and write Another hack to overcome a problem in zftape - to do with block sizes when a new tape is inserted Bug fixes Problem in Makefile - not able to make taper.1 properly Plugged some shared memory leaks Exclude list was case sensitive Problems with children not closing the tape device so parent was getting device busy/resource busy errors A few bug fixes in the multiple tape code Bug in restore caused it to hang on certain occassions - cross use of _still_writing Error messages on setting links & permissions When printing archive directory to screen, was not printing volume selections correctly. Also printing negative volume numbers. Not printing archive differences with -A When changing preferences, if first line was a selection, was not printing the selected option in reverse New in 5.6:5-12-95 ------------------ New New triple buffering system - forks off a child to do its writing so should improve backup performance. The tape drive won't have to stop so much. You'll really notice this in uncompressed backups - performance gains in compressed backups depend on your processor speed. If you wish to utilise this, your kernel must have SYSV_IPC support. Internal compression support. Taper now uses LZRW-3 compression code, written by Ross Williams. It has been modified for use under Linux by Claus-Justus Heine (the author of zftape) and to both people I am eternally grateful (saved me a lot of hassle). The internal compression support is a lot faster than gzip, however not as efficient - it can produce compressed files that are about 30% larger than gzip would have produced. Thus you have the option of still using gzip - change using preference files, command line options or the preference menu. You can mix different compression methods in an archive, but not within a volume. Note that the compression option is now --compress-type and the preference is COMPRESS_TYPE New option - --comp-head-start (preference COMP_HEAD_START). This gives the compression program a head start to allow taper to continually stream the tape drive on very slow systems. You may need to give a value as high as 10 minutes so that there is enough compressed programs in the buffer for taper. Uncompressing of files in restore is now done in the background. This should speed restore operations considerably You can now abort backups. Press q or Q during the backup. Changes Changed the backup/mkinfo/restore rate messages - now prints the actual tape transfer rate and then the effective tape transfer rate. Also changed from K/sec to M/min Changed everything from bytes to MB. Few changes to the Makefile - separate Makefiles are now distributed for different tape drives. Also changes to enable easier version upgrades for me A further level of logging has been provided - level 4. This is very verbose and really shouldn't be used unless debugging. I'll need it if you have a bug report Disabled ctrl-c - no interruption now. To stop a backup, restore or compress operation, press q. Added .jpg files in default of files not to compress Lots of changes to common.c code to reduce its size and place code more appropriately amongst files Improved memory usage when compressing in background Prints Checksum OK messages in restore/mkinfo in log level 1 No longer checks if the compressed file is larger than the original file using gzip. This situation occurs very rarely, and if it does occur, the compressed file is seldom more than a few bytes longer than the original file - thus the overhead of checking each file is not worth it. Mkinfo will update volume counts if they differ Bug fixes Bug in mktape - not closing the tape deiveice --> giving resource busy errors Mkinfo was not restoring volume counts and volume selections properly in a few obscure cases Plugged another memory leak - occurred if got a memory allocation error while allocating blocks Errors if tried to overwrite a regular file. Now the regular file is correctly deleted. Counts etc.. in restore Backup crashed if it couldn't read a directory it needed to - now ignores it and doesn't back it up When selecting which archive to restore from, wasn't printing all the entries on screen correctly Seg fault after printing usage Errors with the FIFO in backup don't cause the file to be not backed up. It now saves the file uncompressed. When saving preferences to a command line file, was always saving to start_taper despite what you typed in New in 5.5:3-12-95 ------------------ Changes In main menu, put Check archive after mkinfo to reflect its action Exit key from preferences (default F10) can be changed in common.h No .. entry provided if in root directory for backup/file set Enabled support for get block size ioctl of zftape - if you are going to use zftape, you must use at least version 1.02 Can now unselect from the top directory window in backup. If the file is indirectly selected, then an error is printed. Similarly, can unselect from restore menu. Unselecting a file has changed from `d' to `u'. Fixed problem with zftape-1.02 and taper interaction. Causing multiple "unknown tape data" errors. Downside is that it takes longer to identify a tape. Fixed problem with zftape-1.02 when using different block sizes in different volumes. Bug fixes Fixed a couple of compile time warnings - they were only warnings Problem if information messages, etc. were too long for message boxes Seg fault when trying to load a file set Bug in testzero caused a segfault Was ignoring all files if the exclusion list was empty. Same with the compression list. Not setting the SCSI default block size correctly Incorrectly adding the size of directory entries (not directory contents) to backup sizes New in 5.4:11-11-95 ------------------- New AT LAST - support for unattended backups. See documentation for details on how to do it. New preferences menu for unattended preferences. Support for the new floppy tape driver, zftape. Drives that have leading zeroes do not need a compile time option - it is automatically built in. You still, however, need to using mktape on tape before you can use them with taper. Support for fully fixed block reading and writing. All transfers to/from the tape drive are in strictly blocksize blocks. It is possible to get taper to call MTSETBLK to set the tape block size before doing an erase. Define SET_BLOCK_SIZE in the Makefile. With the option, the block size is also set using an ioctl call after each open (but only for zftape). Support for quick fast forwarding. Some tape drives are able to fast forward a volume while in the middle of a tape. In addition, they correctly fast forward if at the end of a volume. If your tape drive is one of these, performance can be improved up considerably by defining -DFAST_FSF in the Makefile. A new program, testfast_fsf will tell you if your tape drive is capable of this. When selecting entry from on_archive list, prints an error message if the file/directory no longer exists, as opposed to just ignoring you. Using the --version option also prints which options taper was compiled with When doing a backup, prints the total size of archive. Changes Changed the Makefile option MEMORY to MEMORY_TIGHT Changed the output of the log file slightly if an error was encountered More logging for tape changes In incremental backups, if a file needs to be backed up, all the relevant directory entries will be backed up even if they haven't changed - saves having to get a directory entry from one volume and the files from another. Bug fixes Not recognizing some long options (specifically, those that required a -on or -off) Size of files to be backed up didn't take into account the length of the filename or the file_info structure Seg fault if using a regular file, only restored a part of a volume If there was a fatal error, was recording this as a warning in the error/warning count When creating a directory from a `made up' one, was setting permissions as --------- instead of rwxr-xr-x When retrieving files for backup from file set, wasn't taking into account the hard-links option Problem if there was an unexpected blank line in file set New in 5.3.1:11-11-95 --------------------- Changes Write code optimised. Read code optimised. Bug fixes When loading a file set, was not taking links into account In Makefile, was a reference to do_compress which is no longer used Cursor wasn't being turned off after changing preferences Problem if info file was >100K in size New in 5.3:11-11-95 ------------------- New In backup and restore, you can select files & directories for backup & restore from the "on_archive" window (ie. the top right). Just press 's' and the appropriate file will be selected, the same as if you had pressed 's' in the top left window. New option (-A id [--archive-diff]) lets you print a list of files that have changed since the last backup was made. The list is printed to the screen. id is archive ID to compare, -1 means use the archive in the tape drive New in 5.2:11-11-95 -------------------- New In backup, compression of programs in now done in the background to speed up execution time Memory is now allocated in blocks when required. This has the slight overhead of increased memory requirements, (maximum extra is 100K) but means that reallocation of memory blocks is greatly reduced, reducing system overhead & load Auto-descend option in restore. If a directory only has one directory entry in it, it will automatically descend into this directory. Similarly, it will auto-ascend. In effect, two versions of taper are available - one is a fast, but memory & resource hungry taper. The other is much more modest in memory requirements (but still improved over earlier tapers - approx 15% memory required than 5.1.5) but you pay with an increase in load and decrease in speed. Define the appropriate option in the Makefile If you overwrite an archive, taper will delete the old info file Changes Optimised code for calculating directory sizes. Much quicker now. Optimised code for selecting files to restore. Much quicker. Changed the most recent restore handling. For restoration, the file on the latest volume is regarded as the most recent. This has speeded up the code considerably, the penalty is that if a file on an older volume is actually more recent, it won't be picked up. This will happen extremely rarely. When selecting directories in restore, will now print the size of the directory that will be restored taking into account most recent restore. Tightened up handling of /proc device Make common path takes into account volume restriction (if any) Minor changes in the log file messages printed by restore When saving file sets, will create set directory if doesn't exist. The -d (--print-dir) option now requires the archive_id of the archive whose contents you wish to print. A -1 will print the directory of the archive currently in the tape drive Not allowed to change directories when selecting an info file Does not have to traverse through a whole regular file archive now while restoring - will stop when all files been restored. Few more status boxes etc.. to give user idea of what's going on Mkinfo will verify checksums. Prints an error to the log if it doesn't match Bug fixes Minor screen corruption in backup after restoring from set Not reading all entries in when restoring from file set Changing directories inadvertantly after reading in file set When calculating total selected sizes in restore, was including the size of the directory entry, as well as the sizes of the files in the directory Was not backing up backup device entry in /dev. Not a bug, but in backup, was getting file info for a file twice - waste of time. Not backing up missing directories when found. If entry was too long in on_archive window, was not truncating properly If backup didn't correctly make missing directories, restore was stuffing up When doing an incremental backup, sometimes had problems with missing volumes in restore Problem with incremental backups of recursive directories Not printing title line correctly if tape not in drive New in 5.1.5:5-11-95 -------------------- Changes Minor changes to LSM file to fit the auto-daemon Remove trailing spaces in volume & archive title If you try to select a file that would be automatically excluded (eg. test.o), then you will get a message to this effect Bug fixes Fixed problem with deleting selections in backup & restore. Also fixed problem of jumping to end of window when deleting. When trying to go into a directory in which you have no permission, occassionally was segfaulting Long filenames were causing minor screen problems When toggling between most-recent-restore mode in restore & between incremental-backup mode in backup, doesn't scroll the screen to bottom anymore. When paging down, occassionally would print some garbage after last entry New in 5.1.4:5-11-95 -------------------- Changes After many requests, memory usage has been dramatically reduced by re-organization of the way taper handles files currently on the archive. Unfortunately, no-one gets anything for free and this memory saving comes about by taper suffering a bit of a performance hit. It doesn't affect backing up/restoring - only selecting files. It shouldn't make too much of a difference, but if you have a large number of files on your archive, you may notice the keyboard a bit sluggish. However, your memory usage will only be 30% of that in taper 5.1.3. Bug fixes Not correctly storing missing directories - resulted in problems with incorrect file counts. Most common symptom is restore not printing all the files on the archive, or funny files in the restore screen. The archives written with earlier versions will still contain the incorrect file count, however, to overcome it, run mkinfo on your old archives, and the info file will be fudged to overcome the error. A message will be printed in your log file saying that the info file has been fudged. Minor bug in .sgml file - stuffed up a bit of formatting Restore screen was cutting out last digit of size New in 5.1.3:4-11-95 -------------------- Bug fixes Problem with getting volume & archive title in backup Fixed Makefile to correctly install man page New in 5.1.2: 31-10-95 ---------------------- Changes I now use linuxdoc-sgml for documentation hence taper.ps, taper.txt, and taper.1 are supplied as documentation. Because taper.1 is already formatted, it is placed in /usr/man1/cat1, rather than /usr/man1/man1. When going up directories in restore, goes up to the volume that you were in In restore window, prints the volume we are restricted to In restore module, if you have selected most recent restore, will print the volume from which it will restore the file Bug fixes Problems with restore tree Major bug with --exclude-files option corrected New in 5.1.1: 31-10-95 ---------------------- Changes Prints "F10 to exit" in changing preference menus New in 5.1: 30-10-95 -------------------- NOTE: You now need ncurses 1.9.6 for taper to work New New option (-X --exclude-compress) which allows you to specify which group of files to exclude from compressing. New option (-F --exclude-files) which allows you to specify which group of files to exclude from archives. Files selection sets Changes Fixed minor problems that arose with updating to ncurses 1.9.6 - mainly with \n and \r Volume title & archive title have been removed from the preference file. You are now prompted for them both before entering backup module. They are still in the command line options. Upper case command line options are now different from lowercase ones. Bug fixes Not initialising all variables correctly Allowed you to select a file twice in backup module In restore, printing the size of compressed file rather than uncompressed one New in 5.03: 22-10-95 --------------------- Changes If two files are the same in an archive, then most recent restore will restore the file in the latest volume Changed status screens in restore & mkinfo a bit When doing a backup, if a taper archive is found, user is given the option of appending or erasing (ie. the append preference is ignored - it's left in for when I get around to doing unattended backups) Default is now not prompting for directories. Bug fixes Bug in mkinfo so that if you did a mkinfo after a restore, it didn't restore volume header details correctly In backup, it was ignoring the fact that do_read_voldir could return an I/O error When saving to a preference file, if you didn't change the default name, the filename was garbage When read preferences, was not ignoring the quotes used to surround volume & archive title Changed the colour of the help screen so that it was clearer using shells under X Prints the volume number when restoring from regular files Few bugs in the tape_readheader code with regard to tape drives that have a leading zero problem Was changing the global preference strip inadvertantly. Only mattered if you saved preferences after running backup or restore. Slight problem trying to overwrite existing archives New in 5.02: 20-10-95 --------------------- New At last, a man page! Finally got around to doing it. New option in Makefile - make install will automatically place files in correct location - binaries in /sbin and man page in /usr/man/man1. make uninstall will remove the files New option: +/-k [--erase-tape] - allows one to specify whether taper will erase a new tape before using it. Default is yes but some SCSI drives don't need erasing before use. Floppy tape drives need it set to yes. When changing preferences within program, for YES/NO options, can use y/Y and n/N keys. Changes Changed to preference & environment names for the tape devices. Non-rewinding preference and environment is NTAPE and rewinding preference & environment is TAPE. This was done to accommodate SCSI users who don't use ftape. If you press an illegal key, automatically prints help screen Prompts for tape insertion before commencing mkinfo Bug fixes Prints a cursor in changing preferences if the string line is NULL The HAVE_SCSI line in Makefile should have been -DHAVE_SCSI New in 5.01: 18-10-95 --------------------- New Added a QUIT signal handler so that if you abort or terminate, your screen is not mucked up and memory is not lost. In restore, when you go up a directory, the cursor points to the directory you were in (like backup & mc) Changes Reworked the missing directories search. It was working in 5.0 but was so slow that people thought taper had crashed. Was only evident on >1000 files. Slight optimization of cp counter Change to Makefile - have another variable HAVE_SCSI, which if set sets the default device names to SCSI device names rather than floppy device names Bug fixes Prints error message for info file mismatch now Updated select_box to handle changes to ncurses 1.9.6. Wasn't handling restore to different paths properly Added trailing '/' to recursively included directories Added a zero to the time so that it prints as 21:08 not, 21:8 Blank cursor line in on_vol window for blank lines Clears title line at program end New in 5.0: 1-10-95 ------------------- MY ADDRESS HAS CHANGED TO: yusuf@mail.bogo.co.uk ------------------------------------------------- New Major archive format change - basically, more information was added to volume headers to make incremental backups easier. This means that archives created under taper 4.x are not compatible with 5.0. The volume & archive magic numbers have been changed to reflect this. Restore even more intelligent with regular file restores - doesn't have to traverse the whole archive now. Stops when restored all files required Info files have been renamed from taper_xxx to taper_info_xxx (to allow use of backup sets which will be named taper_set_xxx) In restore, you get to select which archive you wish to restore from. Taper prints a list of all archives it knows about. The default archive selected is the one in the tape drive (or the one that pertains to the regular filename given). The tape doesn't have to be in the drive to peruse an archive. Changes to incremental backup & incremental restore. See TAPER.DOC for details Changes In selecting files for a backup, when you move up a directory, the cursor points to the directory you were in (like mc) If there is no title (archive, volume etc..), rather than printing a NULL string, the string is printed In backup & restore, permissions are no longer printed. They were wasting too much valuable screen real-estate, and really, are not of much use in an archiving system. In restore, the date/time the file/directory was backed up is not printed - that information can be obtained from the right hand window (volume information) Restore now prints details of what's on archive like backup Major change to TAPER.DOC to reflect all new features Better handling of status reports in restore Bug fixes Mktape - was proceeding even if you answered 'no' Mktape - better error handling Testzero - better error handling Better handling of errors when erasing a tape in backup Mkinfo - was closing standard input accidently if no archive was found Backup - incorrect archive size if no archive existed Allowed abort if don't have correct tape in drive Backup/Restore - confusing directories with files for recursive recursive selections Problem creating extra directories when restricting restore to a certain volume New in 4.4: ----------- New Change so that there is only one program, taper, which presents the user with a menu so that s/he can select which program to run Allows preferences to be changed within taper. Also allows saving of preferences to preference file or as command line command Made restore a bit more intelligent. If you just want to restore a directory (with no files in it) or devices etc.., then it uses the information in the info file & doesn't have to read anything in from the archive Changes Changed the completion message from "Backup completed successfully" to "Backup completed". Even though the screen reported errors (if any) people were getting confused saying that how could backup have completed successfully if there were errors. The fact is that these errors were non-fatal errors, and therefore, IMHO, backup did complete successfully. But due to popular demand, the message has been changed. Of course, this applies to mkinfo & backup as well. Changed the TAPER.DOC file to reflect better information about SCSIs especially with regard to rewinding & non-rewinding devices. Changes to the documentation to reflect the fact that you don't need to do a 'make dep' anymore Changed the 'update' option in backup to follow the format of other options: ie. on = +u (or --update-on) and off = -u (or --update-off) Bug fixes Problem with the restore tree if files were being backed up individually rather than by directory selection Problem in backup when selecting files. If you selected a file and then selected the directory in which the file resided, the file was backed up twice. Now backup will recognize when files have been selected twice and act accordingly Problem in working out common path (common.c:make_cf) - incorrectly counting number of files in archive Multiple bug problems with the restore tree New in 4.3:28/5/95 ------------------- New Restore is now fairly intelligent. That is, it works out which volume files are on and skips to that volume immediately. It also realizes when no more files are to be read from a particular volume and stops reading from that volume Prints the number bytes in archive in both restore & backup Added a -w num option to restore which tells restore to show only those files on volume 'num'. Default value of 0 means show all volumes Changes Changed "Average transfer rate" to "Average backup rate" since it is not an average transfer rate - it takes into account time to advance volumes, rewind tape etc.. Similarly, "Average restore/mkinfo rate" More Makefile tweaks to improve performance Made some improvements to byte counts - still ignores tape headers and volume headers but this really is negligible Rationalised the use of non-rewinding & rewinding tape devices. The non-rewinding tape device is used only to reposition the tape, otherwise the rewinding device is used. Restore prints the volume a file is on and also the position in the archive that the file in Print directory (from restore) also prints the above two pieces of information User interface for restore changed. The files on an archive are now presented in tree form. Made the user interface with regard to restore and multiple volumes a bit clearer and more logical. Bug fixes Wasn't erasing tape correctly in backup and flush_buffers Problem displaying full pathname in top left window of backup if pathname was wider than window In backup, wouldn't enter a link that pointed to a directory Forgot to update volume/tape table in mkinfo Incorrectly printing month file was backed up in restore New in 4.2.1:25/8/95 --------------------- New Checks to see if it can open get tape device status before writing to it. To avoid problems with no tape in drive. Changes Changed the making of .depend in the Makefile. Slightly quicker now Cleaned up the log level 3 messages and make them more detailed New in 4.2:24/8/95 ------------------ New Added a -u [--update] option in backup. If -u is specified, and a taper backup exists on the backup device, taper will automatically select all files that have been changed since the backup was made. Equivalent preference file option is UPDATE Added a title line showing the name and ID of archive Added another place where preferences can be stored. If a .taper_prefs doesn't exist in /$HOME, then taper now looks in /usr/local/etc (can be changed in common.h). This allows global defaults to be used without having to set environment variables Added option [-j num, --proc-device] for ignoring the /proc filesystem. Program which_device will attempt tell you which device your /proc filesystem is mounted on. See TAPER.DOC for more details New program mktape (to prepare tapes for taper use - only needed if your tape drive writes leading zeroes) and testzero (to see if your tape drive write leading zeroes). See TAPER.DOC for more details Changes Changed the -o [-/+-overwrite option] in restore so that three levels are available: -o 0 = no overwrite (if the file exists, then it is not overwritten); -o 1 = more recent overwrite (if the file on the backup device is more recent than the file on the hard disk, then the hard disk file is overwritten. If the file on the backup device is older than the one on the hard disk, then it is not overwritten); -o 2 = unconditional overwrite (the hard disk file is always overwritten) When a program is finished, prints how many warnings & how many errors were encounterd Changed the word 'Volume' to 'Archive' in backup & restore to make it more consistent with the documentation Changed default color of directory to black on green Changed the handling of long (GNU style) options. Instead of [+/-]-option, you now use --option-on or --option-off. See TAPER.DOC for more details Removed the +/-e (--erase-tape) option. You can use the append option to do the same thing. If you specified --append-off (or -a), and if there is data on the tape, then taper will erase the existing archive and replace it with the new archive. Changed handling of leading zeros problem. If your tape drive writes leading zeroes, define the appropriate variable in the Makefile. When doing backups, you will have to use mktape to prepare tapes for taper use. Taper will not automatically erase tapes for you. If you use an unprepared taper tape, then you will run into problems. See TAPER.DOC for more details Changed handling of directory sizes in sel_restore to make it quicker on large archives. In restore, prints the position in archive of each file Bug Fixes Problem with -d option in restore (trying to open status_box) Problem in restore if archive was empty Erase tape when prompting for 2nd, 3rd.. tape of backup Rewind tape after finished writing in multiple tape backups Problem if backup extended by less than one blocksize onto a new tape Problem with calculating how many files to advance when appending to multi-tape archive New in 4.1:14/8/95 ------------------ New Added support for multiple tape archives. Required a change to the info file structure therefore, previous taper backups will need to have their info files recreated (easily done with mkinfo - no need to re-backup) Changed Mkinfo to provide a nice screen (user interface change only) Enabled escape mkinfo (of course, if escaped, the info file is incomplete) Logged errors if failed to make a directory in restore Created directory for info files if doesn't exist When reading in the tape header at the beginning of the tape, ignores leading zeroes Added a message box at end of backup/restore/mkinfo saying that everything went OK Added support for long options (GNU style) Changes Internal code change so that the common code between mkinfo & restore is in common.c Changes $ in filenames to \$ to avoid shell expansions when decompressing & compressing files Filename changed to taper-4.1.tar.gz (instead of taper41.tar.gz) to bring it in line with other Linux packages Apart from the tape header, information is written to the tape device in blocks. The size of a block defaults to 28K, but can be changed with the -x option (BLOCK_SIZE in preference file) - the old -x option (or MAX_TRANSFER_SIZE preference option) has been superseeded by this. Changed name of README to TAPER.DOC (it was too big to be a README file) Bug fixes Error in calculating volume count when using mkinfo Error handling soft links in mkinfo Added BOTH option in preference file (was in documentation but never made it into program) The preference file option for location of info files is TAPER_INFO_FILES. The README was incorrect and has been updated Fixed bug that caused extra directories to be created if an absolute path was supplied with -r in restore If backed up an absolute pathname, can now restore using that absolute pathname New in 4.02 ------------ New Added option -x num which allows one to specify the maximum number of bytes to transfer to the tape device in one hit. This is to avoid variable mode SCSI drives returning a EOVERFLOW error Changes Changed the code for parsing arguments so that some of it is modularized in common.c. In preparation for multiple tape archives Internal changes to reading/writing to tape. All calls pass through tape_read & tape_write in common.c. New in 4.01 ----------- New More detailed error messages if couldn't open/read/write to backup & info files etc.. Bug fixes Fixed -p option not working correctly Changed preferences LOG_FILE & LOG_LEVEL to LOGFILE & LOGLEVEL to match what was in the README file New in 4.0 ---------- Major change Use of archive information files. Please see the README file and the VERSION4 file for details of the change. This means that version 4 archives are not compatble with other taper archives. Other changes Lots of command line letters have been changed. Mainly to allow accommodation of feature addition. Changed the handling of stripping pathnames. The full pathname is stored in the information file and on tape. You have the option at restore time of stripping excess pathnames. See README for more details. Played around with restore & backup status boxes a bit. Nothing major. Changed the way selected files are stored in the restore module. Should speed things up. New Command Line Options -? on the command line prints help on command line options -v prints current version +/-y allows the directory to be displayed in alphabetical order or the order in which the files were backed up. +y means sort in alpha order -/+z if on, then confirmation is required when a directory is selected for restore/backup. If off, no confirmation is sought Checksums are calculated for every file that is written to the archive. When restoring, if the checksum is not correct, the file is still restored but the checksum error is recorded in the log file. Better support of errors while backing up (eg. unable to read file because no permission etc..). Added support for log files Bug Fixes Makes filename compare case sensitive (as should be under U*IX) Stopped calling setup_colors if only wanting to print directory in restore Checked to make sure that a second argument was supplied for those options that required an argument (eg. -f, -t). Had a heart attack on recursive links. Now if a link points to itself, it is ignored New in 3.0 ---------- In house. Not released for public New in 2.3.1 ------------ Bug Fixes Another attempt at trying to avoid the seg fault on startup Preference file not mandatory now New in 2.3 ---------- Enhancements Changed the way volume directories are sorted. Directories are placed first in the volume directory, next come non-regular files, then come regular files. If two filenames are the same, then the one backed up earlier is first. Thus, when the same file is backed up several times, the latest version of the file will be the one at the bottom of the volume directory list. Bug Fixes floating point exception caused if backing up files with a total count of zero bytes (eg. backing up /dev directory) floating point exception caused if restoring files whose total byte count was zero (eg. restore a /dev directory) seg fault if no volume name specified on command line in backup, if volume name was greater than window width, ugly messying up of window New Colour support - required ncurses library >= 1.9.2 Preference file support Backup - prints the size of the current directory in the files panel Restore - prints the size of the files contained in the directory in the top window (previously printed the size of the directory entry - usually the i-node size) Use of arrow keys enabled in dialog boxes Can use spacebar to select a file in backup & restore Prints a '*' to the right of a selcted file in the directory view in backup and restore New in 2.2 ---------- Minor Makefile changes Allows make dep and make depend Adds /usr/lib/ncurses in include search path Fixed including of .depend file Bug Fixes Crashed if soft link pointed to a non-existent file Not correctly using fixed directory sizes Default values not correctly initialized Crashed if no environment variable TAPE specified and no filename given New Added a FAQ file 2.1 --- First public release $Id: CHANGES,v 1.37 1996/08/05 19:01:57 yusuf Exp $