Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Feb 2001 18:21:33 +0100
From:      "Andre Goeree" <abgoeree@uwnet.nl>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        stable@freebsd.org
Subject:   Re: cvsup problem
Message-ID:  <20010221182133.A80548@mandark.attica.home>
In-Reply-To: <20010220200703.B43311@mollari.cthul.hu>; from kris@obsecurity.org on Tue, Feb 20, 2001 at 08:07:03PM -0800
References:  <3A92BEDE.2466B71F@infovia.com.ar> <20010220120528.B36208@mollari.cthul.hu> <20010220222927.B28847@mandark.attica.home> <20010220200703.B43311@mollari.cthul.hu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 20, 2001 at 08:07:03PM -0800, Kris Kennaway wrote:
> On Tue, Feb 20, 2001 at 10:29:27PM +0100, Andre Goeree wrote:
> 
> > I couldn't agree more:)
> > But you forgot to add that people should read bsd.port.mk.
> > 
> > .if (!defined(PATCHDIR) && exists(${MASTERDIR}/patches)) || \
> >         (!defined(PKGDIR) && exists(${MASTERDIR}/pkg)) || \
> >         (!defined(MD5_FILE) && exists(${MASTERDIR}/files/md5))
> > pre-everything::
> >         @${ECHO} "Error: your port uses an old layout.  Please update it to match this bsd.port.mk.  If you have updated your ports collection via cvsup and are 
> > still getting this error, see Q12 and Q13 in the cvsup FAQ on http://www.polstra.com for further information."
> >         @${FALSE}
> > 
> > It tells you exactly what's wrong with the port lay-out.
> 
> Yep, it tells you what is triggering the error, but the larger issue
> is that there may be other things like patches which aren't being
> deleted by cvsup for the reasons explained in the FAQ, which will
> still cause your build to fail in ways which don't produce a helpful
> error message.
> 
> Kris

Well, that's *easy*, take /usr/ports for example:

 cat checkouts_file |sed 's/^C /XXX /' |grep -w XXX | \
	awk '{print $2}' |sed 's/,v//' >/tmp/filelist

This will give you a list of the files that are "alive" in the
checkouts file (should be on your disk) in the format: 
relative_path/filename (like: ports/archivers/bzip2)
If you have more than one checkouts file "cat" them to one file first.

Now do:
cd /usr
tar -cf /wherever/tarball --files-from /tmp/filelist
rm -fr ports (don't forget to move your distfiles to a save place!)
tar -xf /wherever/tarball

And it's done:) your /usr/ports is *fresh* again as if you
just CVSup'ed the stuff. In fact the script i'm writing uses
this little bit of *magic* but nobody seems to care....

-- Andre.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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