Re: svn - but smaller?

2013-01-23 Thread Emanuel Haupt
Oliver Brandmueller  wrote:
> Hi,
> 
> in ancient times there was cvsup. cvsup was a PITA if you wanted (or 
> needed) to install it via ports, the only reasonable way was to use 
> pkg_add for that if you didn't want to pollute your system with 
> otherwise unneeded software.
> 
> Then there came csup. Small, in the base. You could install FreeBSD
> and the first task (for me and my environment) was often to simply
> csup to -STABLE (or a known good version of that) and to build an
> up-to-date and customised system. Like tayloring make.conf and
> src.conf to my needs and leave out most of the stuff I don't need on
> my system and in the kernel. Software and drivers that aren't there
> can't fail and won't be a security problem.
> 
> Times have been changing, we're now up to svn. svn is far more modern 
> than cvs and there are pretty good reasons to use it.
> 
> However, I either overlook something important or we are now at the 
> point we had with cvsup in the early days: The software I need to 
> (source-)update the system doens't come with the base and installing
> svn is a PITA. It pulls in a whole lot of dependencies, at the time
> being in FBSD-9.1-R I cannot even pkg_add -r subversion out of the
> box. And in the end I have my system polluted with software and
> libraries I don't really need in many cases for anything else.
> 
> So, is there some alternative small svn client, that leaves a 
> drastically smaller footprint probably somewhere around, probably
> even in the ports or is there anything I'm missing? The current
> situaion for me is a bit annoying. From the user's or admin's point
> of view at least. I didn't even see an option in svn to not build the
> server components, which would probably already help to make things
> smaller?
> 
> Thanx,
>   Oliver

devel/subversion already has an option to build a static version. A
solution could be to create a stub port (devel/subversion-static)
similar to:

shells/bash-devel
shells/bash-static-devel

dns/ldns
dns/py-ldns

That way the package build cluster would create a package of the static
version which wouldn't pull in any runtime dependencies.

Emanuel
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: svn - but smaller?

2013-01-23 Thread Emanuel Haupt
Peter Wemm  wrote:
> On Wed, Jan 23, 2013 at 3:16 PM, Peter Wemm  wrote:
> > On Wed, Jan 23, 2013 at 3:05 PM, Peter Wemm  wrote:
> >> On Wed, Jan 23, 2013 at 1:25 PM, Chris Rees 
> >> wrote:
> >>> On 23 January 2013 19:17, Emanuel Haupt 
> >>> wrote:
> >>>> devel/subversion already has an option to build a static
> >>>> version. A solution could be to create a stub port
> >>>> (devel/subversion-static) similar to:
> >>>>
> >>>> shells/bash-devel
> >>>> shells/bash-static-devel
> >>>>
> >>>> dns/ldns
> >>>> dns/py-ldns
> >>>
> >>> Great idea;
> >>>
> >>> http://www.bayofrum.net/~crees/patches/svn-static.diff
> >>
> >> No, you completely missed the point.
> >>
> >> Its not about static linking its embedded subversion libraries.
> >> I'm complaining about things like gdbm and bdb via apr, build
> >> dependencies like both python and perl for apr, and so on.
> >>
> >> If you made a port just to turn on the static option, it is
> >> equally as fail as before.
> >
> > Specific example.. doing a portsnap and build of devel/subversion
> > out of the box, you get:
> >
> > ===>>> The following actions will be taken if you choose to proceed:
> > Install devel/subversion
> > Install databases/sqlite3
> > Install devel/pkgconf
> > Install devel/apr1
> > Install converters/libiconv
> > Install devel/libtool
> > Install databases/db42
> > Install databases/gdbm
> > Install devel/gmake
> > Install devel/gettext
> > Install devel/autoconf
> > Install devel/autoconf-wrapper
> > Install devel/m4
> > Install lang/perl5.14
> > Install misc/help2man
> > Install devel/p5-Locale-gettext
> > Install devel/automake
> > Install devel/automake-wrapper
> > Install lang/python27
> > Install textproc/expat2
> > Install www/neon29
> >
> > You can thin it down a bit by turning off a few bits..  neon->serf
> > helps a little but not much.  Trimming some runtime (vs buildtime)
> > grandchildren like apr's gdbm/bdb modules trims some license
> > dependencies.  I'll update that list when the build is finished.
> 
> FWIW, this is the runtime dependency list
> apr-1.4.6.1.4.1_3  Apache Portability Library
> expat-2.0.1_2  XML 1.0 parser written in C
> gettext-0.18.1.1   GNU gettext package
> libiconv-1.14  A character set conversion library
> pkg-1.0.4_1New generation package manager
> pkgconf-0.8.9  Utility to help to configure compiler
> and linker flags
> serf-1.1.1 Serf HTTP client library
> sqlite3-3.7.14.1   An SQL database engine in a C library
> subversion-1.7.8   Version control system
> 
> Doing a static link of the libsvn_* libraries into the binary doesn't
> help with this.

This is all I have in my buildjail:

root@portjail:/root # uname -a
FreeBSD portjail.home.critical.ch 9.1-STABLE FreeBSD 9.1-STABLE #1 r245789: Tue 
Jan 22 16:30:35 CET 2013 
r...@alaska.home.critical.ch:/usr/obj/usr/src/sys/GENERIC  amd64

root@portjail:/root # pkg_info
subversion-1.7.8Version control system

All this is is a package built with the default options of devel/subversion 
plus STATIC.

I am perfectly able to use http as a chekout method:

root@portjail:/root # svn checkout --depth empty 
http://svn.FreeBSD.org/ports/head/audio/yell ports/audio/yell
Checked out revision 310914.
root@portjail:/root # svn update --set-depth infinity ports/audio/yell/
Updating 'ports/audio/yell':
Aports/audio/yell/distinfo
Aports/audio/yell/pkg-descr
Aports/audio/yell/Makefile
Updated to revision 310914.

root@portjail:/root # svn info ports/audio/yell/
Path: ports/audio/yell
Working Copy Root Path: /root/ports/audio/yell
URL: http://svn.freebsd.org/ports/head/audio/yell
Repository Root: http://svn.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 310914
Node Kind: directory
Schedule: normal
Last Changed Author: ehaupt
Last Changed Rev: 306932
Last Changed Date: 2012-11-03 19:01:22 +0100 (Sat, 03 Nov 2012)

Hence, to come back to the original post
$ pkg_add -r subversion-static

is the equivalent of
$ pkg_add -r cvsup-without-gui

Emanuel

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"