]> git.pld-linux.org Git - packages/php-pecl-memcache.git/blobdiff - php-pecl-memcache.spec
mark tests properly skipped
[packages/php-pecl-memcache.git] / php-pecl-memcache.spec
index 2bad2e68d89f9f0d81e5f54d37ed4a4f1b5746c5..9d8dcf423ee82dfad0931bc30fe3ee0c93f8f361 100644 (file)
@@ -1,24 +1,57 @@
-%define                _modname        memcache
-%define                _status         stable
-Summary:       %{_modname} - a memcached extension
-Summary(pl.UTF-8):     %{_modname} - rozszerzenie memcached
-Name:          php-pecl-%{_modname}
-Version:       3.0.0
+#
+# Conditional build:
+%bcond_without tests           # build without tests
+
+%define                php_name        php%{?php_suffix}
+%define                modname memcache
+%define                php_min_version 5.0.0
+%include       /usr/lib/rpm/macros.php
+Summary:       %{modname} - a memcached extension
+Summary(pl.UTF-8):     %{modname} - rozszerzenie memcached
+Name:          %{php_name}-pecl-%{modname}
+Version:       3.0.9
 Release:       1
 Release:       1
-License:       PHP 2.02
+License:       PHP 3.01
 Group:         Development/Languages/PHP
 Group:         Development/Languages/PHP
-Source0:       http://pecl.php.net/get/%{_modname}-%{version}.tgz
-# Source0-md5: 0cc7d64f4af5b63403604c3cec308315
+#Source0:      http://pecl.php.net/get/%{modname}-%{version}.tgz
+Source0:       https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.tar.gz
+# Source0-md5: 7751d8191302a726449d7c6506b8783d
+Source1:       %{modname}.ini
+Source2:       %{modname}-apache.conf
+Source3:       %{modname}-lighttpd.conf
+Source4:       config.php
+Patch0:                %{modname}-webapp.patch
+Patch1:                tests.patch
 URL:           http://pecl.php.net/package/memcache/
 URL:           http://pecl.php.net/package/memcache/
-BuildRequires: php-devel >= 3:5.0.0
-BuildRequires: rpmbuild(macros) >= 1.344
+BuildRequires: %{php_name}-devel >= 3:5.0.0
+BuildRequires: %{php_name}-xml
+BuildRequires: php-packagexml2cl
+BuildRequires: rpm-php-pearprov >= 4.4.2-11
+BuildRequires: rpmbuild(macros) >= 1.650
+%if %{with tests}
+BuildRequires: %{php_name}-cli
+BuildRequires: %{php_name}-session
+BuildRequires: %{php_name}-spl
+%endif
 %{?requires_php_extension}
 %{?requires_php_extension}
-Requires:      php-common >= 4:5.0.4
-Requires:      php(zlib)
-#Sugests:      memcached
-Obsoletes:     php-pear-%{_modname}
+Requires:      %{php_name}-session
+Requires:      %{php_name}-zlib
+Suggests:      memcached
+Provides:      php(memcache) = %{version}
+Obsoletes:     php-pecl-memcache < 3.0.8-5
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _webapps        /etc/webapps
+%define                _webapp         %{modname}
+%define                _sysconfdir     %{_webapps}/%{_webapp}
+%define                _appdir         %{_datadir}/%{_webapp}
+
+# bad depsolver
+%define                _noautopear     pear
+
+# put it together for rpmbuild
+%define                _noautoreq      %{?_noautophp} %{?_noautopear}
+
 %description
 Memcached is a caching daemon designed especially for dynamic web
 applications to decrease database load by storing objects in memory.
 %description
 Memcached is a caching daemon designed especially for dynamic web
 applications to decrease database load by storing objects in memory.
@@ -26,8 +59,6 @@ applications to decrease database load by storing objects in memory.
 This extension allows you to work with memcached through handy OO and
 procedural interfaces.
 
 This extension allows you to work with memcached through handy OO and
 procedural interfaces.
 
-In PECL status of this extension is: %{_status}.
-
 %description -l pl.UTF-8
 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
 %description -l pl.UTF-8
 Memcached to zaprojektowany dla dynamicznych aplikacji internetowych
 daemon cachujący mający za zadanie zmniejszenie obciążenia bazy danych
@@ -36,30 +67,74 @@ przez przechowywanie w pamięci obiektów.
 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
 zorientowanego obiektowo (oraz przez procedury) interfejsu.
 
 To rozszerzenie umożliwia pracę z memcached za pomocą poręcznego
 zorientowanego obiektowo (oraz przez procedury) interfejsu.
 
-To rozszerzenie ma w PECL status: %{_status}.
+%package web
+Summary:       Web interface for memcache
+Group:         Libraries
+# does not require extension itself
+Requires:      php(core) >= %{php_min_version}
+Requires:      php(date)
+Requires:      php(gd)
+Requires:      php(pcre)
+Requires:      webapps
+Requires:      webserver(php) >= 5.0
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description web
+Via this web interface script you can manage and view statistics of
+memcache.
 
 %prep
 
 %prep
-%setup -q -c
+%setup -qc
+mv pecl-%{modname}-*/{.??*,*} .
+%patch0 -p1
+%patch1 -p1
 
 %build
 
 %build
-cd %{_modname}-%{version}
+packagexml2cl package.xml > ChangeLog
 phpize
 %configure \
        --with-zlib-dir=/usr
 %{__make}
 
 phpize
 %configure \
        --with-zlib-dir=/usr
 %{__make}
 
+%if %{with tests}
+# simple module load test
+%{__php} -n -q \
+       -d extension_dir=modules \
+       -d extension=%{php_extensiondir}/spl.so \
+       -d extension=%{php_extensiondir}/session.so \
+       -d extension=%{modname}.so \
+       -m > modules.log
+grep %{modname} modules.log
+
+cat <<'EOF' > run-tests.sh
+#!/bin/sh
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+exec %{__make} test \
+       PHP_EXECUTABLE=%{__php} \
+       PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl session" \
+       RUN_TESTS_SETTINGS="-q $*"
+EOF
+chmod +x run-tests.sh
+
+./run-tests.sh
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir}}
-
-install %{_modname}-%{version}/modules/%{_modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
-cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{_modname}.ini
-; Enable %{_modname} extension module
-extension=%{_modname}.so
-;memcache.allow_failover=1
-;memcache.chunk_size=8192
-;memcache.default_port=11211
-EOF
+install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
+install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
+# we use "session_" prefix in inifile to get loader *after* session extension
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/session_%{modname}.ini
+cp -p example.php $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
+cp -p memcache.php $RPM_BUILD_ROOT%{_appdir}
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
+cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -72,8 +147,44 @@ if [ "$1" = 0 ]; then
        %php_webserver_restart
 fi
 
        %php_webserver_restart
 fi
 
+%triggerpostun -- %{name} < 3.0.4-2
+if [ -f %{php_sysconfdir}/conf.d/%{modname}.ini.rpmsave ]; then
+       echo >&2 "Restoring old config: %{modname}.ini.rpmsave -> session_%{modname}.ini in %{php_sysconfdir}/conf.d"
+       cp -f %{php_sysconfdir}/conf.d/session_%{modname}.ini{,.rpmnew}
+       mv -f %{php_sysconfdir}/conf.d/{%{modname}.ini.rpmsave,session_%{modname}.ini}
+       %php_webserver_restart
+fi
+
+%triggerin web -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun web -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin web -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun web -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
+%triggerin web -- lighttpd
+%webapp_register lighttpd %{_webapp}
+
+%triggerun web -- lighttpd
+%webapp_unregister lighttpd %{_webapp}
+
 %files
 %defattr(644,root,root,755)
 %files
 %defattr(644,root,root,755)
-%doc %{_modname}-%{version}/{CREDITS,README}
-%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{_modname}.ini
-%attr(755,root,root) %{php_extensiondir}/%{_modname}.so
+%doc CREDITS README ChangeLog
+%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/session_%{modname}.ini
+%attr(755,root,root) %{php_extensiondir}/%{modname}.so
+%{_examplesdir}/%{name}-%{version}
+
+%files web
+%defattr(644,root,root,755)
+%dir %attr(750,root,http) %{_sysconfdir}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
+%{_appdir}
This page took 0.091412 seconds and 4 git commands to generate.