Let's talk about subversion/svn

Jeffrey Bouquet jeffreybouquet at yahoo.com
Mon Nov 19 11:52:19 UTC 2012

--- On Sun, 11/18/12, olli hauer <ohauer at gmx.de> wrote:

From: olli hauer <ohauer at gmx.de>
Subject: Re: Let's talk about subversion/svn
To: freebsd-ports at freebsd.org
Date: Sunday, November 18, 2012, 11:57 PM

On 2012-11-19 08:16, Jeremy Chadwick wrote:
> Given the incessant focus on everything using Subversion now (please do
> not get me started, it will be like arguing with a brick wall), I'd like
> to know what the plan is for minimising the number of dependencies.
> The present subversion **package** on the official FTP servers is for
> subversion-1.7.6:
> root at icarus:~ # ftp ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/
> ...
> ftp> dir subversion*.tbz
> 229 Entering Extended Passive Mode (|||10279|).
> 150 Here comes the directory listing.
> lrwxr-xr-x    1 967      100            32 Oct 14 14:53 subversion-java.tbz -> ../All/subversion-java-1.7.6.tbz
> lrwxr-xr-x    1 967      100            27 Oct 13 13:24 subversion.tbz -> ../All/subversion-1.7.6.tbz
> lrwxr-xr-x    1 967      100            28 Oct 14 01:54 subversion16.tbz -> ../All/subversion-1.6.18.tbz
> 226 Directory send OK.
> And this is partially what it pulls down dependency-wise:
> root at icarus:~ # pkg_add -r -n subversion
> Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/subversion.tbz...  Done.
> Package dependency sqlite3- for ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/subversion.tbz not found!
> Package dependency gdbm-1.9.1 for ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/subversion.tbz not found!
> Package dependency db42-4.2.52_5 for ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/subversion.tbz not found!
> Package dependency neon29-0.29.6_4 for ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/subversion.tbz not found!
> I say partially because due to use of -n, some of those packages weren't
> downloaded, thus the recursive dependency nature is lost (I consider
> this mostly a bug with -n when used with a remote package, but it could
> also be deemed a feature).
> However, GDBM and Oracle/Sleepycat DB aren't (by default) enabled
> in 1.7.7 which is what's in ports currently:
> root at icarus:/usr/ports/devel/subversion # make run-depends-list
> /usr/ports/databases/sqlite3
> /usr/ports/devel/apr1
> /usr/ports/devel/gettext
> /usr/ports/textproc/expat2
> /usr/ports/www/neon29
> So GDBM and Oracle/Sleepycat DB are now disabled by default (good!),
> but now we have the following (and I will describe each of them for
> readers so they know what they're for):
> - SQLite -- which I believe is used for data storage for commits/etc.
>   and tends to work well for that, so I'm okay with it.
> - gettext -- needed for NLS, which I've learned to accept although I'd
>   rather everything today just use UTF-8 universally (idealistic me).
>   However, there are many people who are heavy WITHOUT_NLS advocates,
>   and I used to be one, so they should be honoured (IMO).
> - APR -- have yet to figure this out.  All I can think of is "svn is
>   an Apache project and we like injecting all our crap into everything,
>   so enjoy!".
> - expat2 -- XML parsing library, which I also have yet to figure out
>   the need for.  What VCS uses XML and why?  Is this really *needed*?
> - neon -- OPTIONS description labels this as "WebDAV/DAV support",
>   but in reality what this provides that's most important is HTTPS/SSL
>   support.  I found this out the hard way when building svn for a
>   customer 4-5 months ago.  NEON_DESC should really become this:
>   NEON_DESC=WebDAV/Delta-V access module + HTTPS/SSL support
> I want people reading this to remember olden days, because it seems
> we've taken a step backwards when it comes to applying minimalistic
> approaches and KISS principle.  I want people to remember the days of
> this command:
> pkg_add -r cvsup-without-gui

For most ports you can find the answer of dependency directly in the source.
Example subversion:

$> cd devel/subversion
$> make extract
$> less work/subversion-1.7.7/INSTALL

Subversion also depends on the following third-party libraries:
      * SQLite  (REQUIRED for client and server)
      * libz  (REQUIRED for client and server)
      * libapr and libapr-util (REQUIRED for client and server)
      * libserf or libneon  (OPTIONAL for client)

Hope this helps for all your other dependency related questions.

freebsd-ports at freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"

/subversion/ has crashed Xorg building here in an Xterm. From now on I'd probably only build it o/o X.  Could the project create packages for it before
putting up source so that portmaster etc. skips compiling ?? 
With the deprecation of csup, on this primary machine I have a duplicate ports
tree that I for now rsync (gcp -Rvu actually, I've not yet figured out rsync for it
enough, not wishing deletions)  back to /usr/ports.
Howsoever, I wanted the single-port "csup ... category/port supfile.2 "
so put together a .sh that does the same for a single port...
svn ... /usr/ports/"$1"/"$2"  (several lines completing that synopsis...)

J. Bouquet

More information about the freebsd-ports mailing list