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>