[Howto] Generirajte Arch Linux softverske pakete i derivate

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.


Dodaj kao preferirani izvor na Googleu