arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
64 lines (40 loc) • 3.7 kB
Markdown
Tento článek je zaměřen na pomoc uživatelům při vytváření vlastních balíčků v Arch Linuxu (a systémech z něj vycházejících). Obsahuje vytvoření [PKGBUILD](/index.php/PKGBUILD_(%C4%8Cesky) "PKGBUILD (Česky)") – soubor obsahující instrukce pro sestavení pomocí `makepkg`, který vytvoří binární balíček ze zdrojového kódu.
## Contents
* [1 Přehled](#P.C5.99ehled)
* [2 Příprava](#P.C5.99.C3.ADprava)
* [2.1 Potřebný software](#Pot.C5.99ebn.C3.BD_software)
* [2.2 Stažení a test instalace](#Sta.C5.BEen.C3.AD_a_test_instalace)
* [3 Vytváření PKGBUILDu](#Vytv.C3.A1.C5.99en.C3.AD_PKGBUILDu)
## Přehled
Balíčky v Arch Linuxu jsou sestavovány nástrojem [makepkg](/index.php/Makepkg "Makepkg") pomocí informací v souboru [PKGBUILD](/index.php/PKGBUILD "PKGBUILD"). `makepkg` při startu hledá soubor `PKGBUILD` v pracovním adresáři a řídí se jeho instrukcemi pro kompilaci. Výsledný balíček obsahuje binární soubory a instrukce k své instalaci pro [pacman](/index.php/Pacman_(%C4%8Cesky) "Pacman (Česky)").
Balíček Archu není nic než tar archív komprimovaný xz nebo 'tarball', který obsahuje:
* Binární soubory k instalaci
* `.PKGINFO`: obsahující všechna metadata, které pacman potřebuje pro ostaní balíčky, závislosti atp.
* `.INSTALL`: volitelný soubor používaný pro spuštění příkazů po instalaci/upgradu/odstranění stage. (Tento soubor je přítomný pouze tehdy, pokud je uveden v `PKGBUILD`.)
* `.Changelog`: volitelný soubor dokumentující změny v balíčku. (Není přítomný ve všech balíčcích.)
## Příprava
### Potřebný software
Nejprve se ujistěte, že potřebné nástroje jsou nainstalované. Skupina balíčků s názvem "base-devel" by měla stačit; obsahuje *make* a další nástroje potřebné ke kompilaci ze zdrojového kódu.
```
# pacman -S base-devel
```
Jeden z klíčů pro sestavení balíčků je [makepkg](/index.php/Makepkg "Makepkg"), který dělá následující:
1. Kontroluje, jestli jsou nainstalované závislosti.
2. Stáhne zdrojový soubor (soubory) z uvedeného (uvedených) serveru(serverů).
3. Rozpakuje zdrojový soubor (soubory).
4. Zkompiluje software a nainstaluje v fakeroot prostředí.
5. Oddělí symboly od binárních souborů a knihoven.
6. Generuje meta soubor balíčku, který obashuje každý balíček.
7. Zkomprimuje fakeroot prostředí do souboru balíčku.
8. Uloží soubor balíčku v nakonfigurované cílové složce, výchozí nastavení je pracovní složka.
### Stažení a test instalace
Stáhněte zdrojový tarball softwaru, kterého chcete mít balíček, rozbalte jej a řiďte se kroky autora programu. Zapište každý příkaz a/nebo krok potřebný pro kompilaci a instalaci. Stejné kroky budete opakovat v *PKGBUILD* souboru.
Většina autorů softwaru se zůstávají u tří kroků:
```
./configure
make
make install
```
Toto je vhodný čas pro ujištění, jestli program pracuje správně.
## Vytváření PKGBUILDu
Když spustíte `makepkg`, bude hledat `[PKGBUILD](/index.php/PKGBUILD_(%C4%8Cesky) "PKGBUILD (Česky)")` soubor v pracovním adresáři. Když je soubor `PKGBUILD` nalezen, proběhne stažení zdrojového kódu softwaru a kompilace podle instrukcí v souboru`PKGBUILD`. Uvedené instrukce musí být plně interpretovatelné [Bashem](https://en.wikipedia.org/wiki/Bash "wikipedia:Bash") shellem. Po úspěšném provedení, výsledný binární soubor/soubory a metadata, to je balíček a závislosti jsou zapakované v `jmeno_balicku.pkg.tar.xz` souboru balíčku, který může být nainstalovaný pomocí `pacman -U [soubor_balicku]`.