OVERVIEW This archive contains the sources for five programs (well, actually, four, since one is a symbolic link): delete undelete expunge purge lsdel The programs were written at Project Athena in response to the problem which many novice Unix users have with accidentally deleting files they didn't want to delete (Hell, I've done it :-). SUPPORTED PLATFORMS I've personally compiled these sources under Vax 4.3BSD, IBM AOS 4.3, Mach on the NeXT Machine (with the "-bsd" flag to the compiler), Ultrix 3.1 on the DECstation 3100, SunOS 4.0, A/UX, and HP-UX, and I assume they should compile with minimal trouble on other architectures. If you make it compile on another platform and you have to make changes, please send me patches. WHAT YOU NEED TO DO 1. Compile the com_err library (see below for more details) and install it if you want to (you'll have to modify the delete Makefile a bit if you don't). 2. Edit the Makefile to fit your site. See below for details. 3. Compile away! Type "make" to make without installing, or "make install" to install binaries and man pages in the locations you specified when you edited the Makefile. CUSTOMIZING THE MAKEFILE You are probably going to have to do one or more of the following to make the Makefile work for you. 1. Change the install binary directory and install man page directory (and possibly man section). 2. Change the ETINCS and ETLDFLAGS variables to point to the right place. Also, change the COMPILE_ET variable to point to a compile_et executable if you haven't installed it somewhere in your search path. 3. If you want to be able to build dependencies, then change DEPEND to the name of the program on your system that knows how to do that. 4. If your system is SYSV-like (e.g. it uses strchr and strrchr instead of index and rindex, or it has memcpy and doesn't have bcopy), and your compile doesn't define the symbol SYSV automatically, then put "-DSYSV" in the DEFINES variable. 5. If you want to support Andrew File System (AFS) mountpoint detection, and you have AFS include files and libraries available to you, then uncomment the variables starting with "AFS" and set them appropriately. 6. See the comment in the Makefile about USE_BLOCKS. If you do not know whether or not you have st_blocks or if it represents 512-byte blocks, run "make block-test" and you should be told what to do. COM_ERR LIBRARY In order to compile delete, you need to get your hands on the com_err package, which was written by members of the MIT Student Information Processing Board (SIPB). If com_err isn't available from the place from which you got the delete sources, you can get it from volume 22 of the comp.sources.unix archives, under the name "et". You should compile the library and compile_et utility that comes with it and then either install them in a "standard location" on your machine or modify the delete Makefile so that it knows where they are. The delete Makefile does not compile them by default, since they are already compiled and installed at Athena, so you should compile and install them separately from delete. BUGS It is not clear to me that the USE_BLOCKS code is going to do the right thing on all systems. If you define USE_BLOCKS and discover that lsdel, expunge or purge gives you bogus values for file sizes or total amount of space, please let me know, because it will help me to tighten up the code to work on a variety of different systems. I'M LOOKING FOR BETA-TESTERS I try to make this package run on as many different platforms as possible. However, I do not have access to a large variety of platforms, so I can't effectively test all of the changes I make. I'm therefore looking for people who are willing to beta-test changes before I release them to the general public. If you are interested in doing this, please let me know. ARCHIVE SITE The most recent version of the delete package and patches to get from previous versions to the most recent version are archived on pit-manager.mit.edu (18.72.1.58). You can retrieve them via anonymous ftp in the directory /pub/delete, or via mail-server (send a message with the subject "help" to "mail-server@pit-manager.mit.edu"). FINAL NOTES As usual, suggestions and bug fixes are always welcomed. My address: Jonathan Kamens USnail: MIT Project Athena 11 Ashford Terrace jik@Athena.MIT.EDU Allston, MA 02134 Office: 617-253-8085 Home: 617-782-0710 P.S. Please see the file "mit-copying.h" for copying and redistribution information. Copyright 1991 Massachusetts Institute of Technology. All Rights Reserved. Etc.