diff options
-rw-r--r-- | REFLECTION | 8 | ||||
-rw-r--r-- | geoip-build.patch | 33 | ||||
-rw-r--r-- | geoip-php7.patch | 446 | ||||
-rw-r--r-- | php-pecl-geoip.spec | 30 |
4 files changed, 22 insertions, 495 deletions
@@ -1,4 +1,4 @@ -Extension [ <persistent> extension #86 geoip version 1.1.0 ] { +Extension [ <persistent> extension #84 geoip version 1.1.1 ] { - INI { Entry [ geoip.custom_directory <ALL> ] @@ -34,6 +34,12 @@ Extension [ <persistent> extension #86 geoip version 1.1.0 ] { } Function [ <internal:geoip> function geoip_country_name_by_name ] { } + Function [ <internal:geoip> function geoip_country_code_by_name_v6 ] { + } + Function [ <internal:geoip> function geoip_country_code3_by_name_v6 ] { + } + Function [ <internal:geoip> function geoip_country_name_by_name_v6 ] { + } Function [ <internal:geoip> function geoip_continent_code_by_name ] { } Function [ <internal:geoip> function geoip_org_by_name ] { diff --git a/geoip-build.patch b/geoip-build.patch deleted file mode 100644 index 3179499..0000000 --- a/geoip-build.patch +++ /dev/null @@ -1,33 +0,0 @@ -Index: config.m4 -=================================================================== ---- config.m4 (rĂ©vision 333463) -+++ config.m4 (copie de travail) -@@ -43,7 +43,7 @@ - - PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL, - [ -- PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $GEOIP_DIR/lib, GEOIP_SHARED_LIBADD) -+ PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $GEOIP_DIR/$PHP_LIBDIR, GEOIP_SHARED_LIBADD) - AC_DEFINE(HAVE_GEOIPLIB,1,[ ]) - ],[ - AC_MSG_ERROR([wrong geoip lib version or lib not found]) -@@ -95,8 +95,7 @@ - AC_CHECK_DECL(GEOIP_NETSPEED_EDITION_REV1, - [ - MIN_GEOIP_VERSION=1004008 -- ],[ -- ],[ -+ ],[],[ - #include <GeoIP.h> - ]) - -@@ -104,8 +103,7 @@ - AC_CHECK_DECL(GEOIP_ACCURACYRADIUS_EDITION, - [ - MIN_GEOIP_VERSION=1005000 -- ],[ -- ],[ -+ ],[],[ - #include <GeoIP.h> - ]) - diff --git a/geoip-php7.patch b/geoip-php7.patch deleted file mode 100644 index 6a2dfaa..0000000 --- a/geoip-php7.patch +++ /dev/null @@ -1,446 +0,0 @@ ---- pecl/geoip/trunk/geoip.c 2015/02/15 15:08:09 335947 -+++ pecl/geoip/trunk/geoip.c 2015/02/15 17:56:49 335948 -@@ -129,11 +129,19 @@ - { - if (stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) { - GEOIP_G(set_runtime_custom_directory) = 1; -+#if PHP_MAJOR_VERSION >= 7 -+ geoip_change_custom_directory(new_value->val); -+#else - geoip_change_custom_directory(new_value); -+#endif - return SUCCESS; - } - -+#if PHP_MAJOR_VERSION >= 7 -+ return OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); -+#else - return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); -+#endif - } - /* }}} */ - #endif -@@ -250,7 +258,7 @@ - /* {{{ proto boolean geoip_db_avail( [ int database ] ) */ - PHP_FUNCTION(geoip_db_avail) - { -- long edition; -+ zend_long edition; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &edition) == FAILURE) { - return; -@@ -269,7 +277,7 @@ - /* {{{ proto string geoip_db_filename( [ int database ] ) */ - PHP_FUNCTION(geoip_db_filename) - { -- long edition; -+ zend_long edition; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &edition) == FAILURE) { - return; -@@ -282,7 +290,11 @@ - } - - if (NULL != GeoIPDBFileName[edition]) -+#if PHP_MAJOR_VERSION >= 7 -+ RETURN_STRING(GeoIPDBFileName[edition]); -+#else - RETURN_STRING(GeoIPDBFileName[edition], 1); -+#endif - } - /* }}} */ - -@@ -297,16 +309,31 @@ - { - if (NULL != GeoIPDBDescription[i]) - { -+#if PHP_MAJOR_VERSION >= 7 -+ zval real_row; -+ zval *row = &real_row; -+ -+ array_init(row); -+#else - zval *row; - ALLOC_INIT_ZVAL(row); - array_init(row); -+#endif - - add_assoc_bool(row, "available", GeoIP_db_avail(i)); - if (GeoIPDBDescription[i]) { -+#if PHP_MAJOR_VERSION >= 7 -+ add_assoc_string(row, "description", (char *)GeoIPDBDescription[i]); -+#else - add_assoc_string(row, "description", (char *)GeoIPDBDescription[i], 1); -+#endif - } - if (GeoIPDBFileName[i]) { -+#if PHP_MAJOR_VERSION >= 7 -+ add_assoc_string(row, "filename", GeoIPDBFileName[i]); -+#else - add_assoc_string(row, "filename", GeoIPDBFileName[i], 1); -+#endif - } - - add_index_zval(return_value, i, row); -@@ -321,7 +348,7 @@ - { - GeoIP * gi; - char * db_info; -- long edition = GEOIP_COUNTRY_EDITION; -+ zend_long edition = GEOIP_COUNTRY_EDITION; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &edition) == FAILURE) { - return; -@@ -346,12 +373,45 @@ - db_info = GeoIP_database_info(gi); - GeoIP_delete(gi); - -+#if PHP_MAJOR_VERSION >= 7 -+ RETVAL_STRING(db_info); -+#else - RETVAL_STRING(db_info, 1); -+#endif - free(db_info); - } - /* }}} */ - - /* {{{ */ -+#if PHP_MAJOR_VERSION >= 7 -+#define GEOIPDEF(php_func, c_func, db_type) \ -+ PHP_FUNCTION(php_func) \ -+ { \ -+ GeoIP * gi; \ -+ char * hostname = NULL; \ -+ const char * return_code; \ -+ size_t arglen; \ -+ \ -+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { \ -+ return; \ -+ } \ -+ \ -+ if (GeoIP_db_avail(db_type)) { \ -+ gi = GeoIP_open_type(db_type, GEOIP_STANDARD); \ -+ } else { \ -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Required database not available at %s.", GeoIPDBFileName[db_type]); \ -+ return; \ -+ } \ -+ \ -+ return_code = c_func(gi, hostname); \ -+ GeoIP_delete(gi); \ -+ if (return_code == NULL) { \ -+ RETURN_FALSE; \ -+ } \ -+ RETURN_STRING((char*)return_code); \ -+ \ -+ } -+#else - #define GEOIPDEF(php_func, c_func, db_type) \ - PHP_FUNCTION(php_func) \ - { \ -@@ -379,6 +439,7 @@ - RETURN_STRING((char*)return_code, 1); \ - \ - } -+#endif - #include "geoip.def" - #undef GEOIPDEF - /* }}} */ -@@ -390,7 +451,11 @@ - GeoIP * gi; - char * hostname = NULL; - int id; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { - return; -@@ -408,7 +473,11 @@ - if (id == 0) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETURN_STRING((char *)GeoIP_country_continent[id]); -+#else - RETURN_STRING((char *)GeoIP_country_continent[id], 1); -+#endif - } - /* }}} */ - -@@ -419,7 +488,11 @@ - GeoIP * gi; - char * hostname = NULL; - char * org; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { - return; -@@ -437,7 +510,11 @@ - if (org == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETVAL_STRING(org); -+#else - RETVAL_STRING(org, 1); -+#endif - free(org); - } - /* }}} */ -@@ -449,7 +526,11 @@ - GeoIP * gi; - char * hostname = NULL; - char * org; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { - return; -@@ -467,7 +548,11 @@ - if (org == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETVAL_STRING(org); -+#else - RETVAL_STRING(org, 1); -+#endif - free(org); - } - /* }}} */ -@@ -479,7 +564,11 @@ - GeoIP * gi; - char * hostname = NULL; - char * org; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { - return; -@@ -497,7 +586,11 @@ - if (org == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETVAL_STRING(org); -+#else - RETVAL_STRING(org, 1); -+#endif - free(org); - } - /* }}} */ -@@ -510,7 +603,11 @@ - GeoIP * gi; - char * hostname = NULL; - char * org; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { - return; -@@ -528,7 +625,11 @@ - if (org == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETVAL_STRING(org); -+#else - RETVAL_STRING(org, 1); -+#endif - free(org); - } - /* }}} */ -@@ -540,7 +641,11 @@ - { - GeoIP * gi; - char * hostname = NULL; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - GeoIPRecord * gir; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { -@@ -566,15 +671,27 @@ - } - - array_init(return_value); --#if LIBGEOIP_VERSION >= 1004003 -+#if PHP_MAJOR_VERSION >= 7 -+# if LIBGEOIP_VERSION >= 1004003 -+ add_assoc_string(return_value, "continent_code", (gir->continent_code == NULL) ? "" : gir->continent_code); -+# endif -+ add_assoc_string(return_value, "country_code", (gir->country_code == NULL) ? "" : gir->country_code); -+ add_assoc_string(return_value, "country_code3", (gir->country_code3 == NULL) ? "" : gir->country_code3); -+ add_assoc_string(return_value, "country_name", (gir->country_name == NULL) ? "" : gir->country_name); -+ add_assoc_string(return_value, "region", (gir->region == NULL) ? "" : gir->region); -+ add_assoc_string(return_value, "city", (gir->city == NULL) ? "" : gir->city); -+ add_assoc_string(return_value, "postal_code", (gir->postal_code == NULL) ? "" : gir->postal_code); -+#else -+# if LIBGEOIP_VERSION >= 1004003 - add_assoc_string(return_value, "continent_code", (gir->continent_code == NULL) ? "" : gir->continent_code, 1); --#endif -+# endif - add_assoc_string(return_value, "country_code", (gir->country_code == NULL) ? "" : gir->country_code, 1); - add_assoc_string(return_value, "country_code3", (gir->country_code3 == NULL) ? "" : gir->country_code3, 1); - add_assoc_string(return_value, "country_name", (gir->country_name == NULL) ? "" : gir->country_name, 1); - add_assoc_string(return_value, "region", (gir->region == NULL) ? "" : gir->region, 1); - add_assoc_string(return_value, "city", (gir->city == NULL) ? "" : gir->city, 1); - add_assoc_string(return_value, "postal_code", (gir->postal_code == NULL) ? "" : gir->postal_code, 1); -+#endif - add_assoc_double(return_value, "latitude", gir->latitude); - add_assoc_double(return_value, "longitude", gir->longitude); - #if LIBGEOIP_VERSION >= 1004005 -@@ -594,7 +711,11 @@ - { - GeoIP * gi; - char * hostname = NULL; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - int netspeed; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { -@@ -620,7 +741,11 @@ - { - GeoIP * gi; - char * hostname = NULL; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - GeoIPRegion * region; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { -@@ -646,9 +771,14 @@ - } - - array_init(return_value); -+#if PHP_MAJOR_VERSION >= 7 -+ add_assoc_string(return_value, "country_code", region->country_code); -+ add_assoc_string(return_value, "region", region->region); -+#else - add_assoc_string(return_value, "country_code", region->country_code, 1); - add_assoc_string(return_value, "region", region->region, 1); -- -+#endif -+ - GeoIPRegion_delete(region); - } - /* }}} */ -@@ -660,7 +790,11 @@ - GeoIP * gi; - char * hostname = NULL; - char * isp; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t arglen; -+#else - int arglen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &hostname, &arglen) == FAILURE) { - return; -@@ -678,7 +812,11 @@ - if (isp == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETVAL_STRING(isp); -+#else - RETVAL_STRING(isp, 1); -+#endif - free(isp); - } - -@@ -690,7 +828,11 @@ - char * country_code = NULL; - char * region_code = NULL; - const char * region_name; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t countrylen, regionlen; -+#else - int countrylen, regionlen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &country_code, &countrylen, ®ion_code, ®ionlen) == FAILURE) { - return; -@@ -705,7 +847,11 @@ - if (region_name == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETURN_STRING((char*)region_name); -+#else - RETURN_STRING((char*)region_name, 1); -+#endif - } - /* }}} */ - #endif -@@ -718,7 +864,11 @@ - char * country = NULL; - char * region = NULL; - const char * timezone; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t countrylen, arg2len; -+#else - int countrylen, arg2len; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &country, &countrylen, ®ion, &arg2len) == FAILURE) { - return; -@@ -733,7 +883,11 @@ - if (timezone == NULL) { - RETURN_FALSE; - } -+#if PHP_MAJOR_VERSION >= 7 -+ RETURN_STRING((char*)timezone); -+#else - RETURN_STRING((char*)timezone, 1); -+#endif - } - /* }}} */ - #endif -@@ -744,7 +898,11 @@ - PHP_FUNCTION(geoip_setup_custom_directory) - { - char * dir = NULL; -+#if PHP_MAJOR_VERSION >= 7 -+ size_t dirlen; -+#else - int dirlen; -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &dir, &dirlen) == FAILURE) { - return; ---- pecl/geoip/trunk/php_geoip.h 2015/02/15 15:08:09 335947 -+++ pecl/geoip/trunk/php_geoip.h 2015/02/15 17:56:49 335948 -@@ -26,6 +26,10 @@ - - #define PHP_GEOIP_VERSION "1.1.0" - -+#if PHP_MAJOR_VERSION < 7 -+typedef long zend_long; -+#endif -+ - #ifdef PHP_WIN32 - #define PHP_GEOIP_API __declspec(dllexport) - #else diff --git a/php-pecl-geoip.spec b/php-pecl-geoip.spec index 41bac36..fdf776f 100644 --- a/php-pecl-geoip.spec +++ b/php-pecl-geoip.spec @@ -14,12 +14,11 @@ %else %global sub_prefix %{scl_prefix} %endif +%scl_package php-pecl-geoip %endif -%{?scl: %scl_package php-pecl-geoip} - %define pecl_name geoip -%global with_zts 0%{?__ztsphp:1} +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %if "%{php_version}" < "5.6" %global ini_name %{pecl_name}.ini %else @@ -28,19 +27,14 @@ Name: %{?sub_prefix}php-pecl-geoip -Version: 1.1.0 -Release: 10%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Version: 1.1.1 +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Summary: Extension to map IP addresses to geographic places Group: Development/Languages License: PHP URL: http://pecl.php.net/package/%{pecl_name} Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -# http://svn.php.net/viewvc?view=revision&revision=333464 -Patch0: geoip-build.patch -# http://svn.php.net/viewvc?view=revision&revision=335948 -Patch1: geoip-php7.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: GeoIP-devel BuildRequires: %{?scl_prefix}php-devel @@ -54,8 +48,10 @@ Provides: %{?scl_prefix}php-%{pecl_name} = %{version} Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +%if "%{?scl_prefix}" != "%{?sub_prefix}" Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} +%endif %if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} # Other third party repo stuff @@ -75,6 +71,10 @@ Obsoletes: php56w-pecl-%{pecl_name} <= %{version} Obsoletes: php70u-pecl-%{pecl_name} <= %{version} Obsoletes: php70w-pecl-%{pecl_name} <= %{version} %endif +%if "%{php_version}" > "7.1" +Obsoletes: php71u-pecl-%{pecl_name} <= %{version} +Obsoletes: php71w-pecl-%{pecl_name} <= %{version} +%endif %endif %if 0%{?fedora} < 20 && 0%{?rhel} < 7 @@ -104,9 +104,6 @@ sed -e 's/role="test"/role="src"/' \ mv %{pecl_name}-%{version} NTS cd NTS -%patch0 -p0 -b .svn -%patch1 -p3 -b .svn - extver=$(sed -n '/#define PHP_GEOIP_VERSION/{s/.* "//;s/".*$//;p}' php_geoip.h) if test "x${extver}" != "x%{version}"; then : Error: Upstream version is ${extver}, expecting %{version}. @@ -174,8 +171,8 @@ done %endif cd NTS -# TODO America/Toronto instead of America/Montreal -rm tests/013.phpt +# Missing IPv6 data +rm tests/019.phpt TEST_PHP_EXECUTABLE=%{__php} \ REPORT_EXIT_STATUS=1 \ @@ -227,6 +224,9 @@ fi %changelog +* Thu Sep 01 2016 Remi Collet <remi@fedoraproject.org> - 1.1.1-1 +- Update to 1.1.1 + * Sat Mar 5 2016 Remi Collet <remi@fedoraproject.org> - 1.1.0-10 - adapt for F24 |