Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Feb 2013 17:58:06 -0600
From:      Scot Hetzel <swhetzel@gmail.com>
To:        Raphael Eiselstein <rabe@uugrn.org>
Cc:        ports@freebsd.org
Subject:   Re: mutt vs db44 // Bug in /usr/ports/Mk/bsd.database.mk ?
Message-ID:  <CACdU%2Bf-V-0VrDiho0dYX61f_E4Lk_2nG9PzmoXAA8zhTC17x8g@mail.gmail.com>
In-Reply-To: <20130208220108.GC4018@ma.sigsys.de>
References:  <20130208201503.GB4018@ma.sigsys.de> <20130208220108.GC4018@ma.sigsys.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 8, 2013 at 4:01 PM, Raphael Eiselstein <rabe@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+).
>
> [=85]
> # For specifying [40, 41, ..]+
> _DB_40P=3D        40 ${_DB_41P}
> _DB_41P=3D        41 ${_DB_42P}
> _DB_42P=3D        42 ${_DB_43P}
> _DB_43P=3D        43 ${_DB_44P}
> _DB_44P=3D        44 ${_DB_46P}
> [=85]
>
> It seems when USE_BDB=3D42+ it will probe for 43 but I only have 44
> installed here. So USE_BDB=3D42+ results in 42.
>
> Setting USE_BDB=3D44 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=3D42+ 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

--=20
DISCLAIMER:

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf-V-0VrDiho0dYX61f_E4Lk_2nG9PzmoXAA8zhTC17x8g>