[Howto] Generuoti „Arch Linux“ programinės įrangos paketus ir darinius

Vienas iš dalykų, kurie man labiausiai patinka „Arch Linux“ ir jo dariniuose, yra nepaprastai lengva sukurti paketus, kurie vėliau bus įdiegti sistemoje, skirtingai nei žinomi deb Debian / Ubuntu / Linux Mint / etc, tai chaosas (o jei tai bibliotekos, aš jums nesakau).

Pagrindinis šablonas būtų toks:

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

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

Dabar paaiškinsiu kiekvieną parametrą:

  • # Prižiūrėtojas: Į jį įrašomas pakuotės prižiūrėtojo vardas
  • pkgname: Pakuotės pavadinimas. Joje gali būti tik raidės, skaičiai, -, _ ir +
  • pkver: paketo versija. pe 1.0.0
  • pkgrel: programos ar paketo peržiūra. pe 1
  • pkgdesc: pakuotės aprašymas.
  • arka: programos architektūra: ji gali būti bet kuri (visiems), i686 ir x86_64, bet kuri paketams, kuriems nereikia kompiliavimo, pvz., bash arba python programoms. Jei tai yra programa, kuriai to reikia (pvz., Programos C arba C ++), ji turėtų nurodyti „i686“, jei ji skirta 32 bitams, arba „x86_64“ - 64 bitams. Apskritai, jei jis suderinamas su abiem, jis yra nustatytas (i686, x86_64)
  • URL: URL į oficialų programos puslapį. Patartina tai įdėti.
  • licencija: programos licenciją. pvz., GPL3
  • grupės: grupės, kurioms priklauso paketas. grupės = ('sistema')
  • priklauso: jame nurodome paketus, kurie reikalingi programai vykdyti. pependens = ('python2' pygtk ')
  • priklauso nuo: priklausomybės, kurios reikalingos tik paketui sudaryti. Jei kodą norite atsisiųsti iš versijų tvarkyklės, patartina jį įdėti. pe: makedepends = ('git')
  • šaltinis: joje nurodome paketui sukurti reikalingus failus. Paprastai paketo URL yra kodas, pleistras, .desktopt failas, piktogramos ir kt. pe: šaltinis = (pacsyu.desktop)
  • md5 sumos: čia yra šaltinyje nurodytų failų md5 sumos. Norėdami sužinoti, kuriuos paleidžiame iš terminalo aplanke, kuriame yra PKGBUILD (įrašę failo kelius į šaltinį) makepkg -g ir sumos pasirodys ekrane.
    Taip pat galima naudoti kitas sumas, tokias kaip sh1.
  • statyti: į šią funkciją įdėsime komandos, reikalingos tęsti programinės įrangos sudarymą. Jei nebūtina sudaryti, būtina tik ši funkcija)
  • paketas: šioje kitoje funkcijoje bus vykdomos programos diegimo komandos. Pvz., Jei mes čia kompiliuojame C kodą, tai būtų „make install“.

Norėdami užbaigti, mes tiesiog turime įvykdyti makepkg patikrinti, ar sugeneruotas paketas.
Kaip matote, mums sunku. Tada paliksiu jums keletą papildomų parametrų makepkg:

  • -aš: Nurodo makepkg įdiegti paketą po jo sukūrimo.
  • -s: Įdiekite paketo priklausomybes, jei jos yra saugyklose.
  • -F: Jei jau yra paketas su tokiu pavadinimu, versija ir pakeitimas su šiuo parametru, liepiame jį perrašyti.
  • -c: Baigę išvalykite darbinius aplankus (pkg ir šaltinį).
  • -A: Pakuokite pakuotę iš naujo nekompiliuodami.

Rekomenduoju pamatyti daugiau PKGBUILD failų, kad pamatytumėte daugiau pavyzdžių, vykdykite komandą makepkg -h Norėdami pamatyti likusius programos parametrus, be to, pamatysite „makepkg“ oficiali dokumentacija „Arch Linux Wiki“ ką gali rasti čia


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   jaminas-samuelis sakė

    Labai gerai …

    Ar .exe paketą galima tvarkyti (kompiliuoti) į Arch paketą?

    Kaip, pavyzdžiui, garsusis atsisiuntimų tvarkyklė Mipony ??

    1.    tinkamas sakė

      Kiek žinau, tai neįmanoma, atminkite, kad .exe yra dvejetainiai failai, o ne šaltinio kodas. Bet yra „JDownloader“.

    2.    v3 sakė

      kažkas naudojasi „Linux“ ir pasiilgsta „Myponi“ ... jijijijiji

      „jDownloader“ yra java, ir visiems yra gerai žinoma, kad java sukelia vėžį plaučiuose ...

  2.   pieniškas28 sakė

    įdomu, mes turėtume išbandyti paketus, manau, kad būsiu linkęs padaryti tą, kuris yra iš qbittorrent hahaha jau egzistuoja yaourt, bet turėti savo versiją nebus blogai išbandyti, ačiū už informaciją, sveikinimus.

  3.   MSX sakė

    Geras indėlis, +1
    Noriu pridurti, kad juos taip pat lengviau sukurti ir prižiūrėti nei „Gentoo“ el. Pastatus!

    Kalbant apie „Debian“, manau, kad šis platinimas nepaprastai padidintų savo trūkumus, tik modernizuodamas arba pereidamas prie modernesnės paketų ir paketų tvarkymo sistemos, nežinau, kada bus paskutinis „dpkg / apt“ rinkinio atnaujinimas, tačiau koncepcija jau turėjo lengvai atsirasti 15 metų ir tiesa ta, kad šiandien yra anachronistinė.

  4.   Puvimas87 sakė

    Labai ačiū, visai neseniai ieškojau to wiki ir dar nesupratau struktūros (norėjau atnaujinti „PlayonLinux“), bet vis tiek atsisakiau ... yra dalykų, kuriuose norėčiau turėti padėjėją ar panašiai (nešaudyk manęs), bet vis tiek ... jei laikui bėgant nėra įrankių, aš pamatysiu, ar aš juos sukursiu

    1.    MSX sakė

      Jūsų vadovo dėka aš pradėjau kurti Zeya PKGBUILD (http://web.psung.name/zeya/), kai tik baigsiu, įkeliu į AUR 🙂

  5.   hypersayan_x sakė

    skirtingai nuo gerai žinomo .deb Debian / Ubuntu / Linux Mint / etc, kuris yra netvarka

    Visiškai sutinku, prieš kurį laiką bandžiau sukurti „Ubuntu“ paketą ir man buvo neįmanoma rasti suprantamos informacijos, kaip jį sukurti, galų gale atsisakiau ir apytiksliai įdiegiau programą.
    Ta pati programa „Arch“ užtruko mažiau nei 5 minutes, kad susidėčiau paketą.
    Aš nesu tikras, bet manau, kad RPM yra šiek tiek lengviau atlikti nei DEB, bet sunkiau nei Arch.

  6.   775 sakė

    Labai gerai ir lengva. Kalbant apie .deb, tai nėra taip sunku, na ir „iOS“

    saludos

  7.   Carlos sakė

    Manau, kad tai būtų buvę man naudinga prieš kurį laiką, kai įkėliau savo pirmąjį PKGBUILD į AUR 🙂

  8.   klerafelis sakė

    Ar kas nors gali man paaiškinti, kas tai yra, aš esu naujas ir nežinau, ar tai man padeda įdiegti .deb paketą, bet vietoje manjaro, tiksliau žaidimą. Taip, tai veikia?