Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Nov 2012 11:02:03 +0100
From:      Polytropon <freebsd@edvax.de>
To:        freebsd@dreamchaser.org
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: how to correct corrupted ports tree?
Message-ID:  <20121117110203.38708832.freebsd@edvax.de>
In-Reply-To: <50A718F5.8040806@dreamchaser.org>
References:  <50A718F5.8040806@dreamchaser.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 16 Nov 2012 21:56:21 -0700, Gary Aitken wrote:
> I don't see a way to force refetch of the actual ports files
> like "distinfo" when portsnap thinks the port is up to date.

You cansolve the problem of "few per-file mismatches" by
using the traditional CVS approach of updating the ports
tree. Only files not matching the current (on-server) content
will be updated.

For example, if you can "predict" in which categories errors
appear, only update those. Let's assume the problem you experience
is only in the ports base directory.

Create a file /etc/sup/ports.sup with the following content:

	*default host=cvsup.freebsd.org
	*default base=/var/db
	*default prefix=/usr
	*default release=cvs tag=.
	*default delete use-rel-suffix
	*default compress
	ports-base

You can use "ports-lang" to update the lang category only, or
"ports-all" for the whole tree. Note that incorporating all
those small deltas may take some time!

An example file with all categories can be found here:
/usr/share/examples/cvsup/ports-supfile

Then add this to /etc/make.conf:

	SUP_UPDATE=	yes
	SUP=		/usr/bin/csup
	SUPFLAGS=	-L 2
	SUPHOST=	cvsup.freebsd.org
	PORTSSUPFILE=	/etc/sup/ports.sup

Maybe choose a near mirror for better performance.

Now do this:

	# cd /usr/ports
	# make update

Now according to this example, the base files for /usr/ports will
be checked for changes and (being different) will be updated.

Also note that this approach sometimes is more current than
using portsnap. There might be deltas in the CVS ports tree
already that might not be yet in the most current ports snapshot.
However, this is an "old-fashioned" approach; I'm not sure for
how long it will work. :-)

See "man 5 make.conf" for details, as well as "man 7 ports".


-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



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