php-pear-DB-vl.spec 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. %{!?__pear: %{expand: %%global __pear /usr/bin/pear5}}
  2. %global pear_name DB
  3. # run rpmbuild --with sqlite if sqlite extension available
  4. %global with_sqlite %{?_with_sqlite:1}%{!?_with_sqlite:0}
  5. Name: php-pear-DB
  6. Version: 1.7.14
  7. Release: 1%{?_dist_release}
  8. Summary: PEAR: Database Abstraction Layer
  9. Group: Development/Libraries
  10. License: PHP
  11. URL: http://pear.php.net/package/DB
  12. Source0: http://pear.php.net/get/%{pear_name}-%{version}.tgz
  13. Source2: xml2changelog
  14. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  15. BuildArch: noarch
  16. ## Vine's php5-pear is a subpackage from php5 (internal version 1.9.4)
  17. BuildRequires: php-pear(PEAR) >= 1.4.9
  18. %if %{with_sqlite}
  19. BuildRequires: php-sqlite
  20. %endif
  21. Requires(post): %{__pear}
  22. Requires(postun): %{__pear}
  23. Provides: php-pear(%{pear_name}) = %{version}
  24. Requires: php >= 4.2.0
  25. Requires: php-pear(PEAR)
  26. %description
  27. DB is a database abstraction layer providing:
  28. * an OO-style query API
  29. * portability features that make programs written for one DBMS work with
  30. other DBMS's
  31. * a DSN (data source name) format for specifying database servers
  32. * prepare/execute (bind) emulation for databases that don't support it natively
  33. * a result object for each query response
  34. * portable error codes
  35. * sequence emulation
  36. * sequential and non-sequential row fetching as well as bulk fetching
  37. * formats fetched rows as associative arrays, ordered arrays or objects
  38. * row limit support
  39. * transactions support
  40. * table information interface
  41. * DocBook and phpDocumentor API documentation
  42. DB layers itself on top of PHP's existing database extensions.
  43. %prep
  44. %setup -q -c
  45. %{_bindir}/php -n %{SOURCE2} package.xml >CHANGELOG
  46. cd %{pear_name}-%{version}
  47. # Package is V2
  48. mv ../package.xml %{name}.xml
  49. # update run test suite
  50. sed -e 's@^ *DB_TEST_RUN_TESTS=.*$@[ -d /usr/lib64 ] \&\& DB_TEST_RUN_TESTS=/usr/lib64/php/build/run-tests.php || DB_TEST_RUN_TESTS=/usr/lib/php/build/run-tests.php@' \
  51. -e 's@^ *DB_TEST_DIR=.*$@DB_TEST_DIR=%{pear_testdir}/DB/tests@' \
  52. -e 's@^ *TEST_PHP_EXECUTABLE=.*$@TEST_PHP_EXECUTABLE=%{_bindir}/php@' \
  53. tests/run.cvs >tests/run
  54. sed -e 's@^ *DB_TEST_RUN_TESTS=.*$@[ -d /usr/lib64 ] \&\& DB_TEST_RUN_TESTS=/usr/lib64/php/build/run-tests.php || DB_TEST_RUN_TESTS=/usr/lib/php/build/run-tests.php@' \
  55. -e 's@^ *DB_TEST_DIR=.*$@DB_TEST_DIR=%{pear_testdir}/DB/tests/driver@' \
  56. -e 's@^ *TEST_PHP_EXECUTABLE=.*$@TEST_PHP_EXECUTABLE=%{_bindir}/php@' \
  57. tests/driver/run.cvs >tests/driver/run
  58. %build
  59. cd %{pear_name}-%{version}
  60. # Empty build section, most likely nothing required.
  61. %install
  62. rm -rf %{buildroot}
  63. cd %{pear_name}-%{version}
  64. %{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml
  65. # Clean up unnecessary files
  66. rm -rf %{buildroot}%{pear_phpdir}/.??*
  67. # Install XML package description
  68. mkdir -p %{buildroot}%{pear_xmldir}
  69. install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir}
  70. # Install new test suite
  71. install -pm 755 tests/run %{buildroot}%{pear_testdir}/DB/tests/
  72. install -pm 755 tests/driver/run %{buildroot}%{pear_testdir}/DB/tests/driver/
  73. mv %{buildroot}%{pear_docdir}/%{pear_name}/doc/TESTERS .
  74. iconv -f ISO-8859-1 -t UTF-8 TESTERS \
  75. -o %{buildroot}%{pear_docdir}/%{pear_name}/doc/TESTERS
  76. touch -r TESTERS %{buildroot}%{pear_docdir}/%{pear_name}/doc/TESTERS
  77. %clean
  78. rm -rf %{buildroot}
  79. %check
  80. top=$PWD
  81. cd %{pear_name}-%{version}/tests
  82. %{__pear} \
  83. run-tests \
  84. -i "-d include_path=%{buildroot}%{pear_phpdir}:%{pear_phpdir}" \
  85. . | tee $top/tests.log
  86. cd driver
  87. %if %{with_sqlite}
  88. %{__pear} \
  89. run-tests \
  90. -i "-d include_path=%{buildroot}%{pear_phpdir}:%{pear_phpdir}" \
  91. . | tee -a $top/tests.log
  92. %else
  93. echo "Driver test skipped (need sqlite extension)"
  94. %endif
  95. grep "FAILED TESTS" $top/tests.log && exit 1
  96. %post
  97. %{__pear} install --nodeps --soft --force --register-only \
  98. %{pear_xmldir}/%{name}.xml >/dev/null || :
  99. %postun
  100. if [ $1 -eq 0 ] ; then
  101. %{__pear} uninstall --nodeps --ignore-errors --register-only \
  102. %{pear_name} >/dev/null || :
  103. fi
  104. %files
  105. %defattr(-,root,root,-)
  106. %doc CHANGELOG
  107. %doc %{pear_docdir}/%{pear_name}
  108. %{pear_xmldir}/%{name}.xml
  109. %{pear_phpdir}/DB*
  110. %{pear_testdir}/DB
  111. %exclude %{pear_testdir}/DB/tests/run.cvs
  112. %exclude %{pear_testdir}/DB/tests/driver/*.cvs
  113. %changelog
  114. * Tue Mar 13 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.7.14-1
  115. - initial build for Vine Linux
  116. * Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.14-2
  117. - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
  118. * Sat Aug 27 2011 Remi Collet <remi@fedoraproject.org> 1.7.14-1
  119. - update to 1.7.14
  120. * Wed Apr 13 2011 Remi Collet <Fedora@FamilleCollet.com> 1.7.13-5
  121. - doc in /usr/share/doc/pear
  122. - define timezone during build
  123. - rename DB.xml to php-pear-DB.xml
  124. - fix libdir in provided tests (%%{_libdir} have no value for noarch package)
  125. - run tests in %%check (no driver as no sqlite extension)
  126. * Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.13-4
  127. - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
  128. * Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.13-3
  129. - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
  130. * Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.13-2
  131. - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
  132. * Fri Sep 21 2007 Remi Collet <Fedora@FamilleCollet.com> 1.7.13-1
  133. - update to 1.7.13
  134. - fix TEXTERS encoding
  135. * Thu Aug 23 2007 Remi Collet <Fedora@FamilleCollet.com> 1.7.12-2
  136. - Fix License
  137. * Mon Jul 23 2007 Remi Collet <Fedora@FamilleCollet.com> 1.7.12-1
  138. - update to 1.7.12
  139. - change requires from php to php-common
  140. - update test suite to run (but only after install)
  141. - add %%check, only for documentation purpose
  142. * Mon Apr 30 2007 Remi Collet <Fedora@FamilleCollet.com> 1.7.11-1
  143. - update to 1.7.11
  144. - add generated CHANGELOG
  145. * Sun Sep 10 2006 Tim Jackson <rpm@timj.co.uk> 1.7.6-7
  146. - Update spec to new conventions (#198706)
  147. * Wed Jun 28 2006 Tim Jackson <rpm@timj.co.uk> 1.7.6-6
  148. - Move tests to peardir/test instead of peardir/tests (bug #196764)
  149. * Wed May 17 2006 Tim Jackson <rpm@timj.co.uk> 1.7.6-5
  150. - Moved package XML file to %%{peardir}/.pkgxml (see bug #190252)
  151. - Abstracted package XML directory
  152. - Removed some "-f"s on rm's to avoid masking possible errors
  153. * Tue Jan 24 2006 Tim Jackson <rpm@timj.co.uk> 1.7.6-4
  154. - Move package XML file to _libdir/php/pear rather than _var/lib/pear
  155. * Tue Jan 24 2006 Tim Jackson <rpm@timj.co.uk> 1.7.6-3
  156. - Requires(post,postun) php-pear
  157. * Sat Dec 31 2005 Tim Jackson <rpm@timj.co.uk> 1.7.6-2
  158. - Rearranged so it makes more sense
  159. - Remove external license file
  160. - peardir definition now comes from "pear config-get"
  161. - BR php-pear
  162. - shorten description
  163. - be explicit about the files in the package
  164. - use macro for /var
  165. - remove versioning from pear(PEAR) dep; 1.0b1 is very old
  166. * Sat Dec 31 2005 Tim Jackson <rpm@timj.co.uk> 1.7.6-1
  167. - First RPM build