201 lines
7.5 KiB
RPMSpec
201 lines
7.5 KiB
RPMSpec
%global peardir %{_datadir}/pear
|
|
%global metadir %{_localstatedir}/lib/pear
|
|
%global getoptver 1.4.3
|
|
%global arctarver 1.4.14
|
|
%global structver 1.1.1
|
|
%global xmlutil 1.4.5
|
|
%global manpages 1.10.0
|
|
%global with_tests 0%{?_with_tests:1}
|
|
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
|
%{!?pecl_xmldir: %global pecl_xmldir %{_sharedstatedir}/php/peclxml}
|
|
Summary: PHP Extension and Application Repository framework
|
|
Name: php-pear
|
|
Version: 1.10.13
|
|
Release: 1
|
|
Epoch: 1
|
|
License: BSD-2-Clause AND BSD-3-Clause AND LGPL-3.0-or-later
|
|
URL: http://pear.php.net/package/PEAR
|
|
Source0: http://download.pear.php.net/package/PEAR-%{version}%{?pearprever}.tgz
|
|
Source1: install-pear.php
|
|
Source3: cleanup.php
|
|
Source10: pear.sh
|
|
Source11: pecl.sh
|
|
Source12: peardev.sh
|
|
Source13: macros.pear
|
|
Source21: http://pear.php.net/get/Archive_Tar-%{arctarver}.tgz
|
|
Source22: http://pear.php.net/get/Console_Getopt-%{getoptver}.tgz
|
|
Source23: http://pear.php.net/get/Structures_Graph-%{structver}.tgz
|
|
Source24: http://pear.php.net/get/XML_Util-%{xmlutil}.tgz
|
|
Source25: http://pear.php.net/get/PEAR_Manpages-%{manpages}.tgz
|
|
Patch0: pear-php82.patch
|
|
|
|
BuildArch: noarch
|
|
BuildRequires: php(language) > 5.4 php-cli php-xml %{_bindir}/gpg php-devel
|
|
%if %{with_tests}
|
|
BuildRequires: %{_bindir}/phpunit
|
|
%endif
|
|
|
|
Provides: php-pear(Console_Getopt) = %{getoptver}
|
|
Provides: php-pear(Archive_Tar) = %{arctarver}
|
|
Provides: php-pear(PEAR) = %{version}
|
|
Provides: php-pear(Structures_Graph) = %{structver}
|
|
Provides: php-pear(XML_Util) = %{xmlutil}
|
|
Provides: php-pear(PEAR_Manpages) = %{manpages}
|
|
Provides: php-composer(pear/console_getopt) = %{getoptver}
|
|
Provides: php-composer(pear/archive_tar) = %{arctarver}
|
|
Provides: php-composer(pear/pear-core-minimal) = %{version}
|
|
Provides: php-composer(pear/structures_graph) = %{structver}
|
|
Provides: php-composer(pear/xml_util) = %{xmlutil}
|
|
Requires: php(language) > 5.4 php-cli php-ftp php-pcre php-posix php-tokenizer php-xml
|
|
Requires: php-zlib php-bz2 httpd-filesystem
|
|
|
|
%description
|
|
PEAR is a framework and distribution system for reusable PHP
|
|
components. This package contains the basic PEAR components.
|
|
|
|
%prep
|
|
%setup -cT
|
|
for archive in %{SOURCE0} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE25}
|
|
do
|
|
tar xzf $archive --strip-components 1 || tar xzf $archive --strip-path 1
|
|
file=${archive##*/}
|
|
[ -f LICENSE ] && mv LICENSE LICENSE-${file%%-*}
|
|
[ -f README ] && mv README README-${file%%-*}
|
|
tar xzf $archive 'package*xml'
|
|
[ -f package2.xml ] && mv package2.xml ${file%%-*}.xml \
|
|
|| mv package.xml ${file%%-*}.xml
|
|
done
|
|
cp %{SOURCE1} .
|
|
sed -e 's:@BINDIR@:%{_bindir}:' \
|
|
-e 's:@LIBDIR@:%{_localstatedir}/lib:' \
|
|
%{SOURCE13} > macros.pear
|
|
|
|
%build
|
|
# This is an empty build section.
|
|
|
|
%install
|
|
export PHP_PEAR_SYSCONF_DIR=%{_sysconfdir}
|
|
export PHP_PEAR_SIG_KEYDIR=%{_sysconfdir}/pearkeys
|
|
export PHP_PEAR_SIG_BIN=%{_bindir}/gpg
|
|
export PHP_PEAR_INSTALL_DIR=%{peardir}
|
|
export PHP_PEAR_CACHE_DIR=${PWD}%{_localstatedir}/cache/php-pear
|
|
export PHP_PEAR_TEMP_DIR=/var/tmp
|
|
install -d %{buildroot}%{peardir} \
|
|
%{buildroot}%{_localstatedir}/cache/php-pear \
|
|
%{buildroot}%{_localstatedir}/www/html \
|
|
%{buildroot}%{_localstatedir}/lib/pear/pkgxml \
|
|
%{buildroot}%{_sysconfdir}/pear
|
|
export INSTALL_ROOT=%{buildroot}
|
|
%{_bindir}/php --version
|
|
%{_bindir}/php -dmemory_limit=64M -dshort_open_tag=0 -dsafe_mode=0 \
|
|
-d 'error_reporting=E_ALL&~E_DEPRECATED' -ddetect_unicode=0 \
|
|
install-pear.php --force \
|
|
--dir %{peardir} \
|
|
--cache %{_localstatedir}/cache/php-pear \
|
|
--config %{_sysconfdir}/pear \
|
|
--bin %{_bindir} \
|
|
--www %{_localstatedir}/www/html \
|
|
--doc %{_docdir}/pear \
|
|
--test %{_datadir}/tests/pear \
|
|
--data %{_datadir}/pear-data \
|
|
--metadata %{metadir} \
|
|
--man %{_mandir} \
|
|
%{SOURCE0} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE25}
|
|
install -m 755 %{SOURCE10} %{buildroot}%{_bindir}/pear
|
|
install -m 755 %{SOURCE11} %{buildroot}%{_bindir}/pecl
|
|
install -m 755 %{SOURCE12} %{buildroot}%{_bindir}/peardev
|
|
%{_bindir}/php %{SOURCE3} %{buildroot}%{_sysconfdir}/pear.conf %{_datadir}
|
|
%{_bindir}/php -r "print_r(unserialize(substr(file_get_contents('%{buildroot}%{_sysconfdir}/pear.conf'),17)));"
|
|
install -m 644 -D macros.pear \
|
|
%{buildroot}%{macrosdir}/macros.pear
|
|
pushd %{buildroot}%{peardir}
|
|
patch -p1 <%{PATCH0}
|
|
popd
|
|
rm -rf %{buildroot}/.depdb* %{buildroot}/.lock %{buildroot}/.channels %{buildroot}/.filemap
|
|
install -m 644 *.xml %{buildroot}%{_localstatedir}/lib/pear/pkgxml
|
|
|
|
%check
|
|
grep %{buildroot} %{buildroot}%{_sysconfdir}/pear.conf && exit 1
|
|
grep %{_libdir} %{buildroot}%{_sysconfdir}/pear.conf && exit 1
|
|
grep '"/tmp"' %{buildroot}%{_sysconfdir}/pear.conf && exit 1
|
|
grep /usr/local %{buildroot}%{_sysconfdir}/pear.conf && exit 1
|
|
grep -rl %{buildroot} %{buildroot} && exit 1
|
|
%if %{with_tests}
|
|
cp /etc/php.ini .
|
|
echo "include_path=.:%{buildroot}%{peardir}:/usr/share/php" >>php.ini
|
|
export PHPRC=$PWD/php.ini
|
|
LOG=$PWD/rpmlog
|
|
ret=0
|
|
cd %{buildroot}%{_datadir}/tests/pear/Structures_Graph/tests
|
|
phpunit \
|
|
AllTests || ret=1
|
|
cd %{buildroot}%{_datadir}/tests/pear/XML_Util/tests
|
|
phpunit \
|
|
--bootstrap=/usr/share/pear/XML/Util/autoload.php \
|
|
--test-suffix .php . || ret=1
|
|
cd %{buildroot}%{_datadir}/tests/pear/Console_Getopt/tests
|
|
%{_bindir}/php \
|
|
%{buildroot}/usr/share/pear/pearcmd.php \
|
|
run-tests \
|
|
| tee -a $LOG
|
|
grep "FAILED TESTS" $LOG && ret=1
|
|
exit $ret
|
|
%else
|
|
echo 'Test suite disabled (missing "--with tests" option)'
|
|
%endif
|
|
%transfiletriggerin -- %{pecl_xmldir}
|
|
while read file; do
|
|
%{_bindir}/pecl install --nodeps --soft --force --register-only --nobuild "$file" >/dev/null || :
|
|
done
|
|
%transfiletriggerun -- %{pecl_xmldir}
|
|
%{_bindir}/php -r '
|
|
while ($file=fgets(STDIN)) {
|
|
$file = trim($file);
|
|
$xml = simplexml_load_file($file);
|
|
if (isset($xml->channel) && isset($xml->name)) {
|
|
printf("%s/%s\n", $xml->channel, $xml->name);
|
|
} else {
|
|
fputs(STDERR, "Bad pecl package file ($file)\n");
|
|
}
|
|
}' | while read name; do
|
|
%{_bindir}/pecl uninstall --nodeps --ignore-errors --register-only "$name" >/dev/null || :
|
|
done
|
|
|
|
%postun
|
|
if [ $1 -eq 0 -a -d %{metadir}/.registry ] ; then
|
|
rm -rf %{metadir}/.registry
|
|
fi
|
|
|
|
%files
|
|
%{peardir}
|
|
%dir %{metadir}
|
|
%{metadir}/.channels
|
|
%verify(not mtime size md5) %{metadir}/.depdb
|
|
%verify(not mtime) %{metadir}/.depdblock
|
|
%verify(not mtime size md5) %{metadir}/.filemap
|
|
%verify(not mtime) %{metadir}/.lock
|
|
%{metadir}/.registry
|
|
%{metadir}/pkgxml
|
|
%{_bindir}/*
|
|
%config(noreplace) %{_sysconfdir}/pear.conf
|
|
%{macrosdir}/macros.pear
|
|
%dir %{_localstatedir}/cache/php-pear
|
|
%dir %{_sysconfdir}/pear
|
|
%license LICENSE*
|
|
%doc README*
|
|
%dir %{_docdir}/pear
|
|
%doc %{_docdir}/pear/*
|
|
%{_datadir}/tests/pear
|
|
%{_datadir}/pear-data
|
|
%{_mandir}/man1/pear.1*
|
|
%{_mandir}/man1/pecl.1*
|
|
%{_mandir}/man1/peardev.1*
|
|
%{_mandir}/man5/pear.conf.5*
|
|
|
|
%changelog
|
|
* Thu Jul 13 2023 liyanan <thistleslyn@163.com> - 1:1.10.13-1
|
|
- update to 1.10.13
|
|
|
|
* Tue Sep 7 2021 zhengyaohui <zhengyaohui1@huawei.com> - 1.10.12-1
|
|
- package init
|