Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jan 2013 12:05:25 -0500
From:      "Isaac (.ike) Levy" <ike@blackskyresearch.net>
To:        freebsd-stable@freebsd.org
Cc:        Mike Leone <mike.leone@axialmarket.com>
Subject:   Re: svn - but smaller?
Message-ID:  <1358960762-2331017.37282719.fr0NH5PFb026896@rs149.luxsci.com>
In-Reply-To: <510007F4.20701@sentex.net>
References:  <20130123144050.GG51786@e-Gitt.NET> <87mww00w89.fsf@Shanna.FStaals.net> <20130123153724.GA79995@e-Gitt.NET> <510007F4.20701@sentex.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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:
>>=20
>> But my main concern is the system sources anyway. freebsd-update is =
not=20
>> feasible for me, as described in the original post.
>>=20
> 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?=20
>=20
On Jan 23, 2013, at 10:37 AM, Oliver Brandmueller wrote:
> But my main concern is the system sources anyway. freebsd-update is =
not=20
> 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	.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1358960762-2331017.37282719.fr0NH5PFb026896>