mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-21 00:25:50 +00:00
Ensure that DATADIR exists before attempting to fetch the data files
into it. Also, make the script more robust and ask fewer questions in adverse conditions. PORTREVISION bump. PR: 192597 Submitted by: mandree
This commit is contained in:
parent
38ba0624f5
commit
38ec20b411
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=364652
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= GeoIP
|
||||
PORTVERSION= 1.6.0
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= net geography
|
||||
MASTER_SITES= http://geolite.maxmind.com/download/geoip/api/c/
|
||||
|
||||
|
@ -1,31 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
echo Fetching GeoIP.dat and GeoIPv6.dat...
|
||||
|
||||
TEMPFILE=`mktemp %%DATADIR%%/GeoIP.dat-XXXXXX`
|
||||
if fetch -o - http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz | gunzip >> $TEMPFILE ; then
|
||||
chmod 644 $TEMPFILE
|
||||
if ! mv $TEMPFILE %%DATADIR%%/GeoIP.dat ; then
|
||||
rm $TEMPFILE
|
||||
echo Unable to overwrite %%DATADIR%%/GeoIP.dat
|
||||
exit 2
|
||||
# arguments:
|
||||
# $1 URL
|
||||
# $2 output file name
|
||||
_fetch() {
|
||||
url="$1"
|
||||
out="$2"
|
||||
TEMPFILE="$(mktemp "%%DATADIR%%"/GeoIP.dat-XXXXXX)"
|
||||
trap 'rc=$? ; set +e ; rm -f "'"$TEMPFILE"'" ; exit $rc' 0
|
||||
if fetch -o - "$url" | gunzip >> "$TEMPFILE" ; then
|
||||
chmod 444 "$TEMPFILE"
|
||||
if ! mv -f "$TEMPFILE" "%%DATADIR%%"/"$2" ; then
|
||||
echo "Unable to replace %%DATADIR%%/$2"
|
||||
return 2
|
||||
fi
|
||||
else
|
||||
echo "$2 download failed"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
rm $TEMPFILE
|
||||
echo GeoIP.dat download failed
|
||||
exit 1
|
||||
fi
|
||||
rm -f "$TEMPFILE"
|
||||
trap - 0
|
||||
return 0
|
||||
}
|
||||
|
||||
TEMPFILE=`mktemp %%DATADIR%%/GeoIPv6.dat-XXXXXX`
|
||||
if fetch -o - http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz | gunzip >> $TEMPFILE ; then
|
||||
chmod 644 $TEMPFILE
|
||||
if ! mv $TEMPFILE %%DATADIR%%/GeoIPv6.dat ; then
|
||||
rm $TEMPFILE
|
||||
echo Unable to overwrite %%DATADIR%%/GeoIPv6.dat
|
||||
exit 2
|
||||
fi
|
||||
else
|
||||
rm $TEMPFILE
|
||||
echo GeoIPv6.dat download failed
|
||||
exit 1
|
||||
fi
|
||||
_fetch "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz" GeoIP.dat
|
||||
|
||||
_fetch "http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz" GeoIPv6.dat
|
||||
|
Loading…
Reference in New Issue
Block a user