Giovanni Bechis wrote:
On 3/11/25 2:51 PM, Andreas Vögele wrote:
Philip Prindeville wrote:
What are other people doing now that MaxMind has deprecated Perl support for their databases?

I'm the author of IP:Geolocation::MMDB, which is an API-compatible replacement for MaxMind::DB::Reader. Packages are in Fedora, in SUSE's devel:languages:perl repository and hopefully soon in Debian. [...]

Patching GeoDB.pm is also trivial: [...]
     +    @MaxMind::DB::Reader::ISA = qw(IP::Geolocation::MMDB); [...]
I think it would be better to add proper support for IP:Geolocation::MMDB and later deprecate MaxMind::DB::Reader instead.

Proper support is needed for testing anyway. I'm testing SpamAssassin with the following patch:

https://github.com/voegelas/spamassassin/commit/6a856743378af949f391d343e618bc5dedce169d?w=1&diff=split

The patched SpamAssassin accepts IP::Geolocation::MMDB as a "geodb_module" option. Internally, "geoip2-mmdb" is passed to load_geoip2 in GeoDB.pm. If no module has been configured, load_geoip2 tries to load MaxMind::DB::Reader and then IP::Geolocation::MMDB. The files t/relaycountry.t and t/urilocalbl.t run the GeoIP2 tests with both modules.

I've released new versions of IP::Geolocation::MMDB and Alien::libmaxminddb. Both modules now work with Perl 5.14. The dependency on Alien::Build is gone. From Perl 5.26 onward, only modules that are distributed with Perl are used. Older Perl versions need to update Math::BigInt, which is used for 128-bit integers. The operating system's libmaxminddb library is used if pkg-config and libmaxmindb-dev or libmaxminddb-devel are installed.

Reply via email to