What replaces csup?

pete wright nomadlogic at gmail.com
Wed Sep 19 14:53:16 UTC 2012

On Tue, Sep 18, 2012 at 6:41 AM, Warren Block <wblock at wonkity.com> wrote:
> On Mon, 17 Sep 2012, pete wright wrote:
>> On Mon, Sep 17, 2012 at 8:14 PM, Warren Block <wblock at wonkity.com> wrote:
>>> csup updates just the files that have changed without all the overhead.
>>> svn
>>> export can get a copy of all the current files, but it copies all of them
>>> every time, not just the changes.
>> yea i agree with you.  i wonder if it would be worth the effort of
>> sharing a svn export via rsync or httpd to make fetching delta's
>> easier and/or more efficient from a base install?
> It's an interesting idea.  If the repository files were directly accessible
> in a filesystem, that filesystem could be shared with rsyncd and some
> exclude settings without needing an export at all.  With svn bdb, the files
> are not directly accessible, but I don't know for fsfs. Probably not, so a
> periodic export would still be required.

i did some tinkering with this last night, with the thought of storing
an export in a zfs filesystem and eventually making it available
publicly via a jail.  my findings were that an export of the 9.1 relng
branch consumed ~750MB while a svn co consumed ~1.4G of disk space and
a full export took roughly 10-15mins.  i eventually decided that what
I was doing wasn't really needed by the wider end-user community.

after mulling this move from cvs/csup for a bit i came to the
conclusion that really the need for a source checkout is not as
important as it may have been several years ago.  freebsd-update is a
really great tool, and i reckon for a majority of users out there not
having to rebuild the kernel+world to get updates is a good thing(tm).
 i also reckon running a GENERIC kernel is appropriate in maybe %90 of
use-cases out there as well (i haven't had a need to build a custom
kernel on various server and workstation platforms since 2008'ish

in this context, going the binary distribution route seems like a
really smart decision.  having a majority of your users basically
running the same builds of the world and kernel *should* decrease the
amount of support bandwidth needed to get people updated and running
current code.  i also reckon having more people running the same
binaries would be helpful in finding reproducible bugs and hopefully
squash them.

so back to my original point...for sites running many systems, or
sites requiring specific builds - mirroring the source tree locally is
still very doable, and fortunately there are many well known ways to
do this (svn co, svn export, skv, etc..).  you could even argue that
having a svn checkout may make patching bugs easier as you could just
import a svn diff, rebuild and test.  i also feel, personally, that it
is nice to allow someone else build the kernel+world and let me grab
binary updates as needed.  now i can spend my clock cycles on more
important tasks, like building packages for my pkgng repo :)


pete wright

More information about the freebsd-questions mailing list