Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:zhonghuaren
php-pear2rpm
pear2rpm-1.4-rpmfix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pear2rpm-1.4-rpmfix.patch of Package php-pear2rpm
--- pear2rpm.php.orig 2006-01-30 15:48:47.000000000 +0100 +++ pear2rpm.php 2006-01-30 15:51:14.000000000 +0100 @@ -181,7 +181,7 @@ if(isset($update)){ switch($update){ case('inst'): - exec('LC_ALL=C rpm -q --changelog php-pear-'.$desc['package'],$c); + exec('LC_ALL=C rpmquery --changelog php-pear-'.$desc['package'],$c); if(count($c)==1){ print 'Can\'t find changelog for package php-pear-'.$desc['package']."\n"; print 'Please ensure it is installed'."\n"; @@ -193,7 +193,7 @@ print 'File not found : '.$update_rpm."\n"; exit(3); } - exec('LC_ALL=C rpm -qp --changelog '.$update_rpm,$c); + exec('LC_ALL=C rpmquery -p --changelog '.$update_rpm,$c); if(count($c)==0){ print 'Can\'t find changelog for package '.$update_rpm."\n"; exit(3); @@ -276,6 +276,23 @@ } $desc['summary'] = preg_replace('/\.$/', '', $desc['summary']); +// Check for package providing pear +exec('LC_ALL=C which pear',$c); +if(count($c)>0){ + exec('LC_ALL=C rpmquery --whatprovides '.$c[0], $c); + if(count($c)>0){ + $provider = preg_replace('/^([A-Za-z\-]*)-([.0-9]*)([^0-9].*)?$/', '\1', $c[1]); + } else { + print 'RPM package containing pear cannot be found.'."\n"; + print 'Please ensure it is installed'."\n"; + exit(4); + } +} else { + print 'pear cannot be found. Please ensure it is installed'."\n"; + print 'and can be found in path.'."\n"; + exit(4); +} + fputs($f, 'Summary: '.$desc['summary']."\n"); fputs($f, 'Name: %{name}'."\n"); fputs($f, 'Version: %{version}'."\n"); @@ -290,7 +307,7 @@ fputs($f, 'BuildArch: noarch'."\n"); fputs($f, 'Vendor: '.$author."\n"); fputs($f, 'Packager: '.$packager."\n"); - fputs($f, 'PreReq: php-pear'."\n"); + fputs($f, 'PreReq: '.$provider."\n"); foreach($desc['release_deps'] as $dep){ if($dep['type']=='pkg'){ if($dep['name'] != 'Archive_Tar' @@ -313,7 +330,7 @@ } else if($dep['type']=='php'){ fputs($f, 'Requires: php '.op($dep['rel']).' '.$dep['version']."\n"); } else if($dep['type']=='ext'){ - $p=exec('urpmq php-'.$dep['name']); + $p=exec('rpmquery php-'.$dep['name']); if(preg_match('/^no package named/', $p)) { die('Unsatisfied dependancy: php-'.$dep['name']); } else { @@ -387,11 +404,11 @@ %post -pear install -r -n %{pear_phpdir}/packages/%{rname}.xml +pear -q install -r -n %{pear_phpdir}/packages/%{rname}.xml %preun -pear uninstall -r -n %{rname} +pear -q uninstall -r -n %{rname} %clean @@ -428,11 +445,11 @@ if(isset($target)){ if($target=='build'){ - passthru('rpm -ba '.$specdir.'/php-pear-'.$desc['package'].'.spec'); + passthru('rpmbuild -ba '.$specdir.'/php-pear-'.$desc['package'].'.spec'); } if($target=='rpm'){ - passthru('rpm -bs '.$specdir.'/php-pear-'.$desc['package'].'.spec'); + passthru('rpmbuild -bs '.$specdir.'/php-pear-'.$desc['package'].'.spec'); } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor