With the webstack project coming, I took a look at ways PHP add-ons could
integrate into add-on F/OSS repos like SFE. PHP has a system for that kind of
thing called PEAR -- PHP Extension and Application Repository (like Perl's
CPAN system). So to start the ball rolling, I came up with a scheme
and used it in five new spec files as examples (comments welcome of course).
One key thing is that PEAR has its own package registry, so its necessary to
have %post and %preun blocks to handle that. The good thing is, through the
of a couple "%defines", those blocks are the same across spec files.
In fact what's nice about this kind of thing in general (as with Mike and
Glynn's CPAN specs) is that a re-usable "archetype" spec file is possible.
For example, here's the (small) difference between two typical PEAR spec files:
9,10c9,10
< %define topcat XML
< %define Pname %{topcat}_RPC
---
> %define topcat Net
> %define Pname %{topcat}_SMTP
12,14c12,14
< Name: SFEphp-xml-rpc
< Summary: PHP package: XML-RPC protocol
< Version: 1.5.1
---
> Name: SFEphp-net-smtp
> Summary: PHP package: SMTP protocol
> Version: 1.2.8
22a23,24
> Requires: SFEphp-net-socket
> Requires: SFEphp-auth-sasl
65,66c67,68
< # %dir %attr (0755, root, bin) %{phplibdir}/docs
< # %{phplibdir}/docs/*
---
> %dir %attr (0755, root, bin) %{phplibdir}/docs
> %{phplibdir}/docs/*