Date: Fri, 12 Oct 2007 19:39:32 +0200 From: Mel <fbsd.questions@rachie.is-a-geek.net> To: freebsd-questions@freebsd.org Subject: Re: I performed an rm -r on /var/lib/pkg Message-ID: <200710121939.32491.fbsd.questions@rachie.is-a-geek.net> In-Reply-To: <1192208279.33933.84.camel@secretariat.lanl.gov> References: <1192134379.33933.9.camel@secretariat.lanl.gov> <1192142367.33933.32.camel@secretariat.lanl.gov> <1192208279.33933.84.camel@secretariat.lanl.gov>
index | next in thread | previous in thread | raw e-mail
On Friday 12 October 2007 18:57:59 James wrote:
> This isn't quite as simple as I'd hoped it'd be to fix. Here's my
> findings thus far (I haven't started writing my script yet, but I will
> later today):
>
> 1. /usr/ports/distfiles contains everything I need
> 2. distfiles contains several versions of some packages, but that's
> pretty trivial to resolve.
> 3. distfiles contains some packages whose source tarballs are named
> *differently* to the packages themselves, such as unrar.
>
> It's number 3 that's getting me. It looks like the simplest thing might
> be an if statement:
>
> if (make search name=$PACKAGE)
> score!
> else
> grep -r $PACKAGE /usr/ports
>
> But before I go that far, I wanted to see if anyone had an alternate
> idea for what might work.
Depends on your time and harddisk speed I suppose. You could:
for CAT in *; do
if test -d ${CAT}; then
cd ${PORTSDIR:="/usr/ports"}/${CAT}
for PORT in *; do
if test -d ${PORT}; then
cd ${PORT}
make -V DISTNAME >>/usr/ports/distname.idx
cd ..
fi
done
fi
done
This would give you a distname index to work with. I checked INDEX-6 but don't
see a DISTNAME listed in there. I suppose I'd make the decision myself based
on how many I can't locate. Doing this for 10 ports I can easily guess myself
is nice for academics, but not when you're on the clock.
--
Mel
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710121939.32491.fbsd.questions>
