From owner-freebsd-questions Tue Jul 9 11:40:12 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id LAA27263 for questions-outgoing; Tue, 9 Jul 1996 11:40:12 -0700 (PDT) Received: from palmer.demon.co.uk (palmer.demon.co.uk [158.152.50.150]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id LAA27258 for ; Tue, 9 Jul 1996 11:40:08 -0700 (PDT) Received: from palmer.demon.co.uk (localhost [127.0.0.1]) by palmer.demon.co.uk (sendmail/PALMER-2) with ESMTP id TAA28438; Tue, 9 Jul 1996 19:39:33 +0100 (BST) To: Michael Searle cc: questions@freefall.freebsd.org From: "Gary Palmer" Subject: Re: Ports suggestion In-reply-to: Your message of "Tue, 09 Jul 1996 11:43:37 -0000." Date: Tue, 09 Jul 1996 19:39:32 +0100 Message-ID: <28436.836937572@palmer.demon.co.uk> Sender: owner-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Michael Searle wrote in message ID : > I think this is is a problem with the pkg_delete (it is doing rm, not rm > -r), not a cheat - there are some ports with _hundreds_ of files, often in a > single directory /usr/local/lib/fatport. Unless there is some reason why > it is like this? The only reason I can see is mistakes in the PLIST being > more likely to do bad things, but using the cwd should prevent this (the > absolute worst that could happen is nuking /usr/local and having to > reinstall all the packages from the CD.) Consider if somehow the PLIST got `.*' in it? rm -r would blindly walk down and nuke your entire system. `rm -r' in automated packages (which require the manual intervention of people to create in the first place) are to be avoided at ALL costs. I, for one, would rather see a 20 or 30k PLIST file rather then a 1 line PLIST file and a `rm -r' in pkg_delete. If you look at stuff like the emacs port, it has a full packing list, so I see NO reason why others shouldn't too. Constructing a packing list (for your example of something totally under /usr/local/lib/fatport) is as simple as: find /usr/local/lib/fatport -type f -print | sed "s%/usr/local/%%" > PLIST and if it has a binary or two, and perhaps even a man page, it's easy enough to add those in once the bulk listing is done. Heck, you can even do something like: cd /usr/local find . -type f -ls > .before (go and install the port) find . -type f -ls | sort > .after diff .before .after | grep "^>" | awk " { printf '%s', $12 } " | sed "s%./%%" > PLIST and get a fair representation of what was added / updated in /usr/local by doing the `make install'. I'm sorry, the only excuse for not having full packing lists in ports is laziness, and if I'm in a port doing an update for some other reason, then I'll try and correct the packing list if the original author didn't submit one. (I'm sorry if I just offended some people who submit packages to us, but I know that both Satoshi and myself prefer full packing lists to packing lists with a few directories in them) Gary -- Gary Palmer FreeBSD Core Team Member FreeBSD: Turning PC's into workstations. See http://www.FreeBSD.ORG/ for info