Home Wiki > openSUSE:Packaging PHP
Sign up | Login

The english openSUSE wiki has been moved and updated recently. If you encounter any issue, please let us know by mail to admin@opensuse.org.

openSUSE:Packaging PHP

tagline: From openSUSE

This page describes current practices and accepted standards for packaging PHP libraries and applications. Currently it concentrates on PEAR.

Change log

Packages need to have a .changes file. Create one with

osc vc

When updating package versions, please add a new section

- version x.y.z
- first relevant change
- second relevant change

You can usually find a change log in the package, on the web site or in the package.xml file

Packaging a pear channel

Name schema: php5-pear-channel-{channelname}

typical spec file:

%define peardir %(pear config-get php_dir 2> /dev/null || echo %{_datadir}/pear)
%define pear_xmldir  /var/lib/pear

Name:           php5-pear-channel-horde
Version:        1.0
Release:        0
Summary:        Adds pear.horde.org channel to PEAR
Group:          Development/Libraries/PHP
License:        BSD-3-Clause
Url:            http://pear.horde.org/
Source0:        http://pear.horde.org/channel.xml
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildArch:      noarch
Requires:       php php5-pear
Requires:       php5-tokenizer
BuildRequires:  php5-tokenizer
BuildRequires:  php5-pear >= 5.1.1

This package adds the pear.horde.org channel which allows PEAR packages
from this channel to be installed.

%setup -q -c -T

# Empty build section, nothing to build


%{__mkdir_p} %{buildroot}%{pear_xmldir}
%{__install} -pm 644 %{SOURCE0} %{buildroot}%{pear_xmldir}/pear.horde.org.xml


%{__rm} -rf %{buildroot}


if [ $1 -eq  1 ] ; then
   pear channel-add %{pear_xmldir}/pear.horde.org.xml > /dev/null || :
   pear channel-update %{pear_xmldir}/pear.horde.org.xml > /dev/null ||:


if [ $1 -eq 0 ] ; then
   pear channel-delete pear.horde.org.xml > /dev/null || :