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. I created the file MaxMind/DB/Reader.pm in my @INC path, which creates a subclass named MaxMind::DB::Reader. I've been using this work around for months with SpamAssassin: use IP::Geolocation::MMDB; @MaxMind::DB::Reader::ISA = qw(IP::Geolocation::MMDB); 1; Patching GeoDB.pm is also trivial: --- a/lib/Mail/SpamAssassin/GeoDB.pm +++ b/lib/Mail/SpamAssassin/GeoDB.pm @@ -218,4 +218,7 @@ sub load_geoip2 { eval { require MaxMind::DB::Reader; + } or eval { + require IP::Geolocation::MMDB; + @MaxMind::DB::Reader::ISA = qw(IP::Geolocation::MMDB); } or do { my $err = $@;
I think it would be better to add proper support for IP:Geolocation::MMDB and later deprecate MaxMind::DB::Reader instead. Cheers Giovanni
SpamAssassin's test suite requires more work. IP:Geolocation::MMDB works with Perl 5.16 and above. I'm struggling with SpamAssassin's tests on Windows though. IP::Geolocation::MMDB is an XS module and most Perl releases for Windows before 5.34 have issues with linker library paths and libraries that are linked in the wrong order. I am also going to release a new version of Alien::libmaxminddb, which doesn't depend on Alien::Build.
OpenPGP_signature.asc
Description: OpenPGP digital signature