[nycbug-talk] Fwd: svn - but smaller?
Isaac Levy (.ike)
ike at blackskyresearch.net
Wed Jan 23 12:33:12 EST 2013
Hi All,
I'm sorry to cross-post, but the conversation below has been brewing with a number of us, and I wanted to highlight it.
Best,
.ike
Begin forwarded message:
> From: "Isaac (.ike) Levy" <ike at blackskyresearch.net>
> Subject: Re: svn - but smaller?
> Date: January 23, 2013 12:05:25 PM EST
> To: freebsd-stable at freebsd.org
> Cc: Mike Tancsa <mike at sentex.net>, Mike Leone <mike.leone at axialmarket.com>
>
> One of my teammates and I were just doing a write up on this very issue,
>
> On Jan 23, 2013, at 10:55 AM, Mike Tancsa wrote:
>> On 1/23/2013 10:37 AM, Oliver Brandmueller wrote:
>>>
>>> But my main concern is the system sources anyway. freebsd-update is not
>>> feasible for me, as described in the original post.
>>>
>> Actually, if you build the port minus the NEON option, its as bad in
>> terms of dependencies.
>
> --------
> THE UGLY
>
> Source for SVN: 496M (+)
> Source for FreeBSD 9.1: 746M (actual)
>
> (df output details below)
>
> -------
> THE BAD
>
> After 15+ years of FreeBSD use, I remember what a great thing cvsup was when it hit.
> However, SVN presents several problems for OS use (again):
>
> 1) License. Many of SVN's dependencies will never be available in the FreeBSD source.
> While this is totally OK for development, SVN is 3rd party software, this is unacceptable to force as 'the' respected path for OS source builds.
>
> 2) Heft: cvsup/csup was excellent for 1 thing: grabbing a REL branch. Perhaps grabbing STABLE or CURRENT. Systems administrators could QA/test new branches on massive numbers of servers quickly and efficiently.
>
> --------
> THE GOOD
>
> We've just resolved this for ourselves, and are wrapping it in a clean sh script:
> (I'd love to know where we can send it for input when we're done?)
>
> 40 lines of shell could get the jist of what users really need:
>
> - Download the src using fetch(1)
> fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.1-RELEASE/src.txz
> - Extract the tarball (to /usr/src, or wherever).
> tar -xf src.txz
>
> We're hacking out some simple script add-ons out right now for ourselves, to make this more CVSUP like:
> + flag to keep source tarball somewhere (instead of merely un-tarring it in a pipe)
> + flag to un-tar source to a particular directory
> + flag to specify OS version
> + flag to specify RELEASE, STABLE, CURRENT
> (if they exist, CURRENT may be tricky?)
> + define source server/mirror
>
> + source config in /etc, (or rc.conf ?), if exists
>
> --
> Nice-to-have extra features (some necessary for us):
> + define protocol (tricky), e.g. ftp/http/https/other
> + after unpacking, run against mtree (possibly kept on separate server or locally) to validate sources
> + exit non-zero if particular conditions exist
> + checksum tarball (possibly against checksums kept on separate server or locally) to validate sources
> + exit non-zero if particular conditions exist
> + flags to override/change tar options
>
> ++ also nice to have, more cvsup features, (I need to read through man page again for a sanity check)
>
>
> --
> Regarding SVN:
>
> I know the SVN change is a profound leap foreword in source management and collaboration, (I've carried many shops through CVS/SVN/GIT migrations as an SA).
>
> Developing/hacking in the FreeBSD source is already simpler, though as an outsider, (no commit bit), the transition has been expectedly rough-edged :)
>
> On Jan 23, 2013, at 10:06 AM, Ronald Klop wrote:
>> I've read about this initiative.
>> http://svnweb.freebsd.org/base/user/des/svnsup/
>> Maybe you can help there.
>
> Aside from the heft/licence issues I noted above, it's a bit late to consider this, cvsup is going away:
>
> - the *ports* CVS/csup infrastructure is going to be disabled on Feburary 28th
>
> - the *source* CVS/csup infrastructure is deprecated, but doesn't have a definite end-date
>
>
> On Wed, Jan 23, 2013 at 04:12:22PM +0100, Frank Staals wrote:
>>> I'm kind of surprised for the need of this though. Why not simply use
>>> portsnap if you are not actively developing ports?
>>
> On Jan 23, 2013, at 10:37 AM, Oliver Brandmueller wrote:
>> But my main concern is the system sources anyway. freebsd-update is not
>> feasible for me, as described in the original post.
>
>
> For users/administrators, to merely fetch OS sources for a given branch, it goes against the grain of nearly every reason users use FreeBSD to say 'just use svn'.
>
> Additionally, it's not been fun recently to 'just use portssnap', when the actual binary ports servers have gone through the recent security incident, (as well as all the changes).
>
> I'm not meaning to be negative here, but this has slid pretty far away from the ideals that *BSD users care about.
>
> Best,
> .ike
>
>
>
>
>
>
> # uncompressed canonical sources for svn (I believe I missed some dependencies of the dependencies)
> du -d 1 -h
> 5.5M ./apr-1.4.6
> 5.3M ./sqlite-amalgamation-3071300
> 13M ./libtool-2.4.2
> 79M ./perl-5.16.2
> 4.0M ./neon-0.29.6
> 66M ./Python-2.7.1
> 153M ./db-5.3.21
> 55M ./subversion-1.7.8
> 8.6M ./m4-1.4.16
> 3.0M ./expat-2.1.0
> 12M ./pkg-config-0.27.1
> 3.0M ./gdbm-1.10
> 67M ./gettext-0.18.1.1
> 21M ./libiconv-1.14
> 496M .
>
> ## FreeBSD 9.1 Source
> $ pwd ; du -d 1 -h
> /usr/src
> 3.2M ./bin
> 11M ./cddl
> 316M ./contrib
> 40M ./crypto
> 2.0M ./etc
> 3.7M ./games
> 5.9M ./gnu
> 1.1M ./include
> 484k ./kerberos5
> 31M ./lib
> 2.1M ./libexec
> 1.3M ./release
> 32k ./rescue
> 7.2M ./sbin
> 3.6M ./secure
> 39M ./share
> 200M ./sys
> 44M ./tools
> 13M ./usr.bin
> 18M ./usr.sbin
> 746M .
More information about the talk
mailing list