]> git.pld-linux.org Git - projects/template-specs.git/blobdiff - php-pecl.spec
lib: fortify source example
[projects/template-specs.git] / php-pecl.spec
index eabc929898936d01e9f8e4b802f52087fac03e3c..9cc894ebf273446da239ec56f0796aa70c060c37 100644 (file)
-%define                _modname        -
-%define                _status         -
+#
+# Conditional build:
+%bcond_without tests           # build without tests
 
-Summary:       %{_modname} -
-Summary(pl):   %{_modname} -
-Name:          php-pecl-%{_modname}
+%define                php_name        php%{?php_suffix}
+%define                modname MODULE_NAME
+Summary:       %{modname} -
+Summary(pl.UTF-8):     %{modname} -
+Name:          %{php_name}-pecl-%{modname}
 Version:       1.0
 Release:       1
-License:       PHP 2.02
+License:       PHP 3.01
 Group:         Development/Languages/PHP
-Source0:       http://pecl.php.net/get/%{_modname}-%{version}.tgz
-URL:           http://pecl.php.net/package/Modname/
-BuildRequires: libtool
-BuildRequires: php-devel
-Requires:      php-common
-Obsoletes:     php-pear-%{_modname}
+Source0:       http://pecl.php.net/get/%{modname}-%{version}.tgz
+# Source0-md5: -
+URL:           http://pecl.php.net/package/MODULE_NAME/
+%{?with_tests:BuildRequires:    %{php_name}-cli}
+BuildRequires: %{php_name}-devel
+BuildRequires: rpmbuild(macros) >= 1.666
+%if %{with tests}
+BuildRequires: %{php_name}-cli
+BuildRequires: %{php_name}-pcre
+%endif
+%{?requires_php_extension}
+Provides:      php(%{modname}) = %{version}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _sysconfdir     /etc/php
-%define                extensionsdir   %{_libdir}/php
-
 %description
 
-In PECL status of this extension is: %{_status}.
-
-%description -l pl
-
-To rozszerzenie ma w PECL status: %{_status}.
+%description -l pl.UTF-8
 
 %prep
-%setup -q -c
+%setup -qc
+mv %{modname}-%{version}/* .
 
 %build
-cd %{_modname}-%{version}
 phpize
 %configure
 %{__make}
 
+%if %{with tests}
+# simple module load test
+%{__php} -n -q \
+       -d extension_dir=modules \
+       -d extension=%{php_extensiondir}/spl.so \
+       -d extension=%{modname}.so \
+       -m > modules.log
+grep %{modname} modules.log
+
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+%{__make} test \
+       PHP_EXECUTABLE=%{__php} \
+       PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl" \
+
+# or:
+cat <<'EOF' > run-tests.sh
+#!/bin/sh
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+%{__make} test \
+       PHP_EXECUTABLE=%{__php} \
+       PHP_TEST_SHARED_SYSTEM_EXTENSIONS="spl pdo session" \
+       RUN_TESTS_SETTINGS="-q $*"
+EOF
+
+chmod +x run-tests.sh
+./run-tests.sh -w failed.log
+test -f failed.log -a ! -s failed.log
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{extensionsdir}
+install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
+install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir}}
+install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
+
+%{__make} install \
+       EXTENSION_DIR=%{php_extensiondir} \
+       INSTALL_ROOT=$RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
+cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
+; Enable %{modname} extension module
+extension=%{modname}.so
+EOF
 
-install %{_modname}-%{version}/modules/%{_modname}.so $RPM_BUILD_ROOT%{extensionsdir}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-%{_sbindir}/php-module-install install %{_modname} %{_sysconfdir}/php-cgi.ini
+%php_webserver_restart
 
-%preun
-if [ "$1" = "0" ]; then
-       %{_sbindir}/php-module-install remove %{_modname} %{_sysconfdir}/php-cgi.ini
+%postun
+if [ "$1" = 0 ]; then
+       %php_webserver_restart
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc %{_modname}-%{version}/{CREDITS,EXPERIMENTAL}
-%attr(755,root,root) %{extensionsdir}/%{_modname}.so
+%doc CREDITS EXPERIMENTAL
+%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
+%attr(755,root,root) %{php_extensiondir}/%{modname}.so
+%{_examplesdir}/%{name}-%{version}
This page took 0.043515 seconds and 4 git commands to generate.