Author: glen                         Date: Fri Mar  3 21:36:43 2006 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- FHS fixes
- NB! 1.4.7 is not usable for rpm packaging

---- Files affected:
SPECS:
   php-pear-PEAR.spec (1.102 -> 1.103) 

---- Diffs:

================================================================
Index: SPECS/php-pear-PEAR.spec
diff -u SPECS/php-pear-PEAR.spec:1.102 SPECS/php-pear-PEAR.spec:1.103
--- SPECS/php-pear-PEAR.spec:1.102      Wed Mar  1 11:09:01 2006
+++ SPECS/php-pear-PEAR.spec    Fri Mar  3 22:36:38 2006
@@ -1,7 +1,4 @@
 # $Revision$, $Date$
-# TODO
-# - FHS fix for .channels info
-#
 %include       /usr/lib/rpm/macros.php
 %define                _class          PEAR
 %define                _status         stable
@@ -11,7 +8,7 @@
 Summary(pl):   %{_pearname} - podstawowa klasa dla PHP PEAR
 Name:          php-pear-%{_pearname}
 Version:       1.4.7
-Release:       1
+Release:       0.11
 Epoch:         1
 License:       PHP 3.0
 Group:         Development/Languages/PHP
@@ -23,9 +20,10 @@
 Patch2:                %{name}-rpmvars.patch
 Patch3:                %{name}-old-api.patch
 Patch4:                %{name}-specfile.patch
+Patch5:                %{name}-FHS.patch
 URL:           http://pear.php.net/package/PEAR
 BuildRequires: php-cli
-BuildRequires: php-pear >= 4:1.0-6
+BuildRequires: php-pear >= 4:1.0-12.3
 BuildRequires: rpm-php-pearprov >= 4.4.2-11
 Requires:      %{name}-core = %{epoch}:%{version}-%{release}
 Requires:      /usr/bin/php
@@ -48,6 +46,7 @@
 
 # PEAR_Command_Packaging is separate package
 %define                _noautoreq      'pear(PEAR/FTP.php)' 
'pear(Net/FTP.php)' 'pear(XML/RPC.*)' 'pear(PEAR/Command/Packaging.php)'
+%define                _statedir       /var/lib/pear
 
 %description
 The PEAR package contains:
@@ -107,6 +106,7 @@
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
 
@@ -128,9 +128,12 @@
 
 %pear_package_install
 
-cp -a ./%{php_pear_dir}/.channels $RPM_BUILD_ROOT%{php_pear_dir}/.channels
-cp -a ./%{php_pear_dir}/.registry/.channel* 
$RPM_BUILD_ROOT%{php_pear_dir}/.registry
-cp -a ./%{php_pear_dir}/.depdb* $RPM_BUILD_ROOT%{php_pear_dir}
+install -d 
$RPM_BUILD_ROOT%{_statedir}/{registry/.channel.{__uri,pecl.php.net},channels/.alias}
+touch $RPM_BUILD_ROOT%{_statedir}/.depdb{,lock}
+touch $RPM_BUILD_ROOT%{_statedir}/channels/{__uri,{pear,pecl}.php.net}.reg
+touch $RPM_BUILD_ROOT%{_statedir}/channels/.alias/{pear,pecl}.txt
+touch $RPM_BUILD_ROOT%{_statedir}/.filemap
+touch $RPM_BUILD_ROOT%{_statedir}/.lock
 
 # -C and -q options were for php-cgi, in php-cli they're enabled by default.
 %define php_exec exec /usr/bin/php -dinclude_path=%{php_pear_dir} 
-doutput_buffering=1
@@ -158,6 +161,21 @@
 if [ -f %{_docdir}/%{name}-%{version}/optional-packages.txt ]; then
        cat %{_docdir}/%{name}-%{version}/optional-packages.txt
 fi
+if [ ! -f %{_statedir}/.lock ]; then
+       umask 2
+       touch %{_statedir}/.lock
+fi
+if [ ! -e %{php_pear_dir}/.registry ]; then
+       ln -s %{_statedir}/registry %{php_pear_dir}/.registry
+fi
+
+%triggerpostun -- %{name} < 1:1.4.7-0.3
+if [ ! -L %{php_pear_dir}/.registry ]; then
+       mv -f %{php_pear_dir}/.registry/*.reg %{_statedir}/registry
+       rmdir %{php_pear_dir}/.registry 2>/dev/null || mv -v 
%{php_pear_dir}/.registry{,.rpmsave}
+       ln -s %{_statedir}/registry %{php_pear_dir}/.registry
+fi
+rm -f %{php_pear_dir}/.{lock,depdb*,filemap}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -178,18 +196,21 @@
 
 %{php_pear_dir}/data/*
 
-# FIXME: FHS
-%ghost %dir %{php_pear_dir}/.channels
-%ghost %dir %{php_pear_dir}/.channels/.alias
-%ghost %{php_pear_dir}/.channels/.alias/pear.txt
-%ghost %{php_pear_dir}/.channels/.alias/pecl.txt
-%ghost %{php_pear_dir}/.channels/pear.php.net.reg
-%ghost %{php_pear_dir}/.channels/pecl.php.net.reg
-%ghost %{php_pear_dir}/.channels/__uri.reg
-%ghost %{php_pear_dir}/.registry/.channel.__uri
-%ghost %{php_pear_dir}/.registry/.channel.pecl.php.net
-%ghost %{php_pear_dir}/.depdblock
-%ghost %{php_pear_dir}/.depdb
+%dir %{_statedir}/channels
+%dir %{_statedir}/registry
+%dir %{_statedir}/channels/.alias
+
+%ghost %{_statedir}/channels/.alias/pear.txt
+%ghost %{_statedir}/channels/.alias/pecl.txt
+%ghost %{_statedir}/channels/pear.php.net.reg
+%ghost %{_statedir}/channels/pecl.php.net.reg
+%ghost %{_statedir}/channels/__uri.reg
+%ghost %{_statedir}/registry/.channel.__uri
+%ghost %{_statedir}/registry/.channel.pecl.php.net
+%ghost %{_statedir}/.depdblock
+%ghost %{_statedir}/.depdb
+%ghost %{_statedir}/.filemap
+%ghost %{_statedir}/.lock
 
 %files core
 %defattr(644,root,root,755)
@@ -206,6 +227,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.103  2006/03/03 21:36:38  glen
+- FHS fixes
+- NB! 1.4.7 is not usable for rpm packaging
+
 Revision 1.102  2006/03/01 10:09:01  glen
 - -d open_basedir="" as upstream
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/php-pear-PEAR.spec?r1=1.102&r2=1.103&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to