public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [ITA] GeoIP, GeoIP-database, geoipupdate
@ 2024-04-13 13:09 Brian Inglis
  2024-04-16 19:31 ` Jon Turney
  0 siblings, 1 reply; 6+ messages in thread
From: Brian Inglis @ 2024-04-13 13:09 UTC (permalink / raw)
  To: Cygwin Apps

I would like to adopt and revive the above packages with the last ("unofficial") 
version of the legacy code committed noted in the ChangeLog as 1.7.0, and a new 
upstream source for legacy format free databases converted when the official 
current upstream databases are updated.

Is there any easy way of overridding package version from
ac_init_version without patching configure.ac?

As part of this upgrade, the geoipupdate source and databases are no longer 
available, so the new upstream database source update script becomes a new 
database subpackage and script geoipupdate, and the old geoipupdate source, 
binary, and debuginfo packages should become obsolete.

Is there anything special required to replace a source package and binaries with 
a binary subpackage?

Below are links to existing source packages, build repos, scallywag runs, and 
updated package info.


Geographic IP Lookup utilities, development, and runtime

Existing source package:

https://cygwin.com/packages/summary/GeoIP-src.html

Updated cygport:

https://cygwin.com/cgit/cygwin-packages/GeoIP/tree/GeoIP.cygport?h=playground

Scallywag runs:

https://cygwin.com/cgi-bin2/jobs.cgi?srcpkg=GeoIP

Geographic IP Lookup utilities, development, and runtime

GeoIP finds geographic and network locations of an IP address.

For more information see the project home page:

	https://github.com/maxmind/geoip-api-c

See below for details of changes:

	https://github.com/maxmind/geoip-api-c/blob/master/ChangeLog


GeoIP-database	Geographic IP Lookup (databases)

Existing source package:

https://cygwin.com/packages/summary/GeoIP-database-src.html

Updated cygport:

https://cygwin.com/cgit/cygwin-packages/GeoIP-database/tree/?h=playground

Scallywag runs:

https://cygwin.com/cgi-bin2/jobs.cgi?srcpkg=GeoIP-database

GeoIP-database	Geographic IP Lookup (databases)

GeoIP finds geographic and network locations of an IP address.
These databases are extracts of free GeoLite2 data from Maxmind 
https://www.maxmind.com/ and are less accurate than the commercial databases.

geoipupdate	Geographic IP Lookup (database update utility)

geoipupdate database updater script downloads the latest available data
and updates the installed files.
The script may be run manually, from a login profile script, as a cron
job, or from an MS Windows Scheduled Task.

For more information see the project home page:

	https://mailfud.org/geoip-legacy

This package will rarely be updated as the data changes weekly and the
database updater script geoipupdate will keep the data current.


Existing source package:

https://cygwin.com/packages/summary/geoipupdate-src.html

Existing cygport:

https://cygwin.com/cgit/cygwin-packages/geoipupdate/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITA] GeoIP, GeoIP-database, geoipupdate
  2024-04-13 13:09 [ITA] GeoIP, GeoIP-database, geoipupdate Brian Inglis
@ 2024-04-16 19:31 ` Jon Turney
  2024-04-16 23:39   ` Brian Inglis
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Turney @ 2024-04-16 19:31 UTC (permalink / raw)
  To: Brian Inglis; +Cc: cygwin-apps

On 13/04/2024 14:09, Brian Inglis via Cygwin-apps wrote:
> I would like to adopt and revive the above packages with the last 
> ("unofficial") version of the legacy code committed noted in the 
> ChangeLog as 1.7.0, and a new upstream source for legacy format free 
> databases converted when the official current upstream databases are 
> updated.

My very limited, vague understanding was that GeoIP is obsolete and 
users should move to something newer? What packages do we have that 
actually depend on this? Are there other ways to update them?

> Is there any easy way of overridding package version from
> ac_init_version without patching configure.ac?

Generally, no.

> As part of this upgrade, the geoipupdate source and databases are no 
> longer available, so the new upstream database source update script 
> becomes a new database subpackage and script geoipupdate, and the old 
> geoipupdate source, binary, and debuginfo packages should become obsolete.
> 
> Is there anything special required to replace a source package and 
> binaries with a binary subpackage?

Uh... I had to reread that several times (and compare with the cygport) 
before it this question made sense.

So: when you come to upload, I'll need to change things to that the 
geoipupdate package belongs to GeoIP-database source.

geoipupdate should probably obsolete geoipupdate-debuginfo, if it's now 
empty.

Reviewing the cygports, everything looks OK.

I'd make the comment that the text about scheduling geoipupdate to run 
should be in geoipupdate_DESCRIPTION, rather than in GeopIP-database's 
description.

I added GeoIP and GeoIP-database to your packages.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITA] GeoIP, GeoIP-database, geoipupdate
  2024-04-16 19:31 ` Jon Turney
@ 2024-04-16 23:39   ` Brian Inglis
  2024-04-17 19:38     ` Jon Turney
  0 siblings, 1 reply; 6+ messages in thread
From: Brian Inglis @ 2024-04-16 23:39 UTC (permalink / raw)
  To: cygwin-apps

On 2024-04-16 13:31, Jon Turney via Cygwin-apps wrote:
> On 13/04/2024 14:09, Brian Inglis via Cygwin-apps wrote:
>> I would like to adopt and revive the above packages with the last 
>> ("unofficial") version of the legacy code committed noted in the ChangeLog as 
>> 1.7.0, and a new upstream source for legacy format free databases converted 
>> when the official current upstream databases are updated.
> 
> My very limited, vague understanding was that GeoIP is obsolete and users should 
> move to something newer? What packages do we have that actually depend on this? 
> Are there other ways to update them?

$ cygcheck-dep -nqS libGeoIP1 libmaxminddb0
  libGeoIP1: is needed for ( GeoIP libdns1104 libdns1105 libdns166 libdns169 
libGeoIP-devel )
  libmaxminddb0: is needed for ( bind libdns1106 libmaxminddb-devel 
lighttpd-mod_maxminddb )

Looks like older bind used free legacy GeoIP databases, "current" bind uses 
current library and current GeoIP2 databases which require free registration to 
get an API key with limits.
The new upstream source for free legacy GeoIP databases converts upstream GeoIP2 
databases and makes them available under its CC-by-4.0 licence.

$ cpm-sum libdns1{6{6,9},10{4,5,6}} | grep 
'dns\|bind\|maxmind\|GeoIP\|depends:\|ackage:$'
Package: libdns166
    depends:
    cygwin, libGeoIP1, libgssapi_krb5_2, libisc160, libjson-c2, libkrb5_3,
    rdepends:
    dnsperf, libbind9_160, libirs160, libisccfg160
    source package:
    bind
Package: libdns169
    depends:
    cygwin, libGeoIP1, libgssapi_krb5_2, libisc166, libjson-c2, libkrb5_3,
    rdepends:
    dnsperf, libbind9_160, libirs160, libisccfg160
    source package:
    bind
Package: libdns1104
    depends:
    cygwin, libGeoIP1, libgssapi_krb5_2, libisc1100, libjson-c2, libkrb5_3,
    rdepends:
    bind, bind-utils, libbind9-devel, libbind9_161, libirs161, libisccfg163
    source package:
    bind
Package: libdns1105
    depends:
    cygwin, libGeoIP1, libgssapi_krb5_2, libisc1100, libjson-c2, libkrb5_3,
    rdepends:
    bind, bind-utils, libbind9-devel, libbind9_161, libirs161, libisccfg163
    source package:
    bind
Package: libdns1106
    depends:
    libmaxminddb0, libssl1.1, libxml2
    rdepends:
    bind, bind-utils, dnsperf, libbind9-devel, libbind9_161, libirs161,
    source package:
    bind

>> Is there any easy way of overridding package version from
>> ac_init_version without patching configure.ac?
> 
> Generally, no.

Tried the obvious stuff with no effect, so applied patch.

>> As part of this upgrade, the geoipupdate source and databases are no longer 
>> available, so the new upstream database source update script becomes a new 
>> database subpackage and script geoipupdate, and the old geoipupdate source, 
>> binary, and debuginfo packages should become obsolete.
>>
>> Is there anything special required to replace a source package and binaries 
>> with a binary subpackage?
> 
> Uh... I had to reread that several times (and compare with the cygport) before 
> it this question made sense.
> 
> So: when you come to upload, I'll need to change things to that the geoipupdate 
> package belongs to GeoIP-database source.
> 
> geoipupdate should probably obsolete geoipupdate-debuginfo, if it's now empty.

Good point, thanks.

> Reviewing the cygports, everything looks OK.
> 
> I'd make the comment that the text about scheduling geoipupdate to run should be 
> in geoipupdate_DESCRIPTION, rather than in GeopIP-database's description.

Good point, I will rework some info.

> I added GeoIP and GeoIP-database to your packages.

Cheers, thanks!

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITA] GeoIP, GeoIP-database, geoipupdate
  2024-04-16 23:39   ` Brian Inglis
@ 2024-04-17 19:38     ` Jon Turney
  2024-04-18 18:34       ` Brian Inglis
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Turney @ 2024-04-17 19:38 UTC (permalink / raw)
  To: Brian Inglis; +Cc: cygwin-apps

On 17/04/2024 00:39, Brian Inglis via Cygwin-apps wrote:
> On 2024-04-16 13:31, Jon Turney via Cygwin-apps wrote:
>> On 13/04/2024 14:09, Brian Inglis via Cygwin-apps wrote:
>>> I would like to adopt and revive the above packages with the last 
>>> ("unofficial") version of the legacy code committed noted in the 
>>> ChangeLog as 1.7.0, and a new upstream source for legacy format free 
>>> databases converted when the official current upstream databases are 
>>> updated.
>>
>> My very limited, vague understanding was that GeoIP is obsolete and 
>> users should move to something newer? What packages do we have that 
>> actually depend on this? Are there other ways to update them?
> 
> $ cygcheck-dep -nqS libGeoIP1 libmaxminddb0
>   libGeoIP1: is needed for ( GeoIP libdns1104 libdns1105 libdns166 
> libdns169 libGeoIP-devel )
>   libmaxminddb0: is needed for ( bind libdns1106 libmaxminddb-devel 
> lighttpd-mod_maxminddb )
> 
> Looks like older bind used free legacy GeoIP databases, "current" bind 
> uses current library and current GeoIP2 databases which require free 
> registration to get an API key with limits.
> The new upstream source for free legacy GeoIP databases converts 
> upstream GeoIP2 databases and makes them available under its CC-by-4.0 
> licence.

The most recent bind package was built with '--without-geoip'.  Does 
this need to change back again?

> $ cpm-sum libdns1{6{6,9},10{4,5,6}} | grep 
> 'dns\|bind\|maxmind\|GeoIP\|depends:\|ackage:$'
> Package: libdns166
>     depends:
>     cygwin, libGeoIP1, libgssapi_krb5_2, libisc160, libjson-c2, libkrb5_3,
>     rdepends:
>     dnsperf, libbind9_160, libirs160, libisccfg160
>     source package:
>     bind

I guess there's another thread to pull on here.

The code which looks for "old soversions we don't need to keep anymore" 
isn't smart enough currently to realize that it can get rid of all of 
these old libdns soversions.

Assuming that gets fixed (...), do we still have users?


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITA] GeoIP, GeoIP-database, geoipupdate
  2024-04-17 19:38     ` Jon Turney
@ 2024-04-18 18:34       ` Brian Inglis
  0 siblings, 0 replies; 6+ messages in thread
From: Brian Inglis @ 2024-04-18 18:34 UTC (permalink / raw)
  To: cygwin-apps

On 2024-04-17 13:38, Jon Turney via Cygwin-apps wrote:
> On 17/04/2024 00:39, Brian Inglis via Cygwin-apps wrote:
>> On 2024-04-16 13:31, Jon Turney via Cygwin-apps wrote:
>>> On 13/04/2024 14:09, Brian Inglis via Cygwin-apps wrote:
>>>> I would like to adopt and revive the above packages with the last 
>>>> ("unofficial") version of the legacy code committed noted in the ChangeLog 
>>>> as 1.7.0, and a new upstream source for legacy format free databases 
>>>> converted when the official current upstream databases are updated.
>>>
>>> My very limited, vague understanding was that GeoIP is obsolete and users 
>>> should move to something newer? What packages do we have that actually depend 
>>> on this? Are there other ways to update them?
>>
>> $ cygcheck-dep -nqS libGeoIP1 libmaxminddb0
>>   libGeoIP1: is needed for ( GeoIP libdns1104 libdns1105 libdns166 libdns169 
>> libGeoIP-devel )
>>   libmaxminddb0: is needed for ( bind libdns1106 libmaxminddb-devel 
>> lighttpd-mod_maxminddb )
>>
>> Looks like older bind used free legacy GeoIP databases, "current" bind uses 
>> current library and current GeoIP2 databases which require free registration 
>> to get an API key with limits.
>> The new upstream source for free legacy GeoIP databases converts upstream 
>> GeoIP2 databases and makes them available under its CC-by-4.0 licence.
> 
> The most recent bind package was built with '--without-geoip'.  Does this need 
> to change back again?

It was built with libmaxminddb which requires the Maxmind API key registration 
to download the free but not publicly available GeoLite2 and new geoipupdate 
which can only download from new databases with the new API and registered key.

	https://cygwin.com/packages/summary/libdns1106.html
	https://geoip.site/	[another legacy alternative]
	https://dev.maxmind.com/geoip/geolite2-free-geolocation-data

This supports bind geoDNS applications like geo-[b]locking and geo-redirection.

>> $ cpm-sum libdns1{6{6,9},10{4,5,6}} | grep 
>> 'dns\|bind\|maxmind\|GeoIP\|depends:\|ackage:$'
>> Package: libdns166
>>     depends:
>>     cygwin, libGeoIP1, libgssapi_krb5_2, libisc160, libjson-c2, libkrb5_3,
>>     rdepends:
>>     dnsperf, libbind9_160, libirs160, libisccfg160
>>     source package:
>>     bind
> 
> I guess there's another thread to pull on here.
> 
> The code which looks for "old soversions we don't need to keep anymore" isn't 
> smart enough currently to realize that it can get rid of all of these old libdns 
> soversions.
> 
> Assuming that gets fixed (...), do we still have users?

The main user may still be the GeoIP binary package utilities geoiplookup/6.
I and presumably others use them in scripts to inform where sites and addresses 
are likely geo or net located or distributed; for example:

$ geoiplookup sourceware.org
GeoIP Country Edition: US, United States
GeoIP City Edition, Rev 1: US, 00, N/A, N/A, N/A, 37.750999, -97.821999, 0, 0
GeoIP ASNum Edition: AS17314 REDHAT-HOSTED
$ geoiplookup redhat.com
GeoIP Country Edition: US, United States
GeoIP City Edition, Rev 1: US, VA, Virginia, Ashburn, 20149, 39.046902, 
-77.490303, 511, 0
GeoIP ASNum Edition: AS14618 AMAZON-AES
$ geoiplookup ibm.com
GeoIP Country Edition: US, United States
GeoIP City Edition, Rev 1: US, WA, Washington, Seattle, 98160, 47.603401, 
-122.341400, 819, 0
GeoIP ASNum Edition: AS16625 AKAMAI-AS
$ geoiplookup geoip.site
GeoIP Country Edition: US, United States
GeoIP City Edition, Rev 1: US, 00, N/A, N/A, N/A, 37.750999, -97.821999, 0, 0
GeoIP ASNum Edition: AS13335 CLOUDFLARENET
$ geoiplookup6 dronecode.org.uk
GeoIP Country V6 Edition: GB, United Kingdom
GeoIP ASNum V6 Edition: AS44684 Mythic Beasts Ltd
GeoIP City Edition V6, Rev 1: GB, 00, N/A, N/A, 51.496399, -0.122400, 0, 0
$ geoiplookup mythic-beasts.com
GeoIP Country Edition: GB, United Kingdom
GeoIP City Edition, Rev 1: GB, 00, N/A, N/A, N/A, 51.496399, -0.122400, 0, 0
GeoIP ASNum Edition: AS44684 Mythic Beasts Ltd

These show that sourceware, RedHat, IBM, and geoip.site all use CDNs; geoip.site 
and dronecode (and RPi), are all hosted by Mythic Beasts, and their geoloc 
places them in the Docklands at Millwall near two of their colos!

The accuracy radius (2nd last #) in km follows lat, long, but from often within 
.01 of that value, e.g. 511 => ~5 actual ~3.3km from AWS US-East-1; 819 => ~8 
actual ~2km from Seattle Colo with Equinix, Shaw(/Rogers), other colos, and 
another ~600m from H5, and 1-15km from Cisco, Cyxtera, other SEA1.

These legacy files converted from Maxmind GeoLite2 sources appear to be somewhat 
better than the previous Maxmind legacy GeoLite and CSV sources.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ITA] GeoIP, GeoIP-database, geoipupdate
@ 2024-04-13 12:43 Brian Inglis
  0 siblings, 0 replies; 6+ messages in thread
From: Brian Inglis @ 2024-04-13 12:43 UTC (permalink / raw)
  To: Cygwin Apps

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                -- Antoine de Saint-Exupéry
patching configure.ac?

In this update, the geoipupdate source and databases are no longer
available, so the new upstream database source update script becomes a
new database subpackage and script geoipupdate, and the old geoipupdate
source, binary, and debuginfo packages should become obsolete.

Is there anything special required to replace a source package and
binaries with a binary subpackage?

Below are links to existing source packages, build repos, scallywag
runs, and updated package info.


Geographic IP Lookup utilities, development, and runtime

Existing source package:

https://cygwin.com/packages/summary/GeoIP-src.html

Updated cygport:

https://cygwin.com/cgit/cygwin-packages/GeoIP/tree/GeoIP.cygport?h=playground

Scallywag runs:

https://cygwin.com/cgi-bin2/jobs.cgi?srcpkg=GeoIP

Geographic IP Lookup utilities, development, and runtime

GeoIP finds geographic and network locations of an IP address.

For more information see the project home page:

	https://github.com/maxmind/geoip-api-c

See below for details of changes:

	https://github.com/maxmind/geoip-api-c/blob/master/ChangeLog


GeoIP-database	Geographic IP Lookup (databases)

Existing source package:

https://cygwin.com/packages/summary/GeoIP-database-src.html

Updated cygport:

https://cygwin.com/cgit/cygwin-packages/GeoIP-database/tree/?h=playground

Scallywag runs:

https://cygwin.com/cgi-bin2/jobs.cgi?srcpkg=GeoIP-database

GeoIP-database	Geographic IP Lookup (databases)

GeoIP finds geographic and network locations of an IP address.
These databases are extracts of free GeoLite2 data from Maxmind 
https://www.maxmind.com/ and are less accurate than the commercial databases.

geoipupdate	Geographic IP Lookup (database update utility)

geoipupdate database updater script downloads the latest available data
and updates the installed files.
The script may be run manually, from a login profile script, as a cron
job, or from an MS Windows Scheduled Task.

For more information see the project home page:

	https://mailfud.org/geoip-legacy

This package will rarely be updated as the data changes weekly and the
database updater script geoipupdate will keep the data current.


Existing source package:

https://cygwin.com/packages/summary/geoipupdate-src.html

Existing cygport:

https://cygwin.com/cgit/cygwin-packages/geoipupdate/


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-04-18 18:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-13 13:09 [ITA] GeoIP, GeoIP-database, geoipupdate Brian Inglis
2024-04-16 19:31 ` Jon Turney
2024-04-16 23:39   ` Brian Inglis
2024-04-17 19:38     ` Jon Turney
2024-04-18 18:34       ` Brian Inglis
  -- strict thread matches above, loose matches on Subject: below --
2024-04-13 12:43 Brian Inglis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).