Subject: Re: databases/freetds
To: James K. Lowden <jklowden@schemamania.org>
From: Johnny C. Lam <jlam@netbsd.org>
List: tech-pkg
Date: 11/09/2002 14:22:35
On Sat, Nov 09, 2002 at 12:30:32PM -0500, James K. Lowden wrote:
> I have two questions regarding this package, one general and one specific.
>  
> 
> The specific one is that the files are installed in /usr/pkg/freetds/*,
> which I think is wrong.  That seems to be driven by "GNU_CONFIGURE_PREFIX=
>   ${PREFIX}/freetds" in the Makefile.  
> 
> Should I fix this and send-pr, or is there some greater scheme of which
> I'm not aware?  

The package has installed into ${PREFIX}/freetds since it was created.  I
would like to see it move into ${PREFIX}, but I'm not the maintainer, and
I don't know too much about the package, so I don't feel qualified to make
that decision.

> The general question is how to affect dependencies.  FreeTDS-the-package
> depends on libiconv-1.8.  FreeTDS-the-library doesn't.  It can use
> libiconv, or not, and there's certainly nothing in 1.8 that it requires. 
> I know this because I hack on the project.  

We have the option of splitting freetds into freetds-lib and freetds-utils,
with freetds-utils being the part that depends on libiconv.

> I know a policy was chosen (which I don't dispute) to tell packages they
> always need the latest, but in my case my whole Gnome house of cards (now
> you know) would have fallen down if I'd upgraded libiconv.  I could have
> forced a second libiconv installation, but I try to avoid that sort of
> thing because I don't understand all the ramifications.  

The policy is to depend on the latest version of a library package in
which the major version of the shared library was bumped, or in which
the ABI changed.

> I created ../../converters/libiconv/buildlink2.jkl.mk, which is a copy of
> buildlink2.mk with the minimum version reduced, and changed
> /usr/pkgsrc/databases/freetds/Makefile to include it.  Worked like a
> charm.  

You can just set BUILDLINK_DEPENDS.iconv in databases/freetds/Makefile,
i.e.,

	BUILDLINK_DEPENDS.iconv=	libiconv-[0-9]*

but if one of the programs, e.g. freetds/bin/tsql, links against
libiconv.so, then we actually want to keep the dependency in
textproc/libiconv/buildlink2.mk.

> But... Was that the right thing to do?

It sounds like we want to split the package into two.

	Cheers,

	-- Johnny Lam <jlam@netbsd.org>