diff --git a/.GeoIP.metadata b/.GeoIP.metadata index f6cb5ce..d72507a 100644 --- a/.GeoIP.metadata +++ b/.GeoIP.metadata @@ -1,7 +1 @@ ac1a6809afbb7624aff2f6e12ceb300b12de1715 SOURCES/GeoIP-1.6.12.tar.gz -4ec0df2fd67f7d17d581ad5c1b96aa87d6c838e8 SOURCES/GeoIPASNum.dat.gz -4085ecf9a64a10214f33a350c2a299b4c292117b SOURCES/GeoIPASNumv6.dat.gz -3b7cc30ddfc2f559c14b798f1d7e52241a7d9cdc SOURCES/GeoIPv6.dat.gz -a15de3d2059fef4b0e77f3a3bb1b95ac6090eba1 SOURCES/GeoLiteCityv6.dat.gz -1342a88b7ec340f7047f34de5ed722ac37c38fe0 SOURCES/GeoIP.dat.gz -bb7eca125c87d4df7d41035d3eaafd8be9da9e18 SOURCES/GeoLiteCity.dat.gz diff --git a/SPECS/GeoIP.spec b/SPECS/GeoIP.spec index c3b4af9..6b2dfe1 100644 --- a/SPECS/GeoIP.spec +++ b/SPECS/GeoIP.spec @@ -1,5 +1,4 @@ # Tests require network access so fail in koji; build using --with tests to run them yourself -%global noarch_subpkgs 0%{?fedora} > 9 || 0%{?rhel} > 5 %bcond_with tests Name: GeoIP @@ -9,12 +8,6 @@ Summary: Library for country/city/organization to IP address or hostname mapping License: LGPLv2+ URL: http://www.maxmind.com/app/c Source0: https://github.com/maxmind/geoip-api-c/releases/download/v%{version}/GeoIP-%{version}.tar.gz -Source10: http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz -Source11: http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz -Source12: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz -Source13: http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz -Source14: http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz -Source15: http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz BuildRequires: coreutils BuildRequires: gcc BuildRequires: make @@ -49,34 +42,24 @@ Obsoletes: geoip-devel < %{version}-%{release} Development headers and static libraries for building GeoIP-based applications. %package data -Summary: Static snapshot of GeoIP databases -Group: Applications/Databases -Requires: %{name} = %{version}-%{release} -%if %{noarch_subpkgs} -BuildArch: noarch -%endif +Summary: GeoLite country data for GeoIP +Group: Productivity/Networking/Other +BuildArch: noarch %description data -Snapshot of IPv4 and IPv6 databases for GeoIP. These databases are not -regularly updated, use a cron job from GeoIP-update package to get fresh ones. - -This package includes GeoLite data created by MaxMind, available from -http://www.maxmind.com/ +This package does not actually contain any data. It only exists to +give ownership the database files you can fetch using +"geoip-fetch". %prep %setup -q -install -p -m 644 %{SOURCE10} data/GeoIP-initial.dat.gz; gunzip data/GeoIP-initial.dat -install -p -m 644 %{SOURCE11} data/GeoIPv6-initial.dat.gz; gunzip data/GeoIPv6-initial.dat -# City and ASN databases will be in GeoIP-data subpackage as -initial files -# and linked to non--initial on installation of the subpackage. -install -p -m 644 %{SOURCE12} data/GeoIPCity-initial.dat.gz; gunzip data/GeoIPCity-initial.dat -install -p -m 644 %{SOURCE13} data/GeoIPCityv6-initial.dat.gz; gunzip data/GeoIPCityv6-initial.dat -install -p -m 644 %{SOURCE14} data/GeoIPASNum-initial.dat.gz; gunzip data/GeoIPASNum-initial.dat -install -p -m 644 %{SOURCE15} data/GeoIPASNumv6-initial.dat.gz; gunzip data/GeoIPASNumv6-initial.dat %build %configure --disable-static --disable-dependency-tracking +sed -i -e '/-DGEOIPDATADIR/s,\$(pkgdatadir),%{_localstatedir}/lib/GeoIP,' libGeoIP/Makefile{.am,.in,} +sed -i -e 's,\$(pkgdatadir),%{_localstatedir}/lib/GeoIP,' man/Makefile{.am,.in,} + # Kill bogus rpaths sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool @@ -86,37 +69,10 @@ make %{?_smp_mflags} %install make DESTDIR=%{buildroot} INSTALL="install -p" install +install -d %{buildroot}%{_localstatedir}/lib/GeoIP %{buildroot}%{_prefix}/lib/geoip/ + # nix the stuff we don't need like .la files. rm -f %{buildroot}%{_libdir}/*.la -# install downloaded GeoLite databases -for db in \ - GeoIP-initial.dat \ - GeoIPv6-initial.dat \ - GeoIPCity-initial.dat \ - GeoIPCityv6-initial.dat \ - GeoIPASNum-initial.dat \ - GeoIPASNumv6-initial.dat -do - install -p -m 644 data/$db %{buildroot}%{_datadir}/GeoIP/ -done - -# create empty files for initial %%ghost databases -touch %{buildroot}%{_datadir}/GeoIP/GeoIP{ASNum,City,Country}{,v6}.dat -chmod 644 %{buildroot}%{_datadir}/GeoIP/GeoIP{ASNum,City,Country}{,v6}.dat - -# make the default GeoIP.dat a symlink to our -initial data file. -ln -sf GeoIP-initial.dat %{buildroot}%{_datadir}/GeoIP/GeoIP.dat -ln -sf GeoIPv6-initial.dat %{buildroot}%{_datadir}/GeoIP/GeoIPv6.dat - -#links used when invoking geoiplookup -v -ln -sf GeoIPCity-initial.dat %{buildroot}%{_datadir}/GeoIP/GeoIPCity.dat -ln -sf GeoIPCityv6-initial.dat %{buildroot}%{_datadir}/GeoIP/GeoIPCityv6.dat - -# Add compat symlinks for GeoIPASNum.dat and GeoLiteASNumv6.dat -# ([upstream] database names used in the old geoip-geolite package) -ln -sf GeoIPASNum.dat %{buildroot}%{_datadir}/GeoIP/GeoIPASNum.dat -ln -sf GeoIPASNumv6.dat %{buildroot}%{_datadir}/GeoIP/GeoIPASNumv6.dat - %check # Tests require network access so fail in koji; build using --with tests to run them yourself @@ -124,28 +80,6 @@ ln -sf GeoIPASNumv6.dat %{buildroot}%{_datadir}/GeoIP/GeoIPASNumv6.dat %ldconfig_scriptlets -%post data -# Link *-initial.dat files as official GeoIP database files. Make sure not to -# overwrite any user databases! -for db in GeoIPCity.dat GeoIPCityv6.dat GeoIPASNum.dat GeoIPASNumv6.dat ; do - db_initial=${db%.dat}-initial.dat - if [ ! -e "/usr/share/GeoIP/$db" ]; then - ln -s "/usr/share/GeoIP/$db_initial" "/usr/share/GeoIP/$db" &>/dev/null || : - fi -done - -%postun data -if [ "$1" == "0" ]; then - for db in GeoIPCity.dat GeoIPCityv6.dat GeoIPASNum.dat GeoIPASNumv6.dat ; do - db_initial=${db%.dat}-initial.dat - # Remove links to -initial files, ignoring links anywhere else - if [ -h "/usr/share/GeoIP/$db" -a $(readlink /usr/share/GeoIP/$db) = "/usr/share/GeoIP/$db_initial" ]; then - rm "/usr/share/GeoIP/$db" &>/dev/null || : - fi - done -fi - - %files %if 0%{?_licensedir:1} %license COPYING @@ -159,19 +93,6 @@ fi %{_libdir}/libGeoIP.so.1.* %{_mandir}/man1/geoiplookup.1* %{_mandir}/man1/geoiplookup6.1* -%dir %{_datadir}/GeoIP/ -%{_datadir}/GeoIP/GeoIP-initial.dat -%{_datadir}/GeoIP/GeoIPv6-initial.dat -# The other databases are %%verify(not md5 size mtime) so that they can be updated via the cron scripts -# and rpm will not moan about the files having changed -%verify(not md5 size link mtime) %{_datadir}/GeoIP/GeoIP.dat -%verify(not md5 size link mtime) %{_datadir}/GeoIP/GeoIPv6.dat -%ghost %{_datadir}/GeoIP/GeoIPASNum.dat -%ghost %{_datadir}/GeoIP/GeoIPCity.dat -%ghost %{_datadir}/GeoIP/GeoIPCountry.dat -%ghost %{_datadir}/GeoIP/GeoIPASNumv6.dat -%ghost %{_datadir}/GeoIP/GeoIPCityv6.dat -%ghost %{_datadir}/GeoIP/GeoIPCountryv6.dat %files devel %{_includedir}/GeoIP.h @@ -180,10 +101,11 @@ fi %{_libdir}/pkgconfig/geoip.pc %files data -%{_datadir}/GeoIP/GeoIPCity-initial.dat -%{_datadir}/GeoIP/GeoIPCityv6-initial.dat -%{_datadir}/GeoIP/GeoIPASNum-initial.dat -%{_datadir}/GeoIP/GeoIPASNumv6-initial.dat +%dir %{_localstatedir}/lib/%{name} +%ghost %{_localstatedir}/lib/%{name}/GeoIP.dat +%ghost %{_localstatedir}/lib/%{name}/GeoIPASNum.dat +%ghost %{_localstatedir}/lib/%{name}/GeoIPCity.dat +%ghost %{_localstatedir}/lib/%{name}/GeoIPv6.dat %changelog * Thu Nov 28 2019 Thomas Andrejak - 1.6.12-7