geoipupdate: initial commit

Add MaxMind's geoipupdate utility. mmdb files are downloaded to /var/GeoIP
by default. The user should update /etc/GeoIP.conf with their API key and
DB choice, currently set to country only. So as not to exceed MaxMind's
download limitations, the user should manually run the utility or set up a
cron job.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
This commit is contained in:
Matthew Hagan 2021-11-20 23:46:34 +00:00 committed by Rosen Penev
parent ffd97e173c
commit c815c9a94d
2 changed files with 76 additions and 0 deletions

67
net/geoipupdate/Makefile Normal file
View File

@ -0,0 +1,67 @@
# SPDX-License-Identifier: GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=geoipupdate
PKG_VERSION:=4.8.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/maxmind/geoipupdate/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=ca718c3ffcc595ef441363699888d20150f1d3a6583ac2d60bcbd34f052db09f
PKG_LICENSE:=Apache-2.0 MIT
PKG_LICENSE_FILES:=LICENSE-APACHE LICENSE-MIT
PKG_MAINTAINER:=Matthew Hagan <mnhagan88@gmail.com>
PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
GO_PKG:=github.com/maxmind/geoipupdate
GO_PKG_LDFLAGS_X:= \
main.defaultConfigFile=/etc/GeoIP.conf \
main.defaultDatabaseDirectory=/var/GeoIP
include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk
define Package/geoipupdate
TITLE:=GeoIP Update
URL:=https://github.com/maxmind/geoipupdate
SECTION:=net
CATEGORY:=Network
DEPENDS:=$(GO_ARCH_DEPENDS)
endef
define Package/geoipupdate/description
The GeoIP Update program performs automatic updates of GeoIP2 and GeoIP
Legacy binary databases. CSV databases are not supported.
Users will need to update /etc/GeoIP.conf with their API key and DB
choice, currently set to country only. To update the DB, the user can
manually run the utility or set up a cron job.
This package contains the program and config file.
endef
define Package/geoipupdate/install
$(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
$(INSTALL_DIR) \
$(1)/usr/sbin \
$(1)/etc/init.d
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/geoipupdate $(1)/usr/sbin/
$(INSTALL_CONF) $(PKG_BUILD_DIR)/conf/GeoIP.conf.default $(1)/etc/GeoIP.conf
$(INSTALL_BIN) ./files/geoipupdate.init $(1)/etc/init.d/geoipupdate
$(SED) "s/^EditionIDs GeoLite2-Country GeoLite2-City/EditionIDs GeoLite2-Country/" $(1)/etc/GeoIP.conf
endef
define Package/geoipupdate/conffiles
/etc/GeoIP.conf
endef
$(eval $(call GoBinPackage,geoipupdate))
$(eval $(call BuildPackage,geoipupdate))

View File

@ -0,0 +1,9 @@
#!/bin/sh /etc/rc.common
START=99
start() {
[ -d /var/GeoIP ] || {
mkdir -p /var/GeoIP
}
}