Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
michael@152 | 1 | ## |
michael@152 | 2 | ## geoip.spec -- OpenPKG RPM Package Specification |
michael@152 | 3 | ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/> |
michael@152 | 4 | ## |
michael@152 | 5 | ## Permission to use, copy, modify, and distribute this software for |
michael@152 | 6 | ## any purpose with or without fee is hereby granted, provided that |
michael@152 | 7 | ## the above copyright notice and this permission notice appear in all |
michael@152 | 8 | ## copies. |
michael@152 | 9 | ## |
michael@152 | 10 | ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@152 | 11 | ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@152 | 12 | ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@152 | 13 | ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@152 | 14 | ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@152 | 15 | ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@152 | 16 | ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@152 | 17 | ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@152 | 18 | ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@152 | 19 | ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@152 | 20 | ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@152 | 21 | ## SUCH DAMAGE. |
michael@152 | 22 | ## |
michael@152 | 23 | |
michael@152 | 24 | # package version |
michael@603 | 25 | %define V_api_c 1.4.8 |
michael@603 | 26 | %define V_api_pl 1.40 |
michael@152 | 27 | |
michael@152 | 28 | # package information |
michael@152 | 29 | Name: geoip |
michael@152 | 30 | Summary: Geographic IP Resolution |
michael@153 | 31 | URL: http://www.maxmind.com/app/ip-location |
michael@153 | 32 | Vendor: MaxMind Incorporated |
michael@152 | 33 | Packager: OpenPKG Foundation e.V. |
michael@152 | 34 | Distribution: OpenPKG Community |
michael@152 | 35 | Class: PLUS |
michael@152 | 36 | Group: Mapping |
michael@152 | 37 | License: GPL |
michael@152 | 38 | Version: %{V_api_c} |
michael@603 | 39 | Release: 20120208 |
michael@152 | 40 | |
michael@152 | 41 | # package options |
michael@152 | 42 | %option with_perl no |
michael@152 | 43 | |
michael@152 | 44 | # list of sources |
michael@152 | 45 | Source0: http://geolite.maxmind.com/download/geoip/api/c/GeoIP-%{V_api_c}.tar.gz |
michael@152 | 46 | Source1: http://www.cpan.org/modules/by-module/Geo/Geo-IP-%{V_api_pl}.tar.gz |
michael@153 | 47 | Source2: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz |
michael@152 | 48 | |
michael@152 | 49 | # build information |
michael@152 | 50 | Prefix: %{l_prefix} |
michael@152 | 51 | BuildRoot: %{l_buildroot} |
michael@603 | 52 | BuildPreReq: OpenPKG, openpkg >= 20060823, gcc |
michael@603 | 53 | PreReq: OpenPKG, openpkg >= 20060823 |
michael@603 | 54 | BuildPreReq: zlib |
michael@603 | 55 | PreReq: zlib |
michael@603 | 56 | %if "%{with_perl}" == "yes" |
michael@603 | 57 | BuildPreReq: perl, perl-openpkg |
michael@603 | 58 | PreReq: perl |
michael@603 | 59 | %endif |
michael@152 | 60 | AutoReq: no |
michael@152 | 61 | AutoReqProv: no |
michael@152 | 62 | |
michael@152 | 63 | %description |
michael@153 | 64 | GeoIP is a C library that enables the user to find the country |
michael@153 | 65 | that any IP address or hostname originates from. It uses a file |
michael@153 | 66 | based database containing IP blocks as keys and countries as |
michael@153 | 67 | values and claims to achieve over 99% accuracy. This database |
michael@153 | 68 | should be more complete and accurate than using reverse DNS |
michael@153 | 69 | lookups. |
michael@153 | 70 | |
michael@153 | 71 | This module can be used to automatically select the geographically |
michael@153 | 72 | closest mirror, to analyze your web server logs to determine the |
michael@153 | 73 | countries of your visitors, for credit card fraud detection, and |
michael@153 | 74 | for software export controls. |
michael@152 | 75 | |
michael@152 | 76 | %track |
michael@152 | 77 | prog geoip = { |
michael@152 | 78 | version = %{version} |
michael@152 | 79 | url = http://geolite.maxmind.com/download/geoip/api/c/ |
michael@152 | 80 | regex = GeoIP-(__VER__)\.tar\.gz |
michael@152 | 81 | } |
michael@152 | 82 | prog geoip:perl = { |
michael@152 | 83 | version = %{V_api_pl} |
michael@152 | 84 | url = http://www.cpan.org/modules/by-module/Geo/ |
michael@152 | 85 | regex = Geo-IP-(__VER__)\.tar\.gz |
michael@152 | 86 | } |
michael@152 | 87 | |
michael@152 | 88 | %prep |
michael@152 | 89 | %setup -q -n GeoIP-%{V_api_c} |
michael@153 | 90 | ( cd data && %{l_gzip} -cd %{SOURCE2} >GeoLiteCity.dat) || exit $? |
michael@152 | 91 | %if "%{with_perl}" == "yes" |
michael@152 | 92 | %setup -q -T -D -a 1 -n GeoIP-%{V_api_c} |
michael@152 | 93 | %endif |
michael@152 | 94 | %{l_shtool} subst \ |
michael@152 | 95 | -e 's;-Wall;;g' \ |
michael@152 | 96 | -e 's;-ansi;;g' \ |
michael@152 | 97 | Makefile.in */Makefile.in |
michael@152 | 98 | |
michael@152 | 99 | %build |
michael@152 | 100 | echo "ac_cv_func_gethostbyname_r=no" >config.cache |
michael@152 | 101 | CC="%{l_cc}" \ |
michael@152 | 102 | CFLAGS="%{l_cflags -O}" \ |
michael@152 | 103 | CPPFLAGS="%{l_cppflags}" \ |
michael@152 | 104 | LDFLAGS="%{l_ldflags}" \ |
michael@152 | 105 | LIBS="-lz" \ |
michael@603 | 106 | AUTOCONF="true" \ |
michael@603 | 107 | AUTOMAKE="true" \ |
michael@603 | 108 | AUTOHEADER="true" \ |
michael@603 | 109 | ACLOCAL="true" \ |
michael@152 | 110 | ./configure \ |
michael@152 | 111 | --cache-file=./config.cache \ |
michael@152 | 112 | --prefix=%{l_prefix} \ |
michael@152 | 113 | --sysconfdir=%{l_prefix}/etc/geoip \ |
michael@152 | 114 | --mandir=$RPM_BUILD_ROOT%{l_prefix}/man \ |
michael@152 | 115 | --disable-shared |
michael@152 | 116 | %{l_make} %{l_mflags} |
michael@152 | 117 | %if "%{with_perl}" == "yes" |
michael@152 | 118 | %{l_prefix}/bin/perl-openpkg prepare |
michael@152 | 119 | %{l_prefix}/bin/perl-openpkg -d Geo-IP-%{V_api_pl} --verbose \ |
michael@152 | 120 | --args LIBS="-L../libGeoIP/.libs" \ |
michael@152 | 121 | --args INC="-I../libGeoIP" \ |
michael@152 | 122 | configure build |
michael@152 | 123 | %endif |
michael@152 | 124 | |
michael@152 | 125 | %install |
michael@152 | 126 | rm -rf $RPM_BUILD_ROOT |
michael@152 | 127 | %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix} \ |
michael@152 | 128 | $RPM_BUILD_ROOT%{l_prefix}/man \ |
michael@152 | 129 | $RPM_BUILD_ROOT%{l_prefix}/man/man1 |
michael@603 | 130 | %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT" |
michael@153 | 131 | %{l_shtool} install -c -m 644 \ |
michael@153 | 132 | data/GeoLiteCity.dat $RPM_BUILD_ROOT%{l_prefix}/share/GeoIP |
michael@152 | 133 | %if "%{with_perl}" == "yes" |
michael@152 | 134 | %{l_prefix}/bin/perl-openpkg -d Geo-IP-%{V_api_pl} install |
michael@152 | 135 | %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup |
michael@152 | 136 | %else |
michael@152 | 137 | >perl-openpkg-files |
michael@152 | 138 | %endif |
michael@152 | 139 | strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true |
michael@152 | 140 | rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/geoip/GeoIP.conf.default |
michael@152 | 141 | %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files` |
michael@152 | 142 | |
michael@152 | 143 | %files -f files |
michael@152 | 144 | |
michael@152 | 145 | %clean |
michael@152 | 146 | rm -rf $RPM_BUILD_ROOT |
michael@152 | 147 |