---
name: "pkg-php-tools"
section: "1"
platform: "linux"
package: "pkg-php-tools"
version: "1.28"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/pkg-php-tools"
---

# pkg-php-tools(1)

debhelper tool suite for PHP PEAR packages and channels

## NAME

pkg-php-tools - debhelper tool suite for PHP PEAR packages and channels

## SYNOPSIS

**dh** $@ --buildsystem=**phppear** --with **phppear**

## DESCRIPTION

For a quick start, read */usr/share/doc/pkg-php-tools/README.PEAR*.

[*dh\_phppear*(1)](/dh_phppear/1.md) is a debhelper program that is responsible for generating the **${phppear:\*}** substitutions and adding them to substvars files. See the corresponding manpage.

**dh\_phpcomposer** is a debhelper program that is responsible for generating the **${phpcomposer:\*}** substitutions and adding them to substvars files. See the corresponding manpage.

*Debian::Debhelper::Buildsystem::phppear* is an additionnal build system targeted at PHP PEAR packages (with a package.xml or package2.xml file) and PHP PEAR channels (with a channel.xml file). See below.

## ADVANCED USAGE

### Building a PECL package

A PECL package is a PEAR package which is compiled. Extra steps are needed:

- •

  Adding **php5-dev**, **pkg-php-tools** (\>= 1.6~) and **dh-php5** to Build-Depends.

- •

  Adding **${shlibs:Depends}** and **${php:Depends}** to Depends.

- •

  Adding "--with **php5**" to **dh** line in *debian/rules*.

### Building a channel package

Simply put the channel.xml file downloaded from the PEAR channel in the root of the package source and use a *debian/rules* similar to a PEAR package.

This feature requires pkg-php-tools (\>= 1.3~)

### Overriding a PEAR Debian package name

See "FILES" in [*dh\_phppear*(1)](/dh_phppear/1.md).

### Patching

pkg-php-tools will remove md5sums and sha1sums to ease patching. You can patch as usual.

### Removing some files from the upstream tarball

If you have removed some files from the upstream tarball, you will end with an incomplete package unless you strip them from the *package.xml* file in the PEAR package subdir. You can do this after the *dh\_auto\_configure* step. Example:

```
  override_dh_auto_configure:
        dh_auto_configure -O--buildsystem=phppear
        # Remove references of JsMin
        sed -i '/JsMin\.php/d' */package.xml
```

This feature requires pkg-php-tools (\>= 1.1~)

## CONFORMS TO

Debian policy, version 3.9.4

PHP PEAR policy, version yet-to-be-written

## SEE ALSO

*/usr/share/doc/pkg-php-tools/README.PEAR*, [*dh\_phppear*(1)](/dh_phppear/1.md), [*dh\_phpcomposer*(1)](/dh_phpcomposer/1.md)

[*debhelper*(7)](/debhelper/7.md) (Note: This program is not part of debhelper)

## AUTHOR

Mathieu Parent \<sathieu@debian.org\>
