Where's the docs for FreeBSD maintenance with Subversion?

Fabian Wenk fabian at wenks.ch
Thu Jul 4 15:32:02 UTC 2013


Hello Chris

On 04.07.2013 10:00, Chris H wrote:
> working on a fairly wobbly system. I'm on RELENG_8 (8.4), and would like to sync my src &&
> ports via the (now defacto) subversion method. My previous experience is with the client

For /usr/src/ I did the following steps:

Adjust the variables in /etc/make.conf (remove the "old" SUP* 
variables and add):
SVN_UPDATE=yes
SVN=/usr/local/bin/svn

Then do the following steps:

Backup your custom kernel config file and anything else you have 
customized in /usr/src/, or if you have the space, use:
mv /usr/src /usr/src-old
rm -rf /usr/src		# only if you did not 'mv ...'
svn checkout svn://svn.freebsd.org/base/releng/8.4 /usr/src
Restore your custom kernel config file
cd /usr/src
make update	# should not sync anything, just for testing

Everything else is "almost" identical as before with csup/cvsup.

The only drawback with the subversion method is, that when you 
would like to upgrade to e.g. RELENG_8_5, you need to redo the 
above steps with removing /usr/src and checkout. This was more 
easier with the csup/cvsup method with just adjusting the version 
in the supfile. If there is an easier solution to upgrade an 
existing svn checkout from e.g. 8.4 to 8.5, please tell me.

With the above created svn checkout and then doing the 'make 
update' you will get the updates from any Security Advisory 
affecting your current RELEASE, as it was with csup/cvsup.

The checkout with subversion uses significant more disk space 
than it was with csup/cvsup before. With subversion 1.8 I have 
~720 MB (was ~770 MB with svn 1.7) in /usr/src/.svn (RELEASE-9.1) 
and ~670 MB (was ~830 MB with svn 1.7) in /usr/ports/.svn.

A fresh install of a FreeBSD system is also an interesting 
challenge. In the past I did the install without Ports, then 
fetched a newer ports.tar.gz from the mirror and extracted it 
into /usr/ports/ and did use csup to get it up-to-date.
With subversion this is a little bit more complicated, as 
subversion is also in the Ports and not in the FreeBSD base. You 
could install subversion and all the dependencies from packages 
and then do the svn checkout of /usr/ports/ and then upgrading 
the installed packages. Or you install the Ports and use portsnap 
to upgrade, build subversion and dependencies, remove /usr/ports/ 
again (probably preserve /usr/ports/distfiles/) and do the svn 
checkout of /usr/ports/.


bye
Fabian


More information about the freebsd-stable mailing list