# updating src for Release 8.4



## DrObscure (Oct 4, 2014)

I would like to update my base release of the 8.4 tree if possible..
I used to use cvsup to update my past version of FreeBSD, but it seems the cvsup servers have been discontinued..

What is the current method and or tool  for updating the src tree?
freebsd-update seems to only do the binaries..

And is portmaster the prefered way to update the ports tree?
I have some packages that no longer have valid ftp sites, and such..

thx..


----------



## kpa (Oct 4, 2014)

I think freebsd-update(8) can update the source but you need to configure it to do so if I remember right. The other method and the recommended one if you're going to use source based updates/upgrades is Subversion. There's a section dedicated for the subject in the FreeBSD handbook:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/svn.html

Correction: freebsd-update(8) will update the sources by default but they have to be installed first somehow, sysinstall(8) can probably be still used to do that on 8.4.


----------



## Terry_Kennedy (Oct 4, 2014)

DrObscure said:
			
		

> I would like to update my base release of the 8.4 tree if possible..
> I used to use cvsup to update my past version of FreeBSD, but it seems the cvsup servers have been discontinued..
> 
> What is the current method and or tool  for updating the src tree?


If you were using cvsup(1) to keep your source tree synchronized with the master servers, then you probably want to do the same thing using Subversion, which is the current method. For 8.4, you can either install the full devel/subversion port or the net/svnup, which is a lightweight updater similar to the defunct net/cvsup. svnup had some issues the last time I looked at it (which must have been a year and a half ago now), but the developer was quite active and released updates on a regular basis. If you want to use full Subversion, I recommend reading this blog post. It is also a year and a half old, but covers the issues in detail.

For 10.x and newer, the base system includes svnlite(1), which is just enough of Subversion to update the FreeBSD source tree.


----------



## reub2000 (Oct 5, 2014)

> If you want to use full Subversion, I recommend reading this blog post. It is also a year and a half old, but covers the issues in detail.


So the bloggers objection to portsnap is that you have to delete the tree before using svn? Isn't that assuming you want to use svn in the first place? And why would you use it unless you where planning on making your own changes to the ports tree?


----------



## Terry_Kennedy (Oct 5, 2014)

reub2000 said:
			
		

> So the bloggers objection to portsnap is that you have to delete the tree before using svn? Isn't that assuming you want to use svn in the first place? And why would you use it unless you where planning on making your own changes to the ports tree?


He seems to be saying that portsnap wastes space (he refers to a complete tarball of the ports tree and INDEX-x files for versions of FreeBSD not installed, for example).

It seemed to me that the original poster wanted to do both the system source tree and the ports tree. portsnap only does the ports tree and I'm not aware of any way to get an up-to-date source tree without doing a svn checkout or update. If you use svn for the system sources, you may as well use it for ports as well...


----------



## kpa (Oct 5, 2014)

Subversion wastes some space also because it keeps an index of the commits in the .svn folder that is not needed for compilation (except for the rNNNNNN identifier in `uname -a` output). The optimal way to sync sources and ports would probably be net/rsync but the ports and source trees are not available that way as far as I know.


----------



## reub2000 (Oct 6, 2014)

kpa said:
			
		

> Subversion wastes some space also because it keeps an index of the commits in the .svn folder that is not needed for compilation (except for the rNNNNNN identifier in `uname -a` output). The optimal way to sync sources and ports would probably be net/rsync but the ports and source trees are not available that way as far as I know.


One advantage of rsync is that it could be used to update the ports tree included with the installer.


----------

