Date: Thu, 15 Oct 1998 12:46:57 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Endlisnis cc: djgpp AT delorie DOT com Subject: Re: Uninstaller. In-Reply-To: <3625065F.1BB892DC@unb.ca> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com On Wed, 14 Oct 1998, Endlisnis wrote: > mine, you get a list of application names (from the ver files). > With rm, after to uninstall everything, you are left with a > directory skeleton; mine gets rid of the directories as well. This is easy to do with `rm' as well: just add -r to the options: rm -rvf @manifest/foo.mft But beware: if a package's manifest file includes a name of a directory, and that directory is not exclusively for that package, you end up removing other files as well! For example, here is a fragment of the Groff manifest file: share/ share/groff/ share/groff/tmac/ share/groff/tmac/hyphen.us share/groff/tmac/tmac.andoc If you use "rm -rvf", you end up deleting everything in %DJDIR%/share and the share directory itself, which will nuke all the files of the other packages inside share. Since many DJGPP packages include directory names in the manifest files (the manifest files are generated by running the GNU `find' utility, which by default lists directories as well), it is IMHO *extremely* dangerous to remove directories when uninstalling. So if you really want to remove directories (I'm not sure this is so important, btw), then you need to be smart about it. For example, defer removing them until the very end, and if the directory isn't empty, either ask the user or skip removing it (and possibly print a suitable message).