From 28cb035a4b3afaf1a8ebe0537a22db4c5e32944e Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 26 Mar 2014 13:22:30 +0100 Subject: php-pecl-event: package approved, switch back to our spec --- event-php56.patch | 13 --- php-pecl-event-dev.spec | 296 ------------------------------------------------ php-pecl-event.spec | 78 +++++++++---- 3 files changed, 57 insertions(+), 330 deletions(-) delete mode 100644 event-php56.patch delete mode 100644 php-pecl-event-dev.spec diff --git a/event-php56.patch b/event-php56.patch deleted file mode 100644 index 6dd562d..0000000 --- a/event-php56.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/util.h b/src/util.h -index 57ef991..8c3b652 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -96,7 +96,7 @@ int _php_event_getsockname(evutil_socket_t fd, zval **ppzaddress, zval **ppzport - - #define PHP_EVENT_REQUIRE_BASE_BY_REF(zbase) \ - do { \ -- if (!Z_ISREF_P((zbase))) { \ -+ if (!Z_ISREF_P((zbase)) || Z_REFCOUNT_P(zbase) < 2) { \ - php_error_docref(NULL TSRMLS_CC, E_ERROR, \ - "EventBase must be passed by reference"); \ - } \ diff --git a/php-pecl-event-dev.spec b/php-pecl-event-dev.spec deleted file mode 100644 index 273d1c0..0000000 --- a/php-pecl-event-dev.spec +++ /dev/null @@ -1,296 +0,0 @@ -# spec file for php-pecl-event -# -# Copyright (c) 2013-2014 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/3.0/ -# -# Please, preserve the changelog entries -# -%{?scl: %scl_package php-pecl-event} -%{!?scl: %global _root_prefix %{_prefix}} -%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} -%{!?__pecl: %global __pecl %{_bindir}/pecl} -%{!?__php: %global __php %{_bindir}/php} - -%global with_tests %{?_without_tests:0}%{!?_without_tests:1} -%global pecl_name event -%global with_zts 0%{?__ztsphp:1} - -Summary: Provides interface to libevent library -Name: %{?scl_prefix}php-pecl-%{pecl_name} -Version: 1.9.1 -Release: 2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} -License: PHP -Group: Development/Languages -URL: http://pecl.php.net/package/event -Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: %{?scl_prefix}php-devel > 5.4 -BuildRequires: %{?scl_prefix}php-pear - -%if 0%{?scl:1} && 0%{?fedora} < 15 && 0%{?rhel} < 7 -# Filter in the SCL collection -%{?filter_requires_in: %filter_requires_in %{_libdir}/.*\.so} -# libvent from SCL as not available in system -BuildRequires: %{?scl_prefix}libevent-devel >= 2.0.2 -Requires: %{?scl_prefix}libevent%{_isa} >= 2.0.2 -%global _event_prefix %{_prefix} -%else -BuildRequires: libevent-devel >= 2.0.2 -%global _event_prefix %{_root_prefix} -%endif - -BuildRequires: openssl-devel -BuildRequires: pkgconfig - -Requires(post): %{__pecl} -Requires(postun): %{__pecl} -Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} -Requires: %{?scl_prefix}php(api) = %{php_core_api} -Requires: %{?scl_prefix}php-sockets%{?_isa} - -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 "%{?vendor}" == "Remi Collet" -# Other third party repo stuff -Obsoletes: php53-pecl-%{pecl_name} -Obsoletes: php53u-pecl-%{pecl_name} -Obsoletes: php54-pecl-%{pecl_name} -%if "%{php_version}" > "5.5" -Obsoletes: php55u-pecl-%{pecl_name} -%endif -%if "%{php_version}" > "5.6" -Obsoletes: php56u-pecl-%{pecl_name} -%endif -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter private shared -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%endif -%{?filter_setup} - - -%description -This is an extension to efficiently schedule I/O, time and signal based -events using the best I/O notification mechanism available for specific -platform. This is a port of libevent to the PHP infrastructure. - -Version 1.0.0 introduces: -* new OO API breaking backwards compatibility -* support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener. - - -%prep -%setup -q -c - -mv %{pecl_name}-%{version} NTS - -cd NTS -# Sanity check, really often broken -extver=$(sed -n '/#define PHP_EVENT_VERSION/{s/.* "//;s/".*$//;p}' php_event.h) -if test "x${extver}" != "x%{version}"; then - : Error: Upstream extension version is ${extver}, expecting %{version}. - exit 1 -fi -cd .. - -# duplicate for ZTS build -%if %{with_zts} -cp -pr NTS ZTS -%endif - -# Drop in the bit of configuration -cat > %{pecl_name}.ini << 'EOF' -; Enable %{pecl_name} extension module -extension = %{pecl_name}.so -EOF - - -%build -cd NTS -%{_bindir}/phpize -%configure \ - --with-event-libevent-dir=%{_event_prefix} \ - --with-libdir=%{_lib} \ - --with-event-core \ - --with-event-extra \ - --with-event-openssl \ - --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} - -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize -%configure \ - --with-event-libevent-dir=%{_event_prefix} \ - --with-libdir=%{_lib} \ - --with-event-core \ - --with-event-extra \ - --with-event-openssl \ - --with-event-pthreads \ - --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} -%endif - - -%install -rm -rf %{buildroot} - -# use z-event.ini to ensure event.so load "after" sockets.so -: Install the NTS stuff -make -C NTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_inidir}/z-%{pecl_name}.ini - -%if %{with_zts} -: Install the ZTS stuff -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/z-%{pecl_name}.ini -%endif - -: Install the package XML file -install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - -: Test and Documentation -for i in $(grep 'role="test"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i -done -for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - -%check -if [ -f %{php_extdir}/sockets.so ]; then - OPTS="-d extension=sockets.so" -fi - -: Minimal load test for NTS extension -%{__php} --no-php-ini $OPTS \ - --define extension=NTS/modules/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -%if %{with_zts} -: Minimal load test for ZTS extension -%{__ztsphp} --no-php-ini $OPTS \ - --define extension=ZTS/modules/%{pecl_name}.so \ - --modules | grep %{pecl_name} -%endif - -%if %{with_tests} -cd NTS -: Upstream test suite for NTS extension -SKIP_ONLINE_TESTS=1 \ -TEST_PHP_EXECUTABLE=%{__php} \ -TEST_PHP_ARGS="-n $OPTS -d extension=$PWD/modules/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{__php} -n run-tests.php - -%if %{with_zts} -cd ../ZTS -: Upstream test suite for ZTS extension -SKIP_ONLINE_TESTS=1 \ -TEST_PHP_EXECUTABLE=%{__ztsphp} \ -TEST_PHP_ARGS="-n $OPTS -d extension=$PWD/modules/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{__ztsphp} -n run-tests.php -%endif -%endif - - -%post -%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : - - -%postun -if [ $1 -eq 0 ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi - - -%clean -rm -rf %{buildroot} - - -%files -%defattr(-, root, root, 0755) -%doc %{pecl_docdir}/%{pecl_name} -%doc %{pecl_testdir}/%{pecl_name} -%{pecl_xmldir}/%{name}.xml - -%config(noreplace) %{php_inidir}/z-%{pecl_name}.ini -%{php_extdir}/%{pecl_name}.so - -%if %{with_zts} -%config(noreplace) %{php_ztsinidir}/z-%{pecl_name}.ini -%{php_ztsextdir}/%{pecl_name}.so -%endif - - -%changelog -* Sun Mar 23 2014 Remi Collet - 1.9.1-2 -- allow SCL build, with libevent from SCL when needed - -* Sun Mar 23 2014 Remi Collet - 1.9.1-1 -- Update to 1.9.1 (stable) - -* Sun Mar 23 2014 Remi Collet - 1.9.0-2 -- add patch for php 5.6 - https://bitbucket.org/osmanov/pecl-event/pull-request/7 - -* Fri Jan 17 2014 Remi Collet - 1.9.0-1 -- Update to 1.9.0 (stable) -- add option to disable tests during build -- adapt for SCL - -* Sat Jan 11 2014 Remi Collet - 1.8.1-2 -- install doc in pecl doc_dir -- install tests in pecl test_dir -- open https://bitbucket.org/osmanov/pecl-event/pull-request/6 - -* Mon Oct 07 2013 Remi Collet - 1.8.1-1 -- Update to 1.8.1 (stable) -- drop patch merged upstream -- patch for https://bitbucket.org/osmanov/pecl-event/pull-request/4 - -* Sun Oct 06 2013 Remi Collet - 1.8.0-1 -- Update to 1.8.0 -- patch for https://bitbucket.org/osmanov/pecl-event/pull-request/3 - -* Mon Sep 16 2013 Remi Collet - 1.7.8-1 -- Update to 1.7.8 - -* Sun Sep 08 2013 Remi Collet - 1.7.6-1 -- Update to 1.7.6 - -* Mon Aug 19 2013 Remi Collet - 1.7.5-1 -- Update to 1.7.5 - -* Sun Jul 28 2013 Remi Collet - 1.7.2-1 -- Update to 1.7.2 - -* Wed Jul 24 2013 Remi Collet - 1.7.1-1 -- Update to 1.7.1 - -* Thu Jul 18 2013 Remi Collet - 1.7.0-1 -- Update to 1.7.0 - -* Thu Jul 18 2013 Remi Collet - 1.6.2-2 -- missing requires php-sockets -- enable thread safety for ZTS extension - -* Thu Jul 18 2013 Remi Collet - 1.6.2-1 -- Update to 1.6.2 - -* Sat Apr 20 2013 Remi Collet - 1.6.1-1 -- initial package, version 1.6.1 -- upstream bugs: - https://bugs.php.net/64678 missing License - https://bugs.php.net/64679 buffer overflow - https://bugs.php.net/64680 skip online test diff --git a/php-pecl-event.spec b/php-pecl-event.spec index 0958173..273d1c0 100644 --- a/php-pecl-event.spec +++ b/php-pecl-event.spec @@ -6,45 +6,73 @@ # # Please, preserve the changelog entries # -%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} -%{!?__pecl: %global __pecl %{_bindir}/pecl} -%{!?__php: %global __php %{_bindir}/php} +%{?scl: %scl_package php-pecl-event} +%{!?scl: %global _root_prefix %{_prefix}} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} %global with_tests %{?_without_tests:0}%{!?_without_tests:1} %global pecl_name event %global with_zts 0%{?__ztsphp:1} Summary: Provides interface to libevent library -Name: php-pecl-%{pecl_name} +Name: %{?scl_prefix}php-pecl-%{pecl_name} Version: 1.9.1 -Release: 1%{?dist} +Release: 2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: PHP Group: Development/Languages URL: http://pecl.php.net/package/event Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -BuildRequires: php-devel > 5.4 -BuildRequires: php-pear +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: %{?scl_prefix}php-devel > 5.4 +BuildRequires: %{?scl_prefix}php-pear + +%if 0%{?scl:1} && 0%{?fedora} < 15 && 0%{?rhel} < 7 +# Filter in the SCL collection +%{?filter_requires_in: %filter_requires_in %{_libdir}/.*\.so} +# libvent from SCL as not available in system +BuildRequires: %{?scl_prefix}libevent-devel >= 2.0.2 +Requires: %{?scl_prefix}libevent%{_isa} >= 2.0.2 +%global _event_prefix %{_prefix} +%else BuildRequires: libevent-devel >= 2.0.2 +%global _event_prefix %{_root_prefix} +%endif + BuildRequires: openssl-devel BuildRequires: pkgconfig Requires(post): %{__pecl} Requires(postun): %{__pecl} -Requires: php(zend-abi) = %{php_zend_api} -Requires: php(api) = %{php_core_api} -Requires: php-sockets%{?_isa} - -Provides: php-%{pecl_name} = %{version} -Provides: php-%{pecl_name}%{?_isa} = %{version} -Provides: php-pecl(%{pecl_name}) = %{version} -Provides: php-pecl(%{pecl_name})%{?_isa} = %{version} +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} +Requires: %{?scl_prefix}php-sockets%{?_isa} + +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 "%{?vendor}" == "Remi Collet" +# Other third party repo stuff +Obsoletes: php53-pecl-%{pecl_name} +Obsoletes: php53u-pecl-%{pecl_name} +Obsoletes: php54-pecl-%{pecl_name} +%if "%{php_version}" > "5.5" +Obsoletes: php55u-pecl-%{pecl_name} +%endif +%if "%{php_version}" > "5.6" +Obsoletes: php56u-pecl-%{pecl_name} +%endif +%endif %if 0%{?fedora} < 20 && 0%{?rhel} < 7 # Filter private shared %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} %endif +%{?filter_setup} %description @@ -87,7 +115,7 @@ EOF cd NTS %{_bindir}/phpize %configure \ - --with-event-libevent-dir=%{_prefix} \ + --with-event-libevent-dir=%{_event_prefix} \ --with-libdir=%{_lib} \ --with-event-core \ --with-event-extra \ @@ -99,7 +127,7 @@ make %{?_smp_mflags} cd ../ZTS %{_bindir}/zts-phpize %configure \ - --with-event-libevent-dir=%{_prefix} \ + --with-event-libevent-dir=%{_event_prefix} \ --with-libdir=%{_lib} \ --with-event-core \ --with-event-extra \ @@ -111,6 +139,8 @@ make %{?_smp_mflags} %install +rm -rf %{buildroot} + # use z-event.ini to ensure event.so load "after" sockets.so : Install the NTS stuff make -C NTS install INSTALL_ROOT=%{buildroot} @@ -184,7 +214,12 @@ if [ $1 -eq 0 ] ; then fi +%clean +rm -rf %{buildroot} + + %files +%defattr(-, root, root, 0755) %doc %{pecl_docdir}/%{pecl_name} %doc %{pecl_testdir}/%{pecl_name} %{pecl_xmldir}/%{name}.xml @@ -199,6 +234,9 @@ fi %changelog +* Sun Mar 23 2014 Remi Collet - 1.9.1-2 +- allow SCL build, with libevent from SCL when needed + * Sun Mar 23 2014 Remi Collet - 1.9.1-1 - Update to 1.9.1 (stable) @@ -209,6 +247,7 @@ fi * Fri Jan 17 2014 Remi Collet - 1.9.0-1 - Update to 1.9.0 (stable) - add option to disable tests during build +- adapt for SCL * Sat Jan 11 2014 Remi Collet - 1.8.1-2 - install doc in pecl doc_dir @@ -236,9 +275,6 @@ fi * Sun Jul 28 2013 Remi Collet - 1.7.2-1 - Update to 1.7.2 -* Fri Jul 26 2013 Remi Collet - 1.7.1-2 -- cleanups before review - * Wed Jul 24 2013 Remi Collet - 1.7.1-1 - Update to 1.7.1 -- cgit