Jedna od stvari koje mi se najviše sviđaju kod Arch Linuxa i njegovih derivata je ogromna lakoća kreiranja paketa koji se zatim instaliraju na sistem, za razliku od onoga što se dešava sa dobro poznatim .deb datotekama Debiana/Ubuntua/Linux Minta/itd. koje su pravi haos (a ako su to biblioteke, nemojte me ni počinjati).
Osnovni šablon bi bio ovaj:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Sada ću objasniti svaki parametar:
- #Maintainer: Sadrži ime održavaoca paketa.
- ime paketa: Naziv paketa. Može sadržavati samo slova, brojeve, -, _ i +
- pkver: verzija paketa. pe 1.0.0
- pkgrel: pregled programa ili paketa. pe 1
- pkgdesc: opis paketa.
- luk: arhitektura programa: može biti bilo koja (za sve), i686 i x86_64, bilo koja za pakete koji ne zahtijevaju kompilaciju, kao što su programi u bash-u ili python-u. Ako se radi o programu kojem je to potrebno (na primjer programi u C ili C++), i686 mora biti naznačeno ako je za 32 bita ili x86_64 za 64 bita. Kao opšte pravilo, ako je kompatibilan sa oba, piše (i686, x86_64)
- url: url do službene stranice programa. Preporučljivo je staviti.
- licenca: licencu programa. npr. GPL3
- grupe: grupe kojima paket pripada. grupe=('sistem')
- zavisi: U njemu označavamo pakete koji su potrebni za izvršavanje programa. npr. zavisi=('python2' 'pygtk')
- zavisi: zavisnosti koje su potrebne samo za kompajliranje paketa. Ako će kod biti preuzet iz menadžera verzija, preporučljivo je da ga stavite tamo. npr.: makedepends=('git')
- Izvor: U njemu navodimo datoteke potrebne za kreiranje paketa. Kao opšte pravilo, to je url paketa koji sadrži kod, zakrpu, .desktopt datoteku, ikone itd. pe: izvor=(pacsyu.desktop)
- md5sums: Evo md5 sume datoteka navedenih u izvoru. Da saznamo koje pokrećemo sa terminala u fascikli u kojoj se nalazi PKGBUILD (napisavši putanje datoteke u izvorni kod) makepkg -g a zbroji će se pojaviti na ekranu.
Također je moguće koristiti druge sume kao što je sh1. - izgraditi: U ovu funkciju ćemo staviti naredbe potrebne za nastavak kompajliranja softvera. Ako nije potrebno kompajlirati, potrebna je samo sljedeća funkcija)
- paket: u ovoj drugoj funkciji će ići naredbe za instalaciju programa. Na primjer, ako kompajliramo C kod, make install bi išla ovdje.
A da završimo samo moramo izvršiti makepkg da provjerite da li je paket generiran.
Kao što vidite, nama je teško. U nastavku vam ostavljam neke dodatne parametre makepkg:
- -Yo: Kaže makepkg da instalira paket nakon što je kreiran.
- -s: Instalirajte ovisnosti paketa ako su u spremištima.
- -F: Ako već postoji paket sa tim imenom, verzijom i revizijom sa ovim parametrom, kažemo vam da ga prepišete.
- -c: Očistite radne fascikle (paket i izvor) kada završite.
- -O: Prepakuje paket bez ponovnog kompajliranja.
Preporučujem da pregledate više PKGBUILD datoteka za više primjera, pokrenete naredbu `makepkg -h` da vidite ostale parametre programa, a također provjerite i službenu makepkg dokumentaciju na Arch Linux Wiki stranici, koju možete pronaći ovdje.