X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=php-pear.spec;h=1d6cc3ccd29141c4de83ea9f60b3d911900142f5;hb=01f9775;hp=2a1bb5e88f27b86a88d1dcac40e8083e6419b879;hpb=d1682f5ed0ee7a9f30c883c47ce4b5e1010b674f;p=packages%2Fphp-pear.git diff --git a/php-pear.spec b/php-pear.spec index 2a1bb5e..1d6cc3c 100644 --- a/php-pear.spec +++ b/php-pear.spec @@ -1,7 +1,7 @@ Summary: PEAR - PHP Extension and Application Repository Summary(pl.UTF-8): PEAR - rozszerzenie PHP i repozytorium aplikacji Name: php-pear -Version: 1.3.11 +Version: 1.4 Release: 1 Epoch: 4 License: Public Domain @@ -24,6 +24,12 @@ Source13: channel-phpmd.xml Source14: channel-pdepend.xml Source15: channel-symfony2.xml Source16: channel-saucelabs.xml +Source17: channel-twig.xml +Source18: channel-zz.xml +Source19: channel-theseer.xml +Source20: channel-indeyets.xml +Source21: channel-phpdoc.xml +Source22: channel-bartlett.xml BuildRequires: /usr/bin/php BuildRequires: php-pear-PEAR >= 1:1.9.0 BuildRequires: rpmbuild(macros) >= 1.570 @@ -33,7 +39,7 @@ Conflicts: php-pear-PEAR < 1:1.7.2-10 BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define __reg_provides php %{SOURCE0} +%define __reg_provides %{__php} %{SOURCE0} # find channel provides %define _use_internal_dependency_generator 0 @@ -63,16 +69,22 @@ php-pear-* (php-pear-PEAR, php-pear-Archive_Tar, itp). %prep %setup -qcT -%install -rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{php_pear_dir}/{.registry,bin,data,tests} +%build +rm -rf pear +install -d pear # add extra channels -%{__pear} -c pearrc config-set php_dir $RPM_BUILD_ROOT%{php_pear_dir} +%{__pear} -c pearrc config-set php_dir pear for xml in $(awk '/^Source[0-9]+:.+channel-.+.xml$/ {print $NF}' %{_specdir}/%{name}.spec); do %{__pear} -c pearrc channel-add %{_sourcedir}/$xml done +%install +install -d $RPM_BUILD_ROOT%{php_pear_dir}/{.registry,bin,data,tests} +cp -a pear/.??* $RPM_BUILD_ROOT%{php_pear_dir} + +install -d $RPM_BUILD_ROOT%{php_data_dir}/Symfony/{Bridge,Component} + while read dir; do install -d $RPM_BUILD_ROOT$dir done < $TMPFILE + local RPMFILE=%{name}-%{version}-%{release}.%{_target_cpu}.rpm + local installed=$(mktemp -t instXXXXXX.tmp) + local rpmfiles=$(mktemp -t rpmXXXXXX.tmp) + local rc diff=$(mktemp -t diffXXXXXX.tmp) + + find $RPM_BUILD_ROOT%{php_pear_dir} | LC_ALL=C sort > $installed + sed -i -re "s#^$RPM_BUILD_ROOT%{php_pear_dir}/?##" $installed + + rpm -qpl %{_rpmdir}/$RPMFILE | LC_ALL=C sort > $rpmfiles + + # temp hack to exclude non-pear dirs + %{__sed} -i -e 's#%{php_data_dir}/.*##' $rpmfiles + + sed -i -re "s#^%{php_pear_dir}/?##" $rpmfiles # find finds also '.', so use option -B for diff - if rpm -qplv %{_rpmdir}/$RPMFILE | sed -ne '/^d/s,^.*%{php_pear_dir}/\.,.,p' | LC_ALL=C sort | diff -uB $TMPFILE - ; then - rm -rf $RPM_BUILD_ROOT - else - echo -e "\nNot so good, some channel directories are not included in package\n" + if ! diff -uB $installed $rpmfiles > $diff; then + cat <<-EOF + + ERROR: some files/directories are not included in package: + + $(%{__sed} -ne '/^-[^-]/ s#^-#%%{php_pear_dir}/#p' $diff) + + EOF + exit 1 fi - rm -f $TMPFILE + rm -rf $RPM_BUILD_ROOT + rm -f $installed $rpmfiles $diff } + check_channel_dirs %files @@ -150,6 +179,12 @@ check_channel_dirs %dir %{php_pear_dir} %{php_pear_dir}/* +# other php dirs +%dir %{php_data_dir}/Symfony +%dir %{php_data_dir}/Symfony/Bridge +%dir %{php_data_dir}/Symfony/Component + +# PEAR state files %ghost %{php_pear_dir}/.depdblock %ghost %{php_pear_dir}/.depdb %ghost %{php_pear_dir}/.filemap @@ -238,3 +273,27 @@ check_channel_dirs %{php_pear_dir}/.channels/.alias/saucelabs.txt %{php_pear_dir}/.channels/saucelabs.github.com_pear.reg %{php_pear_dir}/.registry/.channel.saucelabs.github.com_pear + +%{php_pear_dir}/.channels/.alias/twig.txt +%{php_pear_dir}/.channels/pear.twig-project.org.reg +%{php_pear_dir}/.registry/.channel.pear.twig-project.org + +%{php_pear_dir}/.channels/.alias/zz.txt +%{php_pear_dir}/.channels/zustellzentrum.cweiske.de.reg +%{php_pear_dir}/.registry/.channel.zustellzentrum.cweiske.de + +%{php_pear_dir}/.channels/.alias/theseer.txt +%{php_pear_dir}/.channels/pear.netpirates.net.reg +%{php_pear_dir}/.registry/.channel.pear.netpirates.net + +%{php_pear_dir}/.channels/.alias/indeyets.txt +%{php_pear_dir}/.channels/pear.indeyets.ru.reg +%{php_pear_dir}/.registry/.channel.pear.indeyets.ru + +%{php_pear_dir}/.channels/.alias/phpdoc.txt +%{php_pear_dir}/.channels/pear.phpdoc.org.reg +%{php_pear_dir}/.registry/.channel.pear.phpdoc.org + +%{php_pear_dir}/.channels/.alias/bartlett.txt +%{php_pear_dir}/.channels/bartlett.laurent-laville.org.reg +%{php_pear_dir}/.registry/.channel.bartlett.laurent-laville.org