mutt vs db44 // Bug in /usr/ports/Mk/bsd.database.mk ?

Scot Hetzel swhetzel at gmail.com
Sun Feb 17 23:58:08 UTC 2013


On Fri, Feb 8, 2013 at 4:01 PM, Raphael Eiselstein <rabe at uugrn.org> wrote:
> I took a look on /usr/ports/Mk/bsd.database.mk
>
> ##
> # USE_BDB               - Add Berkeley DB library dependency.
> #                                 If no version is given (by the
> #                                 maintainer via the port or
> #                                 by the user via defined variable), try
> #                                 to find the
> #                                 currently installed version.  Fall
> #                                 back to default if
> #                                 necessary (db41+).
>
> […]
> # For specifying [40, 41, ..]+
> _DB_40P=        40 ${_DB_41P}
> _DB_41P=        41 ${_DB_42P}
> _DB_42P=        42 ${_DB_43P}
> _DB_43P=        43 ${_DB_44P}
> _DB_44P=        44 ${_DB_46P}
> […]
>
> It seems when USE_BDB=42+ it will probe for 43 but I only have 44
> installed here. So USE_BDB=42+ results in 42.
>
> Setting USE_BDB=44 in the Makefile results in a dependency on 44 which
> is similar to the auto-detection of mutt's autoconf and therefore will
> result in a correct dependency, as shown in my QA now:

When USE_BDB=42+ is set in a ports Makefile, the USE_BDB logic in
Mk/bsd.database.mk will select the lowest version of BDB that is
installed.  So if you have BDB 4.2 and 4.4 installed.  It will choose
4.2 as that satisfies the requirement.

The problem is that the Mutt's configure script is detecting BDB 4.4
is installed, and using it instead of BDB 4.2.  The mutt port should
be changed to honor the detected version of BDB by the USE_BDB logic.

To set a specific version:

# WITH_BDB_VER
#				- User defined global variable to set Berkeley DB version.
# <UNIQUENAME>_WITH_BDB_VER
#				- User defined port specific variable to set Berkeley DB
#				  version.

If you want to use the highest version of BDB that is installed then set:

# WITH_BDB_HIGHEST
#				- Use the highest installed version of Berkeley DB.

Scot
- Author of the USE_BDB logic

-- 
DISCLAIMER:

No electrons were maimed while sending this message. Only slightly bruised.


More information about the freebsd-ports mailing list