summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/geoip/files/geoipupdate-r7.sh')
-rw-r--r--dev-libs/geoip/files/geoipupdate-r7.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/dev-libs/geoip/files/geoipupdate-r7.sh b/dev-libs/geoip/files/geoipupdate-r7.sh
new file mode 100644
index 000000000000..67d26bdc2ed8
--- /dev/null
+++ b/dev-libs/geoip/files/geoipupdate-r7.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+GEOIP_MIRROR="https://mailfud.org/geoip-legacy/"
+GEOIPDIR=@PREFIX@/usr/share/GeoIP
+TMPDIR=
+
+DATABASES="
+ GeoIPv6
+ GeoIPCity
+ GeoIPCityv6
+ GeoIP
+ GeoIPASNum
+ GeoIPASNumv6
+"
+
+if [ "${1}" = -f ] || [ "${1}" = --force ]; then
+ force=true
+fi
+
+if [ -d "${GEOIPDIR}" ]; then
+ cd $GEOIPDIR
+ if [ -n "${DATABASES}" ]; then
+ TMPDIR=$(mktemp -d geoipupdate.XXXXXXXXXX)
+
+ echo "Updating GeoIP databases..."
+
+ for db in $DATABASES; do
+ fname=$(basename $db)
+
+ if [ -f "${GEOIPDIR}/${fname}.dat" ] || [ ${force} ]; then
+ wget --no-verbose -t 3 -T 60 \
+ "${GEOIP_MIRROR}/${db}.dat.gz" \
+ -O "${TMPDIR}/${fname}.dat.gz"
+ if [ $? -eq 0 ]; then
+ gunzip -fdc "${TMPDIR}/${fname}.dat.gz" > "${TMPDIR}/${fname}.dat"
+ mv "${TMPDIR}/${fname}.dat" "${GEOIPDIR}/${fname}.dat"
+ chmod 0644 "${GEOIPDIR}/${fname}.dat"
+ case ${fname} in
+ GeoLite*) ln -sf ${fname}.dat `echo ${fname} | sed 's/GeoLite/GeoIP/'`.dat ;;
+ esac
+ fi
+ fi
+ done
+ [ -d "${TMPDIR}" ] && rm -rf $TMPDIR
+ fi
+fi