Table of Contents

PEAR Packages in PLD Linux

Creating new PEAR Package

Install php-pear-PEAR_Command_Packaging package.

To prevent such messages on console:

WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update

Run:

$ sudo pear channel-update pear.php.net
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded

Download tarball

$ pear download Text_Wiki_Cowiki
Failed to download pear/Text_Wiki_Cowiki within preferred state "stable", latest release is version 0.0.2, stability "alpha", use "channel://pear.php.net/Text_Wiki_Cowiki-0.0.2" to install
Cannot initialize 'Text_Wiki_Cowiki', invalid or missing package file
Package "Text_Wiki_Cowiki" is not valid
download failed

It might complain that the package is not in stable state, then force another state:

$ pear download Text_Wiki_Cowiki-alpha
downloading Text_Wiki_Cowiki-0.0.2.tgz ...
Starting to download Text_Wiki_Cowiki-0.0.2.tgz (23,915 bytes)
........done: 23,915 bytes
File /home/glen/rpm/pld/SPECS/Text_Wiki_Cowiki-0.0.2.tgz downloaded

Now you can make PEAR to make the specfile:

$ pear make-rpm-spec Text_Wiki_Cowiki-0.0.2.tgz
Wrote RPM spec file php-pear-Text_Wiki_Cowiki.spec

Filter, test, edit the created spec via:

$ ./pearize.sh php-pear-Text_Wiki_Cowiki.spec

Now cleanup the void rpm if statements (%if 0), test, check %dir and other %file section items, build and commit to CVS.

also worth running SPECS/rpmdb-checkdir.sh in /usr/share/pear after you've installed your new package to see if all dirs are owned properly.

Updating PEAR Package

… and filter through ./pearize.sh script. of course verify the diffs it makes, as it is still not perfect.

Conventions

Only php-pear-PEAR subpackages should depend on php-pear-PEAR, ohers should use just php-pear-PEAR-core dependency. of course you need to test to be sure that it is so.

For optional packages a textfile is created and output in %post. The optional packages are excluded from requirement using rpm macro _noautoreq defintion in spec.