rpms/GeoIP/EL-5 LICENSE.txt, NONE, 1.1 README.Fedora, NONE, 1.1 fetch-geoipdata-city.pl, NONE, 1.1 fetch-geoipdata.pl, NONE, 1.1

Michael Fleming mfleming at fedoraproject.org
Sat Dec 6 23:51:32 UTC 2008


Author: mfleming

Update of /cvs/extras/rpms/GeoIP/EL-5
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2981

Added Files:
	LICENSE.txt README.Fedora fetch-geoipdata-city.pl 
	fetch-geoipdata.pl 
Log Message:
add extra files from sources -> cvs



--- NEW FILE LICENSE.txt ---
There are two licenses, one for the C library software, and one for
the database.

SOFTWARE LICENSE (C library)

The GeoIP C Library is licensed under the LGPL.  For details see
the COPYING file.

OPEN DATA LICENSE (GeoLite Country and GeoLite City databases)

Copyright (c) 2008 MaxMind, Inc.  All Rights Reserved.

All advertising materials and documentation mentioning features or use of
this database must display the following acknowledgment:
"This product includes GeoLite data created by MaxMind, available from
http://maxmind.com/"

Redistribution and use with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions must retain the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution. 
2. All advertising materials and documentation mentioning features or use of
this database must display the following acknowledgement:
"This product includes GeoLite data created by MaxMind, available from
http://maxmind.com/"
3. "MaxMind" may not be used to endorse or promote products derived from this
database without specific prior written permission.

THIS DATABASE IS PROVIDED BY MAXMIND, INC ``AS IS'' AND ANY 
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL MAXMIND BE LIABLE FOR ANY 
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
DATABASE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


--- NEW FILE README.Fedora ---
Automatically fetching GeoIP "free" databases
==============================================

As provided by Maxmind, LLC, the GeoIP library packages possess tools to
fetch the licensed country/city/organization etc. databases they
provide, but no such tool to fetch the free Country/City equivalents.

Additionally, the database version shipped with the base package will be
the current one at the time a new library release ships. Therefore, the
shipped database gets less accurate and obsolescent if the library has
not been updated in some time.

Therefore these databases can become out-of-date quite quickly unless
the user manually fetches and replaces them regularly; Maxmind generally
release updates once a month (on the 1st/2nd day of the month).

To assist users/administrators in automating retrieval/updating of the
available free databases, I've provided the following Perl scripts:

THE SCRIPTS:
===========

* fetch-geoipdata.pl - This fetches the base GeoIP.dat.gz file from
Maxmind's site, replacing the existing /usr/share/GeoIP/GeoIP.dat file
appropriately, keeping a dated backup (YYYYMMDD) of the old database file.

* fetch-geoipdata-city.pl - This works the same way as the above script,
but on the free City database. It should be noted that a) the City database
is not part of the standard library package and b) it's fairly large
(~20mb) and not friendly to users on slow connections.

File location and URL to fetch from are in the script itself, feel free
to change these to suit your system and local requirements.

REQUIREMENTS:
============
* A basic Perl installation will do. As long as Carp, File::Copy and the
  LWP modules are available the scripts will be satisfied
* gzip to decompress the fetched archives. Almost all systems will have
  this as part of the base installation.

USAGE:
============
* Simply put the scripts in your PATH and set them to executable.  

* These are best run from a crontab entry, ideally on the 1st/2nd of the
  month (depending on your timezone. I'm at +1000  - Queensland,
  Australia so that works for me)

  eg

  # Fetch GeoIP databases at 6am on the 2nd of the month
  00 06 2 * * /usr/local/bin/fetch-geoipdata.pl

  You should not need to reload apps using the databases under normal
  circumstances.

BUGS:
============
* Hopefully few if any. More verbose error checking is planned.
* Please do not send bug reports or issues relating to these scripts to
  Maxmind, LLC - I am in no way employed by or personally/professionally
  related to the company, I'm just a user like you :-)
* Feel free to send any improvements / bugfixes / ideas to me directly.

AUTHOR
============
Michael Fleming <mfleming at enlartenment.com>

LICENSE
============
This code is licensed under the GPL version 2



--- NEW FILE fetch-geoipdata-city.pl ---
#!/usr/bin/perl

use strict;
use warnings;
use POSIX;
use LWP::Simple;
use File::Copy;
use Carp;

my $ipdb     = "GeoLiteCity.dat";
my $datadir  = "/usr/share/GeoIP/";
my $fullpath = $datadir . $ipdb;
my $url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz";
my $date = strftime "%Y%m%d", localtime;

# Do we have an existing IP database?
if ( -e $fullpath ) {
    print "Fetching " . $ipdb . " from " . $url . "\r\n";
    if ( is_success( getstore( $url, $datadir . "GeoLiteCity.dat.gz" ) ) ) {
        move( $fullpath, $datadir . $ipdb . "." . $date )
          || croak "Can't move the old database aside\r\n";
        system( 'gzip', '-d', $datadir . 'GeoLiteCity.dat.gz' );
        if ( $? ne 0 ) {
            croak "Could not uncompress database - exited $?\r\n";
        }
        print "GeoIP database updated. Old copy is at " . $ipdb . "." . $date
          . "\r\n";
    }
    else {
        croak "Fetch failed - try again later?\r\n";
    }
}
else {
    croak "You don't appear to have a valid GeoIP database installed..\r\n";
}



--- NEW FILE fetch-geoipdata.pl ---
#!/usr/bin/perl

use strict;
use warnings;
use POSIX;
use LWP::Simple;
use File::Copy;
use Carp;

my $ipdb     = 'GeoIP.dat';
my $datadir  = '/usr/share/GeoIP/';
my $fullpath = $datadir . $ipdb;
my $url      = 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz';
my $date     = strftime '%Y%m%d', localtime;

# Do we have an existing IP database?
if ( -e $fullpath ) {
    print "Fetching " . $ipdb . " from " . $url . "\r\n";
    if ( is_success( getstore( $url, $datadir . 'GeoIP.dat.gz' ) ) ) {
        move( $fullpath, $datadir . $ipdb . '.' . $date )
          || croak "Can't move the old database aside\r\n";
        system 'gzip', '-d', $datadir . 'GeoIP.dat.gz';
        if ( $? ne 0 ) {
            croak "Could not uncompress database - exited $?\r\n";
        }
        print "GeoIP database updated. Old copy is at " . $ipdb . "." . $date
          . "\r\n";
    }
    else {
        croak "Fetch failed - try again later?\r\n";
    }
}
else {
    croak "You don't appear to have a valid GeoIP database installed..\r\n";
}





More information about the fedora-extras-commits mailing list