[Howto] Generirajte Arch Linux softverske pakete i derivate

Jedna od stvari koja mi se najviše sviđa kod Arch Linuxa i njegovih derivata je ogromna lakoća za stvaranje paketa koji će se kasnije instalirati na sistem, za razliku od poznatih .deb Debiana / Ubuntu / Linux Mint / itd. to je haos (a ako su biblioteke, ni ne kažem vam).

Osnovni predložak bi bio ovaj:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

Sada ću objasniti svaki parametar:

  • # Održavač: U njemu se stavlja ime održavača paketa
  • ime paketa: Naziv paketa. Sadrži 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 bash ili python programi. Ako je to program koji to treba (na primjer, programi na C ili C ++), morate navesti i686 ako je za 32 bita ili x86_64 za 64 bita. Općenito, ako je kompatibilan s obje, postavlja se (i686, x86_64)
  • url: URL na službenu stranicu programa. Preporučljivo je staviti.
  • licenca: programska licenca. npr. GPL3
  • grupe: grupe kojima paket pripada. groups = ('sistem')
  • ovisi: u njemu označavamo pakete koji su potrebni za izvršavanje programa. pependens = ('python2' 'pygtk')
  • zavisi: zavisnosti koje su potrebne samo za kompajliranje paketa. Ako se kôd preuzima iz upravitelja verzija, preporučljivo je staviti ga. pe: makedepends = ('git')
  • Izvor: u njemu označavamo datoteke potrebne za kreiranje paketa. Općenito je da URL paketa sadrži kôd, zakrpu, .desktopt datoteku, ikone itd. pe: izvor = (pacsyu.desktop)
  • md5sume: evo md5 suma datoteka naznačenih u izvoru. Da bismo znali koje pokrećemo s terminala u fascikli u kojoj je PKGBUILD (napisavši staze datoteka u izvoru) makepkg -g a sume će se pojaviti na ekranu.
    Takođe je moguće koristiti druge iznose poput sh1.
  • izgraditi: u ovu funkciju stavit ćemo naredbe potrebne za sastavljanje softvera. Ako nije potrebno kompajlirati, potrebna je samo sljedeća funkcija)
  • paket: u ovoj drugoj funkciji ići će naredbe za instalaciju programa. Na primjer, ako ovdje kompajliramo C kod, otišla bi instalacija make.

A da bismo završili, jednostavno moramo izvršiti makepkg da provjerite je li paket generiran.
Kao što vidite, teško nam je. Tada vam ostavljam neke dodatne parametre od makepkg:

  • -ja: Upućuje makepkg da instalira paket nakon što je stvoren.
  • -s: Instalirajte zavisnosti paketa ako su u spremištima.
  • -F: Ako već postoji paket s tim imenom, verzijom i revizijom s ovim parametrom, kažemo vam da ga prepišete.
  • -c: Očistite radne mape (kg i izvor) nakon završetka.
  • -O: Pakirajte paket bez ponovnog kompajliranja.

Preporučujem da vidite više PKGBUILD datoteka da biste vidjeli više primjera, izvršite naredbu makepkg -h da biste vidjeli i ostale programske parametre, osim što vidite i makepkg službena dokumentacija na Arch Linux Wiki šta možete naći ovdje


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

14 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   jamin samuel rekao je

    Veoma dobro …

    Možete li učiniti da .exe paket upravlja (kompajlira) s Arch paketom?

    Kao na primjer poznati menadžer preuzimanja mypony ??

    1.    pravi rekao je

      Koliko znam da to nije moguće, imajte na umu da su .exe binarni programi, a ne izvorni kod. Ali postoji JDownloader.

    2.    v3on rekao je

      neko koristi linux i propušta Myponi ... jijijijiji

      jDownloader je u javi i svima je dobro poznato da java uzrokuje rak pluća ...

  2.   milky28 rekao je

    zanimljivo, morali bismo testirati pakete mislim da ću biti sklon napraviti onaj sa qbittorrent-a hahaha već postoji u vašem vlasništvu, ali imati svoju verziju neće biti loše testirati, hvala na informacijama, pozdrav

  3.   MSX rekao je

    Dobar ulaz, +1
    Želim dodati da ih je također lakše stvoriti i održavati od Gentoo ebuild-a!

    Što se tiče Debiana, mislim da bi ova distribucija enormno podigla svoj hendikep samo modernizacijom ili migracijom na moderniji sistem upravljanja paketima i paketima, ne znam kada će biti posljednje ažuriranje dpkg / apt skupa, ali koncept bi već trebao imaju lako 15 godina, a istina je da je danas anahrono.

  4.   Rots87 rekao je

    Puno vam hvala, nedavno sam ga tražio na wikiju i nisam razumio strukturu (htio sam ažurirati PlayonLinux), ali sam ipak odustao ... postoje stvari u kojima bih želio imati asistent ili nešto slično (ne pucajte u mene), ali ipak ... u nedostatku alata s vremenom ću vidjeti hoću li stvoriti bilo koji

    1.    MSX rekao je

      Zahvaljujući vašem vodiču počeo sam stvarati Zeyin PKGBUILD (http://web.psung.name/zeya/), čim ga završim, prebacim ga na AUR 🙂

  5.   hypersayan_x rekao je

    za razliku od dobro poznatog .deb-a Debian / Ubuntu / Linux Mint / itd. što je nered

    Potpuno se slažem, maloprije sam pokušao stvoriti paket za Ubuntu i bilo mi je nemoguće pronaći razumljive informacije o tome kako ga napraviti, na kraju sam odustao i grubo instalirao program.
    Istom programu za Arch trebalo mi je manje od 5 minuta da sastavim paket.
    I nisam siguran, ali mislim da je RPM nešto lakše napraviti nego DEB, ali teže nego Arch.

  6.   hackloper775 rekao je

    Vrlo dobro i jednostavno, a što se tiče .deb-a, to nije toliko teško, baš kao i za iOS

    Saludos

  7.   Carlos rekao je

    Mislim da bi mi ovo poslužilo prije nekog vremena kada sam učitao svoj prvi PKGBUILD na AUR 🙂

  8.   clerafel rekao je

    Može li mi netko objasniti što je to, ja sam nov i ne znam da li mi ovo pomaže da instaliram .deb paket, ali lokalno u manjaro, tačnije igru. Da, djeluje?