[Howto] Ģenerēt Arch Linux programmatūras pakotnes un atvasinājumus

Viena no lietām, kas man visvairāk patīk Arch Linux un tās atvasinājumiem, ir milzīgs vieglums lai izveidotu paketes, kuras vēlāk jāinstalē sistēmā, atšķirībā no zināmajām deb Debian / Ubuntu / Linux Mint / etc, tas ir haoss (un, ja tās ir bibliotēkas, es jums to nesaku).

Bāzes veidne būtu šāda:

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

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

Tagad es paskaidrošu katru parametru:

  • # Uzturētājs: Tajā tiek ievietots paketes uzturētāja vārds
  • pkgname: Iepakojuma nosaukums. Tajā var būt tikai burti, cipari, -, _ un +
  • pkver: paketes versija. pe 1.0.0
  • pkgrel: programmas vai paketes pārskatīšana. pe 1
  • pkgdesc: iepakojuma apraksts.
  • arka: programmas arhitektūra: tā var būt jebkura (ikvienam), i686 un x86_64, kas ir jebkura pakotnēm, kurām nav nepieciešama kompilācija, piemēram, bash vai python programmām. Ja tā ir programma, kurai tā nepieciešama (piemēram, programmas C vai C ++), jums jānorāda i686, ja tas paredzēts 32 bitiem, vai x86_64 - 64 bitiem. Parasti, ja tas ir saderīgs ar abiem, tas ir iestatīts (i686, x86_64)
  • url: URL uz programmas oficiālo lapu. Ieteicams to ievietot.
  • licence: programmas licence. piemēram, GPL3
  • grupas: grupas, kurām pieder pakete. grupas = ('sistēma')
  • atkarīgs: tajā mēs norādām paketes, kas nepieciešamas programmas izpildei. pependens = ('python2' 'pygtk')
  • ir atkarīgs: atkarības, kas nepieciešamas tikai pakotnes sastādīšanai. Ja kodu vēlaties lejupielādēt no versiju pārvaldnieka, ieteicams to ievietot. pe: makedepends = ('git')
  • avots: tajā mēs norādām paketes izveidei nepieciešamos failus. Parasti pakotnes URL satur kodu, ielāpu, .desktopt failu, ikonas utt. pe: avots = (pacsyu.desktop)
  • md5summas: šeit ir avotā norādīto failu md5 summas. Lai uzzinātu, kurus palaižam no termināļa mapē, kur atrodas PKGBUILD (faila ceļus ierakstot avotā) makepkg -g un summas parādīsies ekrānā.
    Ir iespējams izmantot arī citas summas, piemēram, sh1.
  • būvēt: šajā funkcijā mēs ievietosim komandas, kas nepieciešamas programmatūras sastādīšanai. Ja nav nepieciešams apkopot, nepieciešama tikai šāda funkcija)
  • pakete: šajā citā funkcijā darbosies programmas instalēšanas komandas. Piemēram, ja mēs šeit apkopojam C kodu, veiktu make install.

Un, lai pabeigtu, mums vienkārši jāizpilda makepkg lai pārbaudītu, vai pakotne ir ģenerēta.
Kā redzat, mums tas ir grūti. Tad es jums atstāju dažus papildu parametrus makepkg:

  • -es: Uzdod makepkg instalēt pakotni pēc tās izveides.
  • -s: Instalējiet pakotnes atkarības, ja tās atrodas krātuvēs.
  • -F: Ja jau ir pakete ar šo nosaukumu, versiju un pārskatīšanu ar šo parametru, mēs iesakām to pārrakstīt.
  • -pret: Kad esat pabeidzis, notīriet darba mapes (pkg un avotu).
  • -A: Pārsaiņojiet paketi bez atkārtotas kompilēšanas.

Es iesaku redzēt vairāk PKGBUILD failu, lai redzētu vairāk piemēru, izpildiet komandu makepkg -h lai redzētu pārējos programmas parametrus, papildus redzētu makepkg oficiālā dokumentācija Arch Linux Wiki ko jūs varat atrast šeit


14 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   džamins-samuēls teica

    Ļoti labi …

    Vai varat pakļaut .exe pakotni pārvaldīt (kompilēt) Arch pakotnei?

    Piemēram, piemēram, slavenais lejupielāžu pārvaldnieks Mifonija ??

    1.    pienācīgs teica

      Cik es zinu, ka nevarat, atcerieties, ka .exe ir bināri faili, nevis avota kods. Bet ir JDownloader.

    2.    v3on teica

      kāds lieto linux un pietrūkst Myponi… jijijijiji

      jDownloader ir java, un visiem ir labi zināms, ka java izraisa plaušu vēzi ...

  2.   pienains28 teica

    interesanti, mums būtu jāpārbauda paketes. Es domāju, ka es būšu sliecies darīt to, kas nāk no qbittorrent hahaha jau pastāv yaourt, bet, ja jums ir sava versija, nebūs slikti pārbaudīt, paldies par informāciju, sveicienus.

  3.   MSX teica

    Labs ieguldījums, +1
    Es vēlos piebilst, ka tos ir arī vieglāk izveidot un uzturēt nekā Gentoo ebuilds!

    Kas attiecas uz Debianu, es domāju, ka šis izkropļojums ārkārtīgi palielinātu savu handikapu, tikai modernizējot vai pārejot uz modernāku pakotņu un pakotņu pārvaldības sistēmu, es nezinu, kad būs pēdējais dpkg / apt kopas atjauninājums, bet koncepcijai jau vajadzētu būt 15 gadi un patiesība ir tāda, ka šodien ir anahroniska.

  4.   87 teica

    Liels paldies, pavisam nesen es to meklēju wiki, un es nebiju sapratis struktūru (es gribēju atjaunināt PlayonLinux), bet es tomēr atteicos ... ir lietas, kurās es vēlētos, lai man būtu palīgs vai kaut kas tamlīdzīgs (nenošaujiet mani), bet tomēr ... ja laika gaitā nav rīku, es redzēšu, vai es tos izveidoju

    1.    MSX teica

      Pateicoties jūsu ceļvedim, es sāku veidot Zejas PKGBUILD (http://web.psung.name/zeya/), tiklīdz to pabeidzu, es augšupielādēju to AUR 🙂

  5.   hypersayan_x teica

    atšķirībā no labi zināmā Debian / Ubuntu / Linux Mint / utt .deb, kas ir haoss

    Pilnīgi piekrītu, pirms kāda laika es mēģināju izveidot pakotni Ubuntu, un man nebija iespējams atrast saprotamu informāciju par to, kā to izveidot, galu galā es atteicos un instalēju programmu aptuveni.
    Tā pati programma Arch man prasīja mazāk nekā 5 minūtes, lai saliktu paketi.
    Un es neesmu pārliecināts, bet es domāju, ka RPM ir nedaudz vieglāk izdarīt nekā DEB, bet grūtāk nekā Arch.

  6.   hackloper775 teica

    Ļoti labi un viegli, un, kas attiecas uz .deb, tas nav tik grūti, labi, ka iOS

    Sveicieni

  7.   Carlos teica

    Es domāju, ka tas man būtu noderējis pirms kāda laika, kad augšupielādēju savu pirmo PKGBUILD AUR

  8.   klerfelis teica

    Vai kāds man var pateikt, kas tas ir, es esmu jauns, un es nezinu, vai tas man palīdz instalēt .deb pakotni, bet lokāli manjaro, precīzāk sakot, spēli. Jā, tas darbojas?