Subject: pkg/30971: python23 incorrectly configures itself for bdb
To: None <firstname.lastname@example.org, email@example.com,>
From: None <firstname.lastname@example.org>
Date: 08/11/2005 10:11:00
>Synopsis: python23 incorrectly configures itself for bdb
>Arrival-Date: Thu Aug 11 10:11:00 +0000 2005
>Originator: Quentin Garnier
lang/python23 has a patche to configure for bdb support that do a very evil thing. It looks at BUILDLINK_TRANSFORM in order (I think) to know if a library is needed, and which.
This is evil, because teaching the package about an internal bit of pkgsrc is already wrong, and also because the purpose of BUILDLINK_TRANSFORM is to make the wrappers change on-the-fly the library name to the correct value.
However, the reason it breaks on Linux is because the db1 library is named libdb.so. Thus, while BUIDLINK_LDADD.db1 is not empty (-ldb), BUILDLINK_TRANSFORM is because the library is already named libdb. That later leads to a linking failure, which goes unnoticed because of the tolerant nature of python's build system. But pkg_create sure does complain about the missing modules and the incorrect PLIST.
And anyway, why not simply use BDB_LIBS? I tried that (patch not included, but it's trivial) and it Just Works on my system.
Build python23 on a system where the library for db1 is named libdb.so.