Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Mar 2001 22:27:10 +0200
From:      "Andre Goeree" <abgoeree@uwnet.nl>
To:        Will Andrews <will@physics.purdue.edu>
Cc:        ports@freebsd.org, dan@langlille.org.skystream.nl
Subject:   Re: Error: your port uses an old layout.
Message-ID:  <20010331222710.B13539@mandark.attica.home>
In-Reply-To: <20010331131052.E15392@casimir.physics.purdue.edu>; from will@physics.purdue.edu on Sat, Mar 31, 2001 at 01:10:53PM -0500
References:  <200103310749.f2V7mxf78610@ns1.unixathome.org> <20010331131052.E15392@casimir.physics.purdue.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Mar 31, 2001 at 01:10:53PM -0500, Will Andrews wrote:
> On Sat, Mar 31, 2001 at 07:48:58PM +1200, Dan Langille wrote:
> > 2 - Perhaps this will be answered by Q1, but:  Lately, the most common 
> > solution I've seen hadned out is rm -rf /usr/ports and cvsup again. Not 
> > only is that a huge waste of bandwidth, it's also a huge burdon on those 
> > with dial up connections.  Is there a more practical solution?
> 
> Yes.  A script to find and prune all the old stuff is more practical.
> Only problem is, nobody's written one yet.  The suspects in particular
> are all of the pkg/ and patches/ directories.
> 
> This is a quick hack script (and untested too, but I doubt it will harm):
> 
> find . -name pkg -type d -mindepth 3 -maxdepth 3 | xargs rm -rf
> find . -name patches -type d -mindepth 3 -maxdepth 3 | xargs rm -rf
> find . -name md5 -type f -mindepth 4 -maxdepth 4 | xargs rm -rf
> 
> In the toplevel of your ports tree (i.e. you cd /usr/ports before this..
> I've made this a bit more flexible in case someone renamed their ports
> directory to something else).  Only problem is this kind of thing
> can take awhile...
> 
> -- 
> wca

Please read and try out the filter i suggested in my previous
reply. It takes care of *all* problems related to CVSup not deleting
files. As you experienced it's not enough to just remove pkg and
patches... My approach is to take the CVSup checkouts file(s) and the
information about "live files" (files that should exist on disk)
stored in the checkouts files. The filter i described does just that,
it makes a list of "live files". By copying these live files to another
location or rolling a tarball of these files (and these files only) as
i suggested you get rid of things that shouldn't be in the portsdir.
After copying/rolling the tarball you rm -fr the old portsdir and
copy/untar the live files to your portsdir. This is all there is to be
done. No CVSup from scratch needed anymore :-)

And you know what, i've tested it and it works great!

--Andre.

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




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