# Cannot update /usr/src using svn



## rihad (Sep 15, 2013)

Hi, all. I am running a freshly installed 9.2-RC3 here. Today I wanted to grab /usr/src and rebuild it from source. So I install devel/subversion-static and do `svn checkout [url=svn://svn0.us-west.freebsd.org/base/releng/9.2]svn://svn0.us-west.freebsd.org/base/releng/9.2[/url] /usr/src` as described in the handbook. But it does nothing (except for creating a /usr/src/.svn directory) and just sits there. No HDD/network/CPU activity whatsoever. It also ignores ^C and `kill -TERM` signals. Only `kill -KILL` kills it. So frustrating. cvsup was so much user-friendlier


----------



## rihad (Sep 15, 2013)

OK, switching to http:// did the trick. Of course /usr/src/* installed by the installation CD didn't count as a SVN checkout and `svn up` refused to update it, so I had to `rm -rf /usr/src` and checkout a fresh copy lasting well over an hour. /usr/src is now 1.6 GB, and /usr/src/.svn is exactly half of that. Developers will probably continue using svn if it fits their bill better, but PLEASE bring csup back to life for end users  So we don't have to carry the extra 800 mb MB around (csup never created any extra directories), and can `make update` right from the sources installed by CDs, which svn can't.


----------



## fonz (Sep 15, 2013)

rihad said:
			
		

> So we don't have to carry the extra 800 mb around


Hmmm, 800 millibit is only one tenth (0.1) of a byte. That doesn't sound like a whole lot :e


----------



## rihad (Sep 15, 2013)

LOL, @fonz, I've never really paid attention to capitalisation rules (as in MB for bytes, and Mb for bits), as it's normally clear what the point is from the context. But you're right


----------



## fonz (Sep 15, 2013)

Oh, and to answer your question/request: FreeBSD has switched from CVS to Subversion, so c(v)sup really is dead. However, I do seem to remember that some people have worked out a way to take the SVN source and "re-import" it into a CVS repository. I don't remember the details, but a forum search might help.


----------



## wblock@ (Sep 15, 2013)

There is net/svnup.


----------



## rihad (Sep 15, 2013)

wblock@ said:
			
		

> There is net/svnup.



Thanks, I knew about it, but it gave me more trouble than it was worth... chewing up 100% CPU, or sitting there doing nothing. Besides, devel/subversion-static is also just one port, with no runtime-dependencies, i.e. it can be installed/upgraded with a simple `portmaster -v --delete-build-only devel/subversion-static` if so desired. And it chimes in nicely with `make update`, since AFAIK the source expects to execute `svn`, not `svnup` (enabled by SVN_UPDATE=yup in /etc/make.conf)


----------



## ShelLuser (Sep 15, 2013)

Glad to read you solved it.

But since you mentioned updates I can't help wonder: you do know that freebsd-update can also be used to keep your source tree up to date? Basically it's used to keep your whole base system up to date, but since the base system includes the source code.

Of course it probably won't be of much use if you're experimenting with (developer) previews such as the 9.2-RC4 candidate, but still figured I'd mention it.


----------



## rihad (Sep 15, 2013)

Thanks, @ShelLuser, I know about freebsd-update, it's just that I like rebuilding the kernel after disabling COMPAT_* options for previous OS releases, disable INET6 to make ipfw's ruleset a bit less verbose (see ipv6_available in /etc/rc.firewall), and apply a small patch to ipfw for our needs (to make it suitable for running as a daemon - normally it exits when specified rule does not exist). AFAIK freebsd-update wasn't designed with custom world in mind.


----------

