source: projects/specs/trunk/p/php-pear-DB/php-pear-DB-vl.spec @ 5913

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