pkg-php-tools
je balík pro Debian/Ubuntu (a další distribuce založené na Debianu), který pomáhá s tvorbou Debian balíčků pro knihovny a nástroje napsané v PHP. Používá se hlavně při vytváření balíčků, které dodržují Debian PHP policy.
- Automatické generování závislostí (
Depends
,Build-Depends
,Provides
) - Podpora pro knihovny instalované pomocí Composeru (
debian/php-namespace
,debian/php-deps
,debian/php-provides
) - Podpora instalace PHPUnit testů
- Snadnější tvorba PEAR balíčků
- Automatické generování symbolů pro
php-*
knihovny
sudo apt install pkg-php-tools
Příklad adresářové struktury:
debian/
├── control
├── compat
├── rules
├── php-namespace
├── php-deps
└── php-provides
Source: php-myproject
Section: php
Priority: optional
Maintainer: Tvé jméno <[email protected]>
Build-Depends: debhelper-compat (= 13), pkg-php-tools
Standards-Version: 4.6.0
Homepage: https://github.com/uzivatel/projekt
Package: php-myproject
Architecture: all
Depends: ${misc:Depends}, ${phpcomposer:DebianProject/MyProject}
Description: PHP knihovna pro něco
Tento soubor obsahuje seznam jmenných prostorů, které knihovna poskytuje.
MyProject\
MyProject\Submodule\
Obsahuje mapování závislostí z composer.json
na Debian balíčky.
phpunit/phpunit: php-phpunit-phpunit
guzzlehttp/guzzle: php-guzzlehttp-guzzle
Slouží k určení, jaké Composer balíčky tento balíček poskytuje.
debian-project/myproject
pkg-php-tools
také dokáže najít a spouštět testy (pokud je máš v tests/
a máš v závislostech phpunit
).
V debian/rules
:
%:
dh $@ --with phpcomposer
pkg-php-tools
ti umožní:
- jednodušeji zabalení PHP knihoven do
.deb
- správné nastavení závislostí na základě
composer.json
- přidání metadat o namespace a Composer balíčcích
- jednotný build systém pro PHP balíky v Debianu
Pokud máš konkrétní PHP knihovnu, kterou chceš zabalit pomocí pkg-php-tools
, mohu ti připravit konkrétní příklad na míru – stačí říct.