From owner-freebsd-ports@FreeBSD.ORG Mon Nov 19 08:00:31 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 81D079D7 for ; Mon, 19 Nov 2012 08:00:31 +0000 (UTC) (envelope-from ohauer@gmx.de) Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by mx1.freebsd.org (Postfix) with SMTP id F0DCF8FC08 for ; Mon, 19 Nov 2012 08:00:30 +0000 (UTC) Received: (qmail invoked by alias); 19 Nov 2012 07:57:31 -0000 Received: from ip-2-205-223-74.web.vodafone.de (EHLO [2.205.223.74]) [2.205.223.74] by mail.gmx.net (mp030) with SMTP; 19 Nov 2012 08:57:31 +0100 X-Authenticated: #1956535 X-Provags-ID: V01U2FsdGVkX1+Zdt9khqWZdoRLtcNfpu412G8Aqiwm1oP3nn4y0n Ng8NColpdzExp6 Message-ID: <50A9E671.6060205@gmx.de> Date: Mon, 19 Nov 2012 08:57:37 +0100 From: olli hauer User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 MIME-Version: 1.0 To: freebsd-ports@freebsd.org Subject: Re: Let's talk about subversion/svn References: <20121119071607.GA58307@icarus.home.lan> In-Reply-To: <20121119071607.GA58307@icarus.home.lan> X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Nov 2012 08:00:31 -0000 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@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@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-3.7.14.1 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@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.