%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: 2 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 --wildcards '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 * Wed Aug 16 2023 liyanan - 1:1.10.13-2 - Fix compilation failure caused by tar upgrade * Thu Jul 13 2023 liyanan - 1:1.10.13-1 - update to 1.10.13 * Tue Sep 7 2021 zhengyaohui - 1.10.12-1 - package init