Index: head/net/GeoIP/Makefile =================================================================== --- head/net/GeoIP/Makefile (revision 385801) +++ head/net/GeoIP/Makefile (revision 385802) @@ -1,39 +1,39 @@ # Created by: Yen-Ming Lee # $FreeBSD$ PORTNAME= GeoIP PORTVERSION= 1.6.5 DISTVERSIONPREFIX= v -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net geography MAINTAINER= adamw@FreeBSD.org COMMENT= Find the country that any IP address or hostname originates from LICENSE= GPLv2 USE_GITHUB= yes GH_ACCOUNT= maxmind GH_PROJECT= geoip-api-c USES= autoreconf libtool pathfix PATHFIX_MAKEFILEIN= Makefile.am USE_LDCONFIG= yes GNU_CONFIGURE= yes SUB_FILES= geoipupdate.sh pkg-message PLIST_SUB+= PORTVERSION="${PORTVERSION}" OPTIONS_DEFINE= DOCS PORTDOCS= COPYING ChangeLog LICENSE README.md post-install: ${INSTALL_SCRIPT} ${WRKDIR}/geoipupdate.sh ${STAGEDIR}${PREFIX}/bin ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libGeoIP.so.* @${MKDIR} ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:C|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} .include Index: head/net/GeoIP/files/geoipupdate.sh.in =================================================================== --- head/net/GeoIP/files/geoipupdate.sh.in (revision 385801) +++ head/net/GeoIP/files/geoipupdate.sh.in (revision 385802) @@ -1,34 +1,50 @@ #!/bin/sh +# You can set the following environment variables: +# +# GEOIP_DB_SERVER: The default download server is geolite.maxmind.com +# GEOIP_FETCH_CITY: If set (to anything), download the GeoLite City DB +# GEOIP_FETCH_ASN: If sset, download the GeoIP ASN DB + +GEOIP_DB_SERVER=${GEOIP_DB_SERVER:=geolite.maxmind.com} +GEOIP_FETCH_CITY=${GEOIP_FETCH_CITY:=} +GEOIP_FETCH_ASN=${GEOIP_FETCH_ASN:=} + set -eu echo Fetching GeoIP.dat and GeoIPv6.dat... # arguments: # $1 URL # $2 output file name _fetch() { url="$1" out="$2" TEMPDIR="$(mktemp -d '%%DATADIR%%/GeoIPupdate.XXXXXX')" trap 'rc=$? ; set +e ; rm -rf "'"$TEMPDIR"'" ; exit $rc' 0 if fetch -o "$TEMPDIR/$out.gz" "$url"; then gunzip "$TEMPDIR/$out.gz" chmod 444 "$TEMPDIR/$out" if ! mv -f "$TEMPDIR/$out" "%%DATADIR%%"/"$2"; then echo "Unable to replace %%DATADIR%%/$2" return 2 fi else echo "$2 download failed" return 1 fi rmdir "$TEMPDIR" trap - 0 return 0 } -GEOIP_DB_SERVER=${GEOIP_DB_SERVER:=geolite.maxmind.com} - _fetch "http://${GEOIP_DB_SERVER}/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz" GeoIP.dat - _fetch "http://${GEOIP_DB_SERVER}/download/geoip/database/GeoIPv6.dat.gz" GeoIPv6.dat + +if [ -n "$GEOIP_FETCH_CITY" ]; then + _fetch "http://${GEOIP_DB_SERVER}/download/geoip/database/GeoLiteCity.dat.gz" GeoLiteCity.dat + _fetch "http://${GEOIP_DB_SERVER}/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz" GeoLiteCityv6.dat +fi +if [ -n "$GEOIP_FETCH_ASN" ]; then + _fetch "http://${GEOIP_DB_SERVER}/download/geoip/database/asnum/GeoIPASNum.dat.gz" GeoIPASNum.dat + _fetch "http://${GEOIP_DB_SERVER}/download/geoip/database/asnum/GeoIPASNumv6.dat.gz" GeoIPASNumv6.dat +fi