%global peardir %{_datadir}/pear %global xmlrpcver 1.5.4 %global getoptver 1.3.1 %global arctarver 1.3.7 %global structver 1.0.4 %global xmlutil 1.2.1 Summary: PHP Extension and Application Repository framework Name: php-pear Version: 1.9.4 Release: 1 # PEAR, Archive_Tar, XML_Util are BSD # XML-RPC, Console_Getopt are PHP # Structures_Graph is LGPLv2+ License: BSD and PHP and LGPLv2+ Group: Development/Languages URL: http://pear.php.net/package/PEAR Source0: http://download.pear.php.net/package/PEAR-%{version}.tgz # wget 'http://svn.php.net/viewvc/pear/pear-core/trunk/install-pear.php?revision=308763&view=co' -O install-pear.php # see http://pear.php.net/bugs/18367 - doc_dir relocation Source1: install-pear.php Source2: relocate.php Source3: strip.php Source4: LICENSE-XML_RPC Source20: http://pear.php.net/get/XML_RPC-%{xmlrpcver}.tgz 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 BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: php-cli >= 5.2.6, gnupg, tar 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_RPC) = %{xmlrpcver} Provides: php-pear(XML_Util) = %{xmlutil} Obsoletes: php-pear-XML-Util <= %{xmlutil} Provides: php-pear-XML-Util = %{xmlutil}-%{release} Requires: php-cli >= 5.2.6 %description PEAR is a framework and distribution system for reusable PHP components. This package contains the basic PEAR components. %prep %setup -q -cT # Create a usable PEAR directory (used by install-pear.php) for archive in %{SOURCE0} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} do gtar xzf $archive --strip-components 1 || gtar xzf $archive --strip-path 1 file=${archive##*/} [ -f LICENSE ] && mv LICENSE LICENSE-${file%%-*} [ -f README ] && mv README README-${file%%-*} done gtar xzf %{SOURCE24} package.xml mv package.xml XML_Util.xml # apply patches on used PEAR during install # -- no patch %build # This is an empty build section. %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} 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} # 1.4.11 tries to write to the cache directory during installation # so it's not possible to set a sane default via the environment. # The ${PWD} bit will be stripped via relocate.php later. export PHP_PEAR_CACHE_DIR=${PWD}/var/cache/php-pear export PHP_PEAR_TEMP_DIR=/var/tmp mkdir -p ${RPM_BUILD_ROOT}%{_bindir} \ ${RPM_BUILD_ROOT}%{peardir} \ ${RPM_BUILD_ROOT}/var/cache/php-pear \ ${RPM_BUILD_ROOT}/var/www/htdocs \ ${RPM_BUILD_ROOT}%{peardir}/.pkgxml \ ${RPM_BUILD_ROOT}%{_sysconfdir}/pear export INSTALL_ROOT=${RPM_BUILD_ROOT} %{_bindir}/php -n -dmemory_limit=32M -dshort_open_tag=0 -dsafe_mode=0 \ -derror_reporting=E_ALL -ddetect_unicode=0 \ %{SOURCE1} -d %{peardir} \ -c %{_sysconfdir}/pear \ -b %{_bindir} \ -w /var/www/htdocs \ -D %{_docdir}/pear \ %{SOURCE0} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE20} # Sanitize the pear.conf %{_bindir}/php -n %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/pear.conf ${RPM_BUILD_ROOT} | %{_bindir}/php -n %{SOURCE2} php://stdin $PWD > new-pear.conf %{_bindir}/php -n %{SOURCE3} new-pear.conf ext_dir | %{_bindir}/php -n %{SOURCE3} php://stdin http_proxy > ${RPM_BUILD_ROOT}%{_sysconfdir}/pear.conf %{_bindir}/php -r "print_r(unserialize(substr(file_get_contents('${RPM_BUILD_ROOT}%{_sysconfdir}/pear.conf'),17)));" cp %{SOURCE4} LICENSE-XML_RPC chmod 0644 LICENSE-XML_RPC # apply patches on installed PEAR tree ( cd ${RPM_BUILD_ROOT}%{peardir} # -- no patch ) # need for re-registrying XML_Util cp XML_Util.xml ${RPM_BUILD_ROOT}%{peardir}/.pkgxml/ chmod 0644 ${RPM_BUILD_ROOT}%{peardir}/.pkgxml/XML_Util.xml cd ${RPM_BUILD_ROOT} mkdir -p usr/bin cd usr/bin ln -sf ../..%{_bindir}/* . %triggerpostun -- php-pear-XML-Util # re-register extension unregistered during postun of obsoleted php-pear-XML-Util %{_bindir}/pear install --nodeps --soft --force --register-only %{pear_xmldir}/XML_Util.xml >/dev/null || : %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc README* LICENSE* %dir %{_docdir}/pear %doc %{_docdir}/pear/* %config(noreplace) %{_sysconfdir}/pear.conf %dir /var/cache/php-pear %dir /var/www/htdocs %dir %{_sysconfdir}/pear %{_bindir}/* %{peardir} /usr/bin/* %changelog * Wed Jul 13 2011 Michael Perzl - 1.9.4-1 - updated to version 1.9.4 * Wed May 18 2011 Michael Perzl - 1.9.2-1 - first version for AIX V5.1 and higher