Back to site

Як пакет пашырэнняў PHP самастойна

Я часта атрымліваю электронныя лісты казаў мне, што Dotdeb з'яўляецца выдатным інструментам, але, што некаторыя карысныя пакеты адсутнічаюць, напрыклад, некаторыя PECL пашырэння. Я хацеў бы захаваць многія і многія пакеты, але я не думаю, што гэта добрая ідэя для агульнага якасці Dotdeb і для майго вольнага часу ;) Выбачайце за гэта.

Тады гэты артыкул пакажа вам, як збіраць пакеты з вашых любімых пашырэнняў PECL ў строгай Debian спосабам, выкарыстоўваючы DH-рабіць-PHP пакет.

Уявіце сабе, мы хочам, каб пакет Fileinfo пашырэнне для PHP5...

Па-першае, ўсталюйце ўсе неабходныя пакеты (libmagic-Dev неабходная толькі тут пабудаваць Fileinfo):

# apt-get install dh-make-php php5-dev build-essential libmagic-dev

Тады, экспарт некаторыя неабходныя зменныя асяроддзі, спампаваць пакет

# export DEBFULLNAME="Guillaume Plessis"
# export DEBEMAIL="gui@php.net"
# pecl download fileinfo

downloading Fileinfo-1.0.4.tgz...
Starting to download Fileinfo-1.0.4.tgz (5,835 bytes)
.....done: 5,835 bytes
File /tmp/Fileinfo-1.0.4.tgz downloaded

Добра, давайце заклікаць магічных DH-рабіць-PECL каманду з адпаведнымі аргументамі:

# dh-make-pecl --only 5 Fileinfo-1.0.4.tgz
Creating debian source package: php-fileinfo-1.0.4
Upstream is: Ilia Alshanetsky
Guessing Maintainer: Guillaume Plessis

Няма паведамлення пра памылку... Выдатна! DH-рабіць-PECL зрабіў сваю справу, напрыклад, незаархивированные архіў і ствараецца php-fileinfo-1.0.4/debian / падкаталога, які змяшчае ўсе ўпакоўкі рэчаў.
"Толькі 5" абмяжоўвае працэс будаўніцтва на PHP5 пакетаў (PHP4 састарэла!)

Давайце будаваць пакет!

# cd php-fileinfo-1.0.4/
#./debian/rules binary
xsltproc --nonet --novalid debian/changelog.xsl package.xml > debian/Changelog
touch build-stamp
dh_testdir
...
dh_md5sums
dh_builddeb
dpkg-deb: building package `php5-fileinfo' in `../php5-fileinfo_1.0.4-1_i386.deb'.

Вось і ўсё! Давайце паглядзім на змесціва пакета...

# dpkg -c../php5-fileinfo_1.0.4-1_i386.deb
drwxr-xr-x root/root         0 2008-09-20 10:10./
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/lib/
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/lib/php5/
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/lib/php5/20060613+lfs/
-rw-r--r-- root/root     10296 2008-09-20 10:10./usr/lib/php5/20060613+lfs/fileinfo.so
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/share/
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/share/doc/
drwxr-xr-x root/root         0 2008-09-20 10:10./usr/share/doc/php5-fileinfo/
-rw-r--r-- root/root       202 2008-09-20 10:09./usr/share/doc/php5-fileinfo/README.Debian
-rw-r--r-- root/root        26 2004-02-13 01:06./usr/share/doc/php5-fileinfo/CREDITS
-rw-r--r-- root/root      3466 2008-09-20 10:09./usr/share/doc/php5-fileinfo/copyright
-rw-r--r-- root/root       159 2008-09-20 10:09./usr/share/doc/php5-fileinfo/changelog.Debian.gz
-rw-r--r-- root/root       865 2005-11-24 23:07./usr/share/doc/php5-fileinfo/fileinfo.php
-rw-r--r-- root/root       149 2008-09-20 10:10./usr/share/doc/php5-fileinfo/changelog.gz

і яе метададзеныя:

# dpkg -I../php5-fileinfo_1.0.4-1_i386.deb
 new debian package, version 2.0.
 size 12740 bytes: control archive= 4848 bytes.
     940 bytes,    31 lines   *  config               #!/bin/sh
     607 bytes,    20 lines      control
     522 bytes,     7 lines      md5sums
    1218 bytes,    58 lines   *  postinst             #!/bin/sh
     206 bytes,     8 lines   *  postrm               #!/bin/sh
    1773 bytes,    63 lines   *  prerm                #!/bin/sh
    8758 bytes,    67 lines      templates
 Package: php5-fileinfo
 Version: 1.0.4-1
 Section: web
 Priority: optional
 Architecture: i386
 Depends: libc6 (>= 2.3.6-6), libmagic1, debconf (>= 0.5) | debconf-2.0, php5 | php5-cli
 Installed-Size: 100
 Maintainer: Guillaume Plessis
 Source: php-fileinfo
 Description: Fileinfo module for PHP 5
  libmagic bindings
 .
  This extension allows retrieval of information regarding vast
  majority of file.
  This information may include dimensions, quality, length etc...
 .
  Additionally it can also be used to retrieve the mime type for a
  particular
  file and for text files proper language encoding.
 .

Выдатная праца! Цяпер ўсталюйце гэты пакет і атрымліваць асалоду ад...

Для атрымання дадатковай інфармацыі і канкрэтных патрэбаў, зірніце на "DH-рабіць-PECL" і "Чалавек DH-рабіць-PECL".

Popular Links
Published (Last edited): Apr 16 , source: http://www.dotdeb.org/2008/09/25/how-to-package-php-extensions-by-yourself/