Difference between revisions of "Creating packages (Česky)"

From ArchWiki
Jump to: navigation, search
Line 7: Line 7:
 
== Přehled ==  
 
== Přehled ==  
  
Balíčky v Arch Linuxu jsou sestavovány pomocí [[makepkg]] utility a informací v souboru [[PKGBUILD]]. {{ic|makepkg}} při startu hledá soubor {{ic|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]].
+
Balíčky v Arch Linuxu jsou sestavovány pomocí [[makepkg]] utility a informací v souboru [[PKGBUILD]]. {{ic|makepkg}} při startu hledá soubor {{ic|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 (Česky)| pacman]].
  
 
Balíček Archu není nic než tar archív komprimovaný xz nebo 'tarballem', který obsahuje:
 
Balíček Archu není nic než tar archív komprimovaný xz nebo 'tarballem', který obsahuje:

Revision as of 06:50, 17 January 2012


Tento článen se zaměřuje na pomoc uživatelům, při vytváření vlastních balíčků v Arch Linuxu (a systémech z něho vycházejících). Obsahuje vytvoření PKGBUILD – soubor obsahující instrukce pro sestavení pomocí makepkg, který vytvoří binární balíček ze zdrojového kódu.

Přehled

Balíčky v Arch Linuxu jsou sestavovány pomocí makepkg utility a informací v souboru 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.

Balíček Archu není nic než tar archív komprimovaný xz nebo 'tarballem', 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 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-deve" 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, 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, rozpakujte 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 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 souboruPKGBUILD. Uvedené instrukce musí být plně interpretovatelné Bashem 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].