pghmcfc pushed to GeoIP (f21). "add extra files from sources -> cvs"

notifications at fedoraproject.org notifications at fedoraproject.org
Tue Apr 14 07:16:21 UTC 2015


>From c47483140037def20edaee8f6fc2ab1e2c4ba9de Mon Sep 17 00:00:00 2001
From: Michael Fleming <mfleming at fedoraproject.org>
Date: Sat, 6 Dec 2008 23:51:32 +0000
Subject: add extra files from sources -> cvs


diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..01c2910
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,39 @@
+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.
diff --git a/README.Fedora b/README.Fedora
new file mode 100644
index 0000000..d1d3fa7
--- /dev/null
+++ b/README.Fedora
@@ -0,0 +1,73 @@
+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
+
diff --git a/fetch-geoipdata-city.pl b/fetch-geoipdata-city.pl
new file mode 100644
index 0000000..cb28f74
--- /dev/null
+++ b/fetch-geoipdata-city.pl
@@ -0,0 +1,36 @@
+#!/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";
+}
+
diff --git a/fetch-geoipdata.pl b/fetch-geoipdata.pl
new file mode 100644
index 0000000..770bbc2
--- /dev/null
+++ b/fetch-geoipdata.pl
@@ -0,0 +1,36 @@
+#!/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";
+}
+
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/GeoIP.git/commit/?h=f21&id=c47483140037def20edaee8f6fc2ab1e2c4ba9de


More information about the scm-commits mailing list