[Howto] Generovanie softvérových balíkov a derivátov systému Arch Linux

Jedna z vecí, ktorá sa mi na Arch Linuxu a jeho derivátoch páči najviac, je obrovská ľahkosť vytvoriť balíčky, ktoré sa na rozdiel od známych neskôr nainštalujú do systému deb systému Debian / Ubuntu / Linux Mint / etc, to je chaos (a ak sú to knižnice, tak vám to ani nehovorím).

Základná šablóna by bola táto:

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

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

Teraz vysvetlím každý parameter:

  • # Správca: V ňom je uvedené meno správcu balíka
  • názov balíka: Názov balíka. Môže obsahovať iba písmená, číslice, -, _ a +
  • pkver: verzia balíka. pe 1.0.0
  • pkgrel: preskúmanie programu alebo balíka. pe 1
  • pkgdesc: popis balenia.
  • oblúk: architektúra programu: môže to byť akákoľvek (pre všetkých), i686 a x86_64, akákoľvek pre balíky, ktoré nevyžadujú kompiláciu, ako sú programy bash alebo python. Ak to program vyžaduje (napríklad programy v C alebo C ++), musíte označiť i686, ak je to pre 32 bitov, alebo x86_64 pre 64 bitov. Všeobecne platí, že ak je kompatibilný s oboma, je nastavený (i686, x86_64)
  • url: adresa URL oficiálnej stránky programu. Je vhodné to povedať.
  • Licencia: licenciu programu. napr. GPL3
  • skupiny: skupiny, do ktorých balík patrí. groups = ('system')
  • záleží: v ňom označujeme balíčky, ktoré sú potrebné na vykonanie programu. pependens = ('python2' pygtk ')
  • vykonané výdavky: závislosti, ktoré sú potrebné iba na zostavenie balíka. Ak sa má kód stiahnuť z správcu verzií, je vhodné ho vložiť. pe: makedepends = ('git')
  • Zdroj: v ňom označíme súbory potrebné na vytvorenie balíka. Spravidla ide o adresu URL balíka, ktorý obsahuje kód, opravu, súbor .desktopt, ikony atď. pe: source = (pacsyu.desktop)
  • súčasti md5: Tu je súčet MD5 súborov označených v zdroji. Ak chcete vedieť, ktoré spustíme z terminálu v priečinku, kde je PKGBUILD (po napísaní cesty k súboru v zdroji) makepkg -g a sumy sa zobrazia na obrazovke.
    Je tiež možné použiť iné sumy, ako napríklad sh1.
  • stavať: do tejto funkcie vložíme príkazy potrebné na vykonanie kompilácie softvéru. Ak nie je potrebné kompilovať, je nevyhnutná iba nasledujúca funkcia)
  • balíček: v tejto ďalšej funkcii budú prebiehať inštalačné príkazy programu. Napríklad ak tu kompilujeme kód C, urobila by sa inštalácia make.

A na záver musíme len popraviť makepkg na overenie, či je balík vygenerovaný.
Ako vidíte, je to pre nás ťažké. Potom vám ponechám niekoľko ďalších parametrov hmotnosť:

  • -Joj: Príkaz makepkg na inštaláciu balíka po jeho vytvorení.
  • -s: Nainštalujte si závislosti balíkov, ak sú v úložiskách.
  • -F: Ak už existuje balík s týmto názvom, verziou a revíziou s týmto parametrom, hovoríme vám, aby ste ho prepísali.
  • -vs: Po dokončení vyčistite pracovné priečinky (bal. A zdroj).
  • -A: Znovu zabaľte balík bez nutnosti novej kompilácie.

Odporúčam vidieť viac súborov PKGBUILD, aby ste videli viac príkladov, vykonajte príkaz makepkg -h okrem parametrov programu vidieť aj ostatné parametre programu oficiálna dokumentácia makepkg na Arch Linux Wiki čo nájdete tu


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   jamin samuel dijo

    Veľmi dobre …

    Je možné spravovať (kompilovať) balík .exe do balíka Arch?

    Napríklad slávny správca sťahovania mypony ??

    1.    riadny dijo

      Pokiaľ viem, nie je to možné, nezabudnite, že súbory .exe sú binárne súbory a nie zdrojový kód. Existuje ale JDownloader.

    2.    v3on dijo

      niekto používa linux a chýba mu Myponi ... jijijijiji

      jDownloader je v jave a je dobre známe, že java spôsobuje rakovinu pľúc ...

  2.   mliečny28 dijo

    zaujímavé, museli by sme otestovať balíčky Myslím, že budem mať sklon robiť ten z qbittorrent hahaha už vo vašom yaourt existuje, ale mať svoju vlastnú verziu nebude zlé testovať, ďakujem za informácie, pozdravy

  3.   MSX dijo

    Dobrý vstup, +1
    Chcem dodať, že sú tiež jednoduchšie na vytváranie a údržbu ako Gentoo ebuilds!

    Pokiaľ ide o Debian, myslím si, že toto distro by enormne zvýšilo svoj handicap iba modernizáciou alebo prechodom na modernejší balík a systém správy balíkov, neviem, kedy bude posledná aktualizácia sady dpkg / apt, ale koncept by už mal mať ľahko 15 rokov a pravdou je, že dnešok je anachronický.

  4.   Hnije87 dijo

    Ďakujem pekne, trochu som to hľadal na wiki a nepochopil som štruktúru (chcel som aktualizovať PlayonLinux), ale aj tak som to vzdal ... sú veci, v ktorých by som chcel mať asistenta alebo niečo podobné (nestrieľajte ma), ale aj tak ... pri absencii nástrojov v priebehu času uvidím, či nejaké vytvorím

    1.    MSX dijo

      Vďaka tvojmu sprievodcovi som začal vytvárať Zeyin PKGBUILD (http://web.psung.name/zeya/), akonáhle to dokončím, nahrám to na AUR 🙂

  5.   hypersayan_x dijo

    na rozdiel od známeho .deb Debianu / Ubuntu / Linux Mint / etc, čo je neporiadok

    Úplne súhlasím, pred chvíľou som sa pokúsil vytvoriť balík pre Ubuntu a nebolo možné nájsť zrozumiteľné informácie o tom, ako ho vytvoriť. Nakoniec som to vzdal a program som zhruba nainštaloval.
    Rovnaký program pre Archa mi trval menej ako 5 minút.
    A nie som si istý, ale myslím si, že otáčky sú o niečo ľahšie ako DEB, ale ťažšie ako Arch.

  6.   hackloper775 dijo

    Veľmi dobré a ľahké a pokiaľ ide o súbor .deb, nie je to také ťažké, ani pre iOS

    pozdravy

  7.   Carlos dijo

    Myslím, že by mi to pred časom poslúžilo, keď som nahral svoj prvý PKGBUILD na AUR 🙂

  8.   klerafel dijo

    Môže mi niekto vysvetliť, o čo mi ide, som nový a neviem, či mi to pomôže nainštalovať balík .deb, ale lokálne v manjaro, čo je presná hra. Áno, funguje to?