[kepler-dev] draft conversion of ptII tree from svn to cvs and svn nits

Christopher Brooks cxh at eecs.berkeley.edu
Wed Jun 4 10:08:10 PDT 2008


Hi Matt,

Ah, it looks like I was wrong.  I though FSFS was a linux specific
file system like HSFS for cdroms or NTFS on Windows.  Indeed, my
repository directory has lots of file, which indicates FSFS

Details are at
http://svnbook.red-bean.com/en/1.1/ch05.html#svn-ch-5-sect-1.3.2

Ok, so, we are not using Berkeley DB.  Yay!


The subversion client installation is complete, it took maybe an hour
for four machines.

I ended up downloading packages from http://www.sunfreeware.com.  It
took many other packages:

neon-0.25.5,
apache-2.2.6
swig-1.3.29,
expat-2.0.1,
gdbm-1.8.3,
libxml2-2.6.31,
db-4.2.52.NC,
openssl-0.9.8h,
libiconv-1.11,
zlib-1.2.3,
/local/lib/libgcc_s.so.1 and
/usr/local/lib/libstdc++.so.6 install
  libgcc-3.4.6 or
  gcc-3.4.6 or 

So now, I need to keep track of a few new packages and watch for
security holes.  I have no doubt that building from scratch on Linux
was easier in part because of RPM and in part because most of the
packages were probably already present.


A good comparison is looking at the number of shared libraries 
cvs uses and svnserve use:

source.EECS.Berkeley.EDU:root: %C2> ldd /usr/local/bin/cvs
    libxnet.so.1 =>  /lib/libxnet.so.1
      libnsl.so.1 =>   /lib/libnsl.so.1
       libc.so.1 =>     /lib/libc.so.1
 libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
       libdoor.so.1 =>  /lib/libdoor.so.1
      libuutil.so.1 =>         /lib/libuutil.so.1
     libgen.so.1 =>   /lib/libgen.so.1
       libsocket.so.1 =>        /lib/libsocket.so.1
    libm.so.2 =>     /lib/libm.so.2
 /platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
  /platform/SUNW,Sun-Fire-V240/lib/libmd_psr.so.1


source.EECS.Berkeley.EDU:root: %C2> ldd /usr/local/bin/svnserve
  libsvn_repos-1.so.0 =>   /usr/local/lib/libsvn_repos-1.so.0
     libsvn_fs-1.so.0 =>      /usr/local/lib/libsvn_fs-1.so.0
        libsvn_fs_fs-1.so.0 =>   /usr/local/lib/libsvn_fs_fs-1.so.0
     libsvn_delta-1.so.0 =>   /usr/local/lib/libsvn_delta-1.so.0
     libsvn_subr-1.so.0 =>    /usr/local/lib/libsvn_subr-1.so.0
      libsvn_ra_svn-1.so.0 =>  /usr/local/lib/libsvn_ra_svn-1.so.0
    libaprutil-1.so.0 =>     /usr/local/apache2/lib/libaprutil-1.so.0
       libexpat.so.0 =>         /usr/local/lib/libexpat.so.0
   libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
   libapr-1.so.0 =>         /usr/local/apache2/lib/libapr-1.so.0
   libuuid.so.1 =>  /usr/lib/libuuid.so.1
  libsendfile.so.1 =>      /usr/lib/libsendfile.so.1
      librt.so.1 =>    /usr/lib/librt.so.1
    libnsl.so.1 =>   /usr/lib/libnsl.so.1
   libpthread.so.1 =>       /usr/lib/libpthread.so.1
       libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libz.so =>       /usr/local/lib/libz.so
 libc.so.1 =>     /usr/lib/libc.so.1
     libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
   libaio.so.1 =>   /lib/libaio.so.1
       libmd.so.1 =>    /lib/libmd.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libscf.so.1 =>   /lib/libscf.so.1
       libdoor.so.1 =>  /lib/libdoor.so.1
      libuutil.so.1 =>         /lib/libuutil.so.1
     libgen.so.1 =>   /lib/libgen.so.1
       libm.so.2 =>     /lib/libm.so.2
 /platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
  /platform/SUNW,Sun-Fire-V240/lib/libmd_psr.so.1


Many of the packages in svnserve have had problems in the past.


I could probably build svn from source and exclude the apache code,
which would make it more secure.  However, I will eventually probably
enable apache.

Thanks for pointing out my BerkeleyDB/FSFS confusion, I feel much
better now.

_Christopher
--------

    Hi Christopher,
    
    We're using FSFS as the backend, which is the default on the binary 
    packages of svn for linux.  I think using FSFS is much better than BDB, 
    and you should go with the SVN default and use the file system if 
    possible. That probably explains the size difference you are seeing in 
    the repositories.
    
    I'm perplexed why you say that FSFS isn't possible under solaris -- it 
    works on the other OSes.  Is there some specific solaris bug?  It seems 
    you've struggled with building svn for solaris.  My experience on linux 
    was that it took about 15 minutes to install it and get it running 
    initially under apache, including downloads.  Then I spent another day 
    or so integrating it into our local systems like LDAP and changing the 
    hook scripts, etc.  We've been testing for about 7 months now on other 
    repositories, and have found it is a much nicer system to administer. 
    So we're pretty much done with the setup, and simply need to move the 
    kepler repository over using cvs2svn when we're ready to switch.
    
    Matt
    
    Christopher Brooks wrote:
    
    > I'm running svn under Solaris, so I'm using Berkeley DB.  I'd prefer
    > to use fsfs, but that appears to not be a possibility under Solaris.
    > Using a database here adds complexity, fragility and makes backups
    > harder.  A file system is a fine database for files, using Berkeley DB
    > was a poor design choice.
    > 
    >    
    > _Christopher
    > _______________________________________________
    > Kepler-dev mailing list
    > Kepler-dev at ecoinformatics.org
    > http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
    
    -- 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Matthew B. Jones
    Director of Informatics Research and Development
    National Center for Ecological Analysis and Synthesis (NCEAS)
    UC Santa Barbara
    jones at nceas.ucsb.edu                       Ph: 1-907-523-1960
    http://www.nceas.ucsb.edu/ecoinfo
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--------


More information about the Kepler-dev mailing list