# Use Subversion on a Base FreeBSD



## overmind (Nov 28, 2012)

I like to install very basic FreeBSD first and then get sources and recompile everything.

I've used csup then I've moved to subversion.

My current workflow is:

1. Install FreeBSD base with a script (similar with Vermaden's script from FreeBSD Madness tutorial)

2. CVSup sources and ports

3. Compile and install *Subversion* from FreeBSD's Ports

4. Recompile world, kernel and install ports I need

5. Then later use *Subversion* instead of csup to get newer sources


So, my question is:

Is there a way to use *Subversion* instead of csup on a basic installed FreeBSD without /src and /usr/ports ?

I could use: `# pkg_add -r subversion`, then get source files, then delete all packages (Subversion package and those installed with Subversion) and then start over.

What is your workflow when installing a FreeBSD machine?


----------



## gkontos (Nov 28, 2012)

Don't use cvs for any of the above. Start with a minimum installation, the use portsnap(8)() to obtain the ports tree. 

You can then install devel/subversion and get the code using option 1 or 3 from this post.


----------



## overmind (Nov 29, 2012)

Thanks *@gkontos* !

From now on I'll use the following workflow:

1. Install FreeBSD base with a script (similar with Vermaden's script from FreeBSD Madness tutorial)

2. Get ports using portsnap:
`# portsnap fetch`
`# portsnap extract`

3. Compile and install Subversion from FreeBSD's Ports

4. Get kernel and world sources with:
`# svn checkout [url=svn://svn.freebsd.org/base/releng/9.1/]svn://svn.freebsd.org/base/releng/9.1/[/url] /usr/src`

4. Recompile world, kernel and install ports I need


----------



## gkontos (Nov 29, 2012)

Exactly, but you can combine the commands. You start by:

[CMD=""]# portsnap fetch extract [/CMD]

And moving on you update the ports tree by:

[CMD=""]# portsnap fetch update[/CMD]

Now, devel/subversion pulls some dependencies which you might not need on a production server that follows RELEASE. Instead, you can just install the source code and apply any patches for security or errata.


----------



## Sfynx (Nov 30, 2012)

I always install the FreeBSD sources along with the rest (src.txz archive) and keep these up to date with freebsd-update(8).
Since that utility came out I have never rebuilt world from source anyway, too much hassle. I can imagine though you could want to do the kernel part that way because of customizations you need (e.g. trimming it for small systems or for 32-bit ZFS support).


----------

