Сборка debian пакета для дополнения к PHP из PECL

Я довольно часто использую удобный класс HTTPRequest из дополнения pecl_http, который описан в официальной документации по PHP. Но в очередной раз устанавливая его из PECL поразился тому сколько шагов нужно сделать для его сборки на чистой системе, после чего решил подсобить админам, собрав для него стандартный debian-пакет.

Сначала нужно было определиться с зависимостями: ими стали пакеты php5-dev (включающий в себя команду phpize без которой расширение не ставилось) и libcurl4-openssl-dev, для поддержки SSL соединений и вообще работу через библиотеку CURL.

После этого магия совсем простая. Нужно установить уже готовый скрипт для подготовки архивов из PECL к сборке в debian:


apt-get install php5-dev dh-make-php fakeroot xsltproc

Теперь с помощью этого скрипта подготовим пакет pecl_http:


dh-make-pecl --depends curl --build-depends libcurl4-openssl-dev --package-name http pecl_http

Будет создан каталог php-http-x.x.x (соответствующий текущей версии расширения). В нём уже будут необходимые файлы в каталоге debian. Опция package-name сообщает скрипту, что по-настоящему пакет называется http и собранная библиотека соответственно будет http.so, и именно такое название надо использовать для включения расширения в /etc/php5/conf.d.

После этого выполняем прямо в каталоге с расширением команду:


dpkg-buildpackage -rfakeroot

И получаем во внешнем каталоге весь набор, включая debian пакет, который уже можно спокойно ставить со всеми зависимостями.

Leave a Reply