Cronjob Cvsup -> What?
MFV
mrkvrg at acm.org
Sun Jan 27 14:57:24 UTC 2013
Hello Matthew,
Thanks for an outstanding piece of documentation. It resolves a number of
concerns I had and convinced me to move from portsnap where I discovered an
apparent bug that gave me security concerns. More specifically I manually
edited /usr/ports/UPDATING and portsnap did not recognise the change and
download a proper copy.
The only downside with svn seems to be the 728 MB footprint.
Cheers ...
Mark
On Sun, 27 Jan 2013 05:46:23 Matthew Seaman wrote:
> On 27/01/2013 08:35, Zyumbilev, Peter wrote:
> > Last 10 years I am using cvsup. Any good guide for the transition to
> > subversion ?
>
> Most of the guides around freebsd.org are aimed at developers who will
> be using SVN read-write. For simple read-only use (ie. not checking
> anything into the repository) the following should suffice:
>
> 0) Install svn
>
> It isn't part of the base system, and it has too many external
> dependencies with different licensing terms for it to be bought
> in easily. There's been some discussion about this, but it hasn't
> happened yet. If it did, the imported version would be fairly
> minimal, and anyone wanting to use it for serious development
> would probably just grab the ports version anyhow.
>
> If all you want to do is pull down a copy of the sources then you
> can turn off most of the options to reduce the fairly large
> dependency tree to something more manageable:
>
> BDB=off: Berkeley Database
> BOOK=off: Install the Subversion Book
> ENHANCED_KEYWORD=on: Enhanced svn:keyword support
> FREEBSD_TEMPLATE=on: FreeBSD Project log template
> GNOME_KEYRING=off: Build with GNOME Keyring auth support
> KDE_KWALLET=off: Build with KDE KWallet auth support
> MAINTAINER_DEBUG=off: Build debug version
> MOD_DAV_SVN=off: mod_dav_svn module for Apache 2.X
> MOD_DONTDOTHAT=off: mod_dontdothat for Apache 2.X
> NEON=off: WebDAV/Delta-V repo access module (neon)
> P4_STYLE_MARKERS=off: Perforce-style conflict markers
> SASL=off: SASL support
> SERF=on: WebDAV/Delta-V repo access module (serf)
> STATIC=off: Build static version (no shared libs)
> SVNAUTHZ_VALIDATE=off: install svnauthz-validate
> SVNMUCC=off: Install Multiple URL Command Client
> SVNSERVE_WRAPPER=off: Enable svnserve wrapper
> TEST=off: Run subversion test suite
>
> There is the new devel/subversion-static port which does all that,
> and compiles subversion with static linkage so it has *no* runtime
> dependencies on anything else. The disadvantage here is that if
> there is, say, a security hole discovered in the one of the
> libraries subversion links against, you won't secure the
> statically linked copy of subversion simply by updating to a fixed
> version of the shlib. subversion-static is really only intended
> for providing a one-off binary package that people can download
> and install in order to bootstrap a more standard FreeBSD
> environment.
>
> 1) Choose a SVN mirror close to you. Currently there are two choices:
>
> svn0.us-west.FreeBSD.org -- Western USA
> svn0.us-east.FreeBSD.org -- Eastern USA
>
> Use whichever one gives you best performance. Certainly from
> Europe at the moment us-east seems to be the best choice.
>
> The number of SVN mirrors and their global coverage should increase
> over time, but it will never need as many servers as the old cvsup
> network.
>
> The canonical list of SVN mirrors is here:
>
>
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/svn-mirrors.html
>
> 2) Choose a protocol for access the SVN servers. Your choices in
> order of preference are
>
> svn://
> https://
> http://
>
> Use svn:// for best performance. If you're concerned about MITM
> attacks injecting trojans into the FreeBSD sources, then use
> https and be sure to verify the certificate hashes on first
> connection. Otherwise, if you're stuck behind a restrictive
> firewall, use http://
>
> 3) Choose which branch you want to mirror. It's relatively easy to
> switch between branches and doesn't involve downloading the entire
> contents of /usr/src all over again if you change your mind.
> However right now, the viable choices are
>
> head --- Current, the bleeding edge, really only suitable
> for development purposes
>
> stable/9 --- 9-STABLE Still a rapidly changing development
> branch, but not quite so close to the edge, and
> with less bleeding involved.
>
> stable/8 --- 8-STABLE Ditto.
>
> releng/9.1 --- 9.1-RELEASE This tracks any security patches to
> version 9.1. However, in this case you would be
> better advised to use freebsd-update(8) to maintain
> your /usr/src directory tree instead.
>
> Similarly releng/9.0 releng/8.3 releng/7.4 for other supported
> release versions.
>
> Don't be fooled into pulling down release/9.1.0 or the like --
> this is not a *branch* but a *snapshot*. If you think you want
> release/9.1.0 then you really want releng/9.1 instead.
>
> 4) Make sure /usr/src is empty. Pre-existing files can cause you
> grief at some unexpected later date even if they don't cause the
> initial checkout to fail.
>
> 5) Put it all together. Run a command like so to check out the
> content of /usr/src for your chosen branch from your chosen SVN
> mirror using your chosen protocol:
>
> svn co {proto}://{svn-mirror}/base/{branch} /usr/src
>
> So, what I would do to checkout 9.1-STABLE from the us-east mirror
> using svn as the protocol is:
>
> svn co svn://svn0.us-east.FreeBSD.org/base/stable/9 /usr/src
>
> Then wait for that to complete, as it's going to download a few
> hundred MB of code.
>
> Now, you generally only need to do that step one time. For regular
> updates to the sources, just run:
>
> cd /usr/src
> svn up
>
> This will re-use all the settings you chose above. If you want to
> change any of the settings then use 'svn switch' from the top to the
> checked-out tree (ie. cd /usr/src) -- this will avoid downloading the
> whole repo all over again...
>
> svn help switch -- read for clues
>
> svn switch ^stable/8 -- change to the 8.4-STABLE sources
>
> svn switch --relocate svn:// http:// -- use HTTP instead
>
> svn switch --relocate svn://svn0.us-east.FreeBSD.org \
> svn://svn0.us-west.FreeBSD.org -- switch to a different
> mirror
>
> To see what setting are currently in force:
>
> svn info
>
> Working out how to apply these instructions to /usr/ports or /usr/doc is
> left as an exercise.
>
> Cheers,
>
> Matthew
More information about the freebsd-questions
mailing list