Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Jul 1996 19:39:32 +0100
From:      "Gary Palmer" <gpalmer@FreeBSD.ORG>
To:        Michael Searle <searle@longacre.demon.co.uk>
Cc:        questions@freefall.freebsd.org
Subject:   Re: Ports suggestion 
Message-ID:  <28436.836937572@palmer.demon.co.uk>
In-Reply-To: Your message of "Tue, 09 Jul 1996 11:43:37 -0000." <mEAF73AAF@longacre.demon.co.uk> 

next in thread | previous in thread | raw e-mail | index | archive | help
Michael Searle wrote in message ID
<mEAF73AAF@longacre.demon.co.uk>:
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?28436.836937572>