Skip to content

Instantly share code, notes, and snippets.

@Vitexus
Created July 27, 2025 10:21
Show Gist options
  • Save Vitexus/e1b2e5a1fdce4ea53889423d1113da98 to your computer and use it in GitHub Desktop.
Save Vitexus/e1b2e5a1fdce4ea53889423d1113da98 to your computer and use it in GitHub Desktop.
jak se používá pkg-php-tools ?

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.


✨ Hlavní funkce pkg-php-tools:

  • 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

🛠️ Instalace:

sudo apt install pkg-php-tools

📁 Struktura Debian balíčku s pkg-php-tools

Příklad adresářové struktury:

debian/
├── control
├── compat
├── rules
├── php-namespace
├── php-deps
└── php-provides

🧾 Příklady použití:

1. debian/control

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

2. debian/php-namespace

Tento soubor obsahuje seznam jmenných prostorů, které knihovna poskytuje.

MyProject\
MyProject\Submodule\

3. debian/php-deps

Obsahuje mapování závislostí z composer.json na Debian balíčky.

phpunit/phpunit: php-phpunit-phpunit
guzzlehttp/guzzle: php-guzzlehttp-guzzle

4. debian/php-provides

Slouží k určení, jaké Composer balíčky tento balíček poskytuje.

debian-project/myproject

🧪 PHPUnit testy

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

✅ Shrnutí

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment