On Sun, Nov 30, 2008 at 05:19:22PM +0100, Steven Mestdagh wrote:
> Stefan Sperling [2008-11-30, 15:19:38]:
> > Hello,
> > 
> > the diff below splits extra and user-contributed scripts and tools out
> > of the -main package into separate -tools and -contrib packages.
> ...
> > The stuff in -tools is maintained by the Subversion project itself,
> > and has the same copyright holder and license.
> 
> First question, is it necessary to package this separately from -main ?

Not absolutely, but I thought not everyone might want these files
on their disks.

> > The stuff in -contrib may have different licenses and copyright holders
> > than Subversion proper.
> 
> Have you checked whether those licenses allow us to redistribute it?

Not myself, but I'd be very surprised if the Subversion project
didn't check the license for sanity before including any of this.

I can go through them though, just to make sure.

> > One quirk:
> > The -tools subpackages has redundant libs, which show up during
> > 'make lib-depends-check:
> > 
> > /usr/ports/packages/i386/all/subversion-tools-1.5.4.tgz:
> > Extra:         svn_client-1.1
> > Extra:         svn_diff-1.1
> > Extra:         svn_ra-1.1
> > Extra:         svn_ra_local-1.1
> > Extra:         svn_ra_neon-1.1
> > Extra:         svn_ra_svn-1.1
> > Extra:         svn_wc-1.1
> > 
> > Without those extra deps, it does not properly depend on the -main package,
> > and trying to install it without having the -main package installed
> > fails like this:
> > 
> > /usr/ports/packages/i386/al
> > $ env SUBPACKAGE=-tools make install
> > ===>  Verifying specs: svn_delta-1.>=1.1 svn_fs-1.>=1.1 svn_fs_base-1.>=1.1 
> > svn_fs_fs-1.>=1.1 svn_fs_util-1.>=1.1 svn_repos-1.>=1.1 svn_subr-1.>=1.1 
> > expat db z apr-1 aprutil-1 c iconv intl
> > Missing library for svn_delta-1.>=1.1
> > Missing library for svn_fs-1.>=1.1
> > Missing library for svn_fs_base-1.>=1.1
> > Missing library for svn_fs_fs-1.>=1.1
> > Missing library for svn_fs_util-1.>=1.1
> > Missing library for svn_repos-1.>=1.1
> > Missing library for svn_subr-1.>=1.1
> > Fatal error
> > *** Error code 1
> > 
> > I'd expect the dependency handling to work without the extra libs,
> > but this does not seem to be the case... no idea where the problem is.
> 
> do the tools require the libraries or not? if they do, then you will need
> the main package to be installed.

Yes, the -contrib and -tools should depend on the main package.

The problem is that this depedency doesn't work for the -tools package
if I strip down library dependencies according to lib-depends-check.

The tools package has to depend on more libraries than it striclty
needs for the dependency on -main to work. I don't know why.
 
> > To reproduce, change these lines in the Makefile:
> > 
> > .  for _lib in ${SVN_LIBS}
> > LIB_DEPENDS-tools+= ${_lib}.>=${SO_VERSION}:${PKGNAME}:${BUILD_PKGPATH}
> > .  endfor
> > 
> > to this:
> > 
> > .  for _lib in svn_delta-1 svn_fs-1 svn_fs_base-1 svn_fs_fs-1 \
> >     svn_fs_util-1 svn_repos-1 svn_subr-1
> > LIB_DEPENDS-tools+= ${_lib}.>=${SO_VERSION}:${PKGNAME}:${BUILD_PKGPATH}
> > .  endfor
> > 
> > This change causes lib-depends check to be happy, but the dependency
> > of -tools on -main to fail.
> 
> haven't tried it, but maybe try devel/subversion,-main instead of
> just BUILD_PKGPATH?

jasper@ told me (in person at OpenCON) that I could use BUILD_PKGPATH
instead of the explicitly specifying devel/subversion,main.
I'll try to see if it makes a difference though.

> > -PSEUDO_FLAVORS=    no_bindings no_ap2
> > +PSEUDO_FLAVORS=    no_bindings no_ap2 no_contrib no_tools
> 
> I don't think this requires extra pseudo flavors? It doesn't seem to pull in
> a great load of extra dependencies at build time.

OK, I can make the packages build by default.

I'll post an update later, right now I need to pack up and travel
homewards from opencon :(

Thanks,
Stefan

Reply via email to