[arch-commits] Commit in geoip-database/trunk (PKGBUILD check-last-modified.sh)
Evangelos Foutras
foutrelis at archlinux.org
Fri Mar 25 13:04:04 UTC 2016
Date: Friday, March 25, 2016 @ 14:04:03
Author: foutrelis
Revision: 262532
upgpkg: geoip-database 20160301-2
Ship city and ASN databases in a new split package (FS#48391).
Modified:
geoip-database/trunk/PKGBUILD
geoip-database/trunk/check-last-modified.sh
------------------------+
PKGBUILD | 71 ++++++++++++++++++++++++++++++++++++++---------
check-last-modified.sh | 8 +++--
2 files changed, 64 insertions(+), 15 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-03-25 12:22:44 UTC (rev 262531)
+++ PKGBUILD 2016-03-25 13:04:03 UTC (rev 262532)
@@ -1,28 +1,40 @@
# $Id$
# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-pkgname=geoip-database
+pkgname=('geoip-database' 'geoip-database-extra')
pkgver=20160301
-pkgrel=1
-pkgdesc="GeoLite country geolocation database compiled by MaxMind"
+pkgrel=2
arch=('any')
-url="http://dev.maxmind.com/geoip/legacy/downloadable/"
+url="https://dev.maxmind.com/geoip/legacy/geolite/"
license=('custom:OPEN DATA LICENSE')
checkdepends=('geoip')
source=(GeoIP-$pkgver.dat.gz::https://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
GeoIPv6-$pkgver.dat.gz::https://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
+ GeoLiteCity-$pkgver.dat.gz::https://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
+ GeoLiteCityv6-$pkgver.dat.gz::https://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
+ GeoIPASNum-$pkgver.dat.gz::https://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
+ GeoIPASNumv6-$pkgver.dat.gz::https://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz
GeoIP-LICENSE.txt::https://geolite.maxmind.com/download/geoip/database/LICENSE.txt)
noextract=(GeoIP-$pkgver.dat.gz
- GeoIPv6-$pkgver.dat.gz)
+ GeoIPv6-$pkgver.dat.gz
+ GeoLiteCity-$pkgver.dat.gz
+ GeoLiteCityv6-$pkgver.dat.gz
+ GeoIPASNum-$pkgver.dat.gz
+ GeoIPASNumv6-$pkgver.dat.gz)
sha256sums=('13963b7a047489d56a150abf66f48ecec86d9dc0c989f610ea6db6001bcfc282'
'a888319051e14b8c7d30ff3b2b3514ecc75fbfcc2c7c2cb88a25b0969e568b80'
+ '311c9c3370d6b9d6b7ce5c590f3d684bd6c2f617eee4fba9dd3d974c05f4993a'
+ 'c270b2b0e7f9b876ce0de4c26c1b8744a38526fc4eb5d1ac72b0413cb2b45bee'
+ 'a70a39d60cd3fe1ad18d41f1607b848c744e8fe01e79c2d8f32981af934e8fca'
+ '4e6bc46da26f2b731427c2dadd3e12d511fcf92ac3afeb0d9079e49ca403bcc5'
'83a4cb82ef8953c0107886b49bc39fcf77590a222d30e778d48f5d92f5b5e383')
prepare() {
cd "$srcdir"
- for _database_name in GeoIP GeoIPv6; do
- gunzip -c $_database_name-$pkgver.dat.gz >$_database_name.dat
+ for _database_name in GeoIP GeoLiteCity GeoIPASNum; do
+ gunzip -c $_database_name-$pkgver.dat.gz >${_database_name/GeoLite/GeoIP}.dat
+ gunzip -c ${_database_name}v6-$pkgver.dat.gz >${_database_name/GeoLite/GeoIP}v6.dat
done
}
@@ -29,24 +41,57 @@
check() {
cd "$srcdir"
- if [[ $(geoiplookup -d . 8.8.8.8) != *"US, United States" ]]; then
- error 'Unable to resolve IPv4 address.'
+ if [[ $(geoiplookup -f GeoIP.dat 8.8.8.8) != *'US, United States' ]]; then
+ error 'Unable to resolve IPv4 address to country.'
return 1
fi
- if [[ $(geoiplookup6 -d . 2001:4860:4860::8888) != *"US, United States" ]]; then
- error 'Unable to resolve IPv6 address.'
+ if [[ $(geoiplookup6 -f GeoIPv6.dat 2001:4860:4860::8888) != *'US, United States' ]]; then
+ error 'Unable to resolve IPv6 address to country.'
return 1
fi
+
+ if [[ $(geoiplookup -f GeoIPCity.dat 8.8.8.8) != *'US, CA, California'* ]]; then
+ error 'Unable to resolve IPv4 address to city.'
+ return 1
+ fi
+
+ if [[ $(geoiplookup6 -f GeoIPCityv6.dat 2001:4860:4860::8888) != *'US, N/A, N/A'* ]]; then
+ error 'Unable to resolve IPv6 address to city.'
+ return 1
+ fi
+
+ if [[ $(geoiplookup -f GeoIPASNum.dat 8.8.8.8) != *'AS15169 Google Inc.' ]]; then
+ error 'Unable to resolve IPv4 address to ASN.'
+ return 1
+ fi
+
+ if [[ $(geoiplookup6 -f GeoIPASNumv6.dat 2001:4860:4860::8888) != *'AS15169 Google Inc.' ]]; then
+ error 'Unable to resolve IPv6 address to ASN.'
+ return 1
+ fi
}
-package() {
+package_geoip-database() {
+ pkgdesc="GeoLite country geolocation database compiled by MaxMind"
+
cd "$srcdir"
install -d "$pkgdir/usr/share/GeoIP"
- install -m644 -t "$pkgdir/usr/share/GeoIP" GeoIP.dat GeoIPv6.dat
+ install -m644 -t "$pkgdir/usr/share/GeoIP" GeoIP{,v6}.dat
install -Dm644 GeoIP-LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
}
+package_geoip-database-extra() {
+ pkgdesc="GeoLite city/ASN geolocation databases compiled by MaxMind"
+
+ cd "$srcdir"
+
+ install -d "$pkgdir/usr/share/GeoIP"
+ install -m644 -t "$pkgdir/usr/share/GeoIP" GeoIPCity{,v6}.dat GeoIPASNum{,v6}.dat
+
+ install -Dm644 GeoIP-LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+}
+
# vim:set ts=2 sw=2 et:
Modified: check-last-modified.sh
===================================================================
--- check-last-modified.sh 2016-03-25 12:22:44 UTC (rev 262531)
+++ check-last-modified.sh 2016-03-25 13:04:03 UTC (rev 262532)
@@ -9,7 +9,11 @@
fi
URLS=(https://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
- https://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz)
+ https://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
+ https://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
+ https://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
+ https://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
+ https://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz)
for url in ${URLS[@]}; do
last_mod=$(curl -sI $url | grep ^Last-Modified: | cut -d' ' -f2- | tr -d '\r')
@@ -16,7 +20,7 @@
echo "$last_mod (${url##*/})"
if ((verbose)); then
- build_id=$(curl -s $url | gzip -cd | grep -ao '[0-9]* Build [0-9]*')
+ build_id=$(curl -s $url | gzip -cd | grep -aoE '[0-9]{8} Build [0-9]*')
echo -e "${UNICODE_IS_FUN}$build_id"
fi
done
More information about the arch-commits
mailing list