#!/bin/sh

PRGNAM=geoip-database-extra
VERSION=20250815
BUILD=1
ARCH=all

HOMEPAGE="https://mailfud.org/geoip-legacy/"
SOURCES="GeoIPCity.dat.gz GeoIPCityv6.dat.gz
GeoIPASNum.dat.gz GeoIPASNumv6.dat.gz
GeoIPISP.dat.gz GeoIPISPv6.dat.gz
GeoIPOrg.dat.gz GeoIPOrgv6.dat.gz"
DOWNLOAD="https://mailfud.org/geoip-legacy"

MAINTAINER="Gernot Walzl"
EMAIL="gernot.walzl@gmx.at"
DATE="2025-08-15"

DESC="GeoIP Legacy Databases
 This package contains the free GeoLite City and ASN database."


# set initial variables
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# exit on error
set -e

# download the source if needed
for SOURCE in $SOURCES; do
  if [ ! -f "$CWD/$SOURCE" ]; then
    wget -O "$CWD/$SOURCE" "$DOWNLOAD/$SOURCE" || exit 1
  fi
done

# install
rm -rf "$PKG"
mkdir -p "$PKG/usr/share/GeoIP"
for SOURCE in $SOURCES; do
  cp "$CWD/$SOURCE" "$PKG/usr/share/GeoIP"
  gunzip "$PKG/usr/share/GeoIP/$SOURCE"
done
mkdir -p "$PKG/usr/share/doc/$PRGNAM"

# copy build script
cat "$CWD/$0" > "$PKG/usr/share/doc/$PRGNAM/$PRGNAM.DebBuild"

# changelog
cat > "$PKG/usr/share/doc/$PRGNAM/changelog.Debian" <<EOF
$PRGNAM ($VERSION-$BUILD) unstable; urgency=medium

  * Created a Debian package.

 -- $MAINTAINER <$EMAIL>  $(date -d$DATE -R)
EOF
gzip -n9 "$PKG/usr/share/doc/$PRGNAM/changelog.Debian"

# copyright
cat > "$PKG/usr/share/doc/$PRGNAM/copyright" <<EOF
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

Files: *
Copyright: 2007-2015, MaxMind LLC
License: OpenDataLicense
 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.
EOF

# DEBIAN/control
mkdir -p "$PKG/DEBIAN"
cat > "$PKG/DEBIAN/control" <<EOF
Package: $PRGNAM
Version: $VERSION-$BUILD
Section: net
Priority: optional
Architecture: $ARCH
Installed-Size: $(du -s "$PKG" | cut -f1)
Maintainer: $MAINTAINER <$EMAIL>
Description: $DESC
Homepage: $HOMEPAGE
EOF

# DEBIAN/md5sums
cd "$PKG"
find . -type d -name 'DEBIAN' -prune -o -type f -printf '%P\0' \
  | sort -z | xargs -0 md5sum \
  > "$PKG/DEBIAN/md5sums"

# build a deb
cd "$TMP"
fakeroot dpkg-deb -b "$PKG" "$OUTPUT"

# clean
cd "$CWD"
rm -rf "$PKG"
rm -rf "$TMP/$PRGNAM"
