[Howto] Arch Linux szoftvercsomagok és származékok generálása

Az egyik dolog, ami az Arch Linuxban és annak származékaiban tetszik a legjobban, az a óriási könnyedség csomagok létrehozására, amelyeket később a rendszerre lehet telepíteni, ellentétben az ismertekkel . Deb a Debian / Ubuntu / Linux Mint / stb., ami káosz (és ha könyvtárak, akkor nem is mondom el).

Alapsablon a következő lenne:

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

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

Most elmagyarázom az egyes paramétereket:

  • # Fenntartó: Ebben szerepel a csomag fenntartójának neve
  • PKGNAME: A csomag neve. Csak betűket, számokat, -, _ és + tartalmazhat
  • PKVER: csomag verzió. pe 1.0.0
  • PKGREL: a program vagy csomag áttekintése. pe 1
  • PKGDESC: csomag leírása.
  • boltív: a program architektúrája: lehet bármilyen (mindenki számára), i686 és x86_64, bármilyen olyan csomaghoz, amely nem igényel fordítást, mint például a bash vagy a python program. Ha olyan programra van szüksége, amelyre szüksége van (például C vagy C ++ nyelven írt programok), akkor az i686-ot kell megadnia, ha 32 bites, vagy x86_64 64 bites. Általában, ha kompatibilis mindkettővel, akkor be van állítva (i686, x86_64)
  • url: az URL a program hivatalos oldalára. Célszerű megfogalmazni.
  • engedély száma: a programengedélyt. pl. GPL3
  • csoport: azok a csoportok, amelyekhez a csomag tartozik. csoportok = ('rendszer')
  • attól függ: benne megadjuk azokat a csomagokat, amelyek a program futtatásához szükségesek. pependens = ('python2' 'pygtk')
  • attól függ: a csak a csomag fordításához szükséges függőségek. Ha a kódot le kell tölteni egy verziókezelőből, célszerű feltenni. pe: makedepends = ('git')
  • forrás: benne a csomag létrehozásához szükséges fájlokat jelezzük. Általános szabály, hogy a csomag URL-je tartalmazza a kódot, a javítást, a .desktopt fájlt, az ikonokat stb. pe: forrás = (pacsyu.desktop)
  • md5összegek: itt vannak a forrásban feltüntetett fájlok md5 összegei. Annak megismerése, hogy melyiket futtatjuk egy terminálról abban a mappában, ahol a PKGBUILD található (miután a fájl útvonalait a forrásba írtuk) makepkg -g és az összegek megjelennek a képernyőn.
    Lehetőség van más összegek felhasználására is, például sh1.
  • épít: ebbe a függvénybe tesszük a a szoftver fordításához szükséges parancsok. Ha nem szükséges csak a következő függvény összeállítása)
  • csomag: ebben a másik funkcióban a program telepítési parancsai mennek. Például, ha itt C kódot fordítunk, akkor a make install menni fog.

És a befejezéshez csak végre kell hajtanunk makepkg a csomag létrehozásának ellenőrzése.
Mint láthatja, nehéz nekünk. Akkor hagyok néhány extra paramétert a Makepkg:

  • -én: Utasítja a makepkg-t, hogy telepítse a csomagot a létrehozása után.
  • -s: Telepítse a csomagfüggőségeket, ha azok a tárakban vannak.
  • -F: Ha már van ilyen nevű csomag, verzió és verzió ezzel a paraméterrel, akkor azt javasoljuk, hogy írja felül.
  • -c: Miután elkészült, tisztítsa meg a működő mappákat (pkg és forrás).
  • -A: Csomagolja újra a csomagot anélkül, hogy újra kellene fordítania.

Több PKGBUILD fájl megtekintését javasoljuk, hogy további példákat láthasson, hajtsa végre a parancsot makepkg -h a program többi paraméterének megtekintéséhez, a makepkg hivatalos dokumentáció az Arch Linux Wikiben mit találhat itt


14 hozzászólás, hagyd a tiedet

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   jamin-Samuel dijo

    Nagyon jó …

    Tud-e egy .exe csomagot kezelni (fordítani) egy Arch csomagra?

    Mint például a híres letöltéskezelő Mipony ??

    1.    megfelelő dijo

      Amennyire tudom, hogy ez nem lehetséges, ne feledje, hogy az .exe bináris fájlok, és nem forráskód. De van JDownloader.

    2.    v3on dijo

      valaki használja a linuxot, és hiányzik neki Myponi ... jijijijiji

      A jDownloader Java-ban van, és mindenki számára jól ismert, hogy a java tüdőrákot okoz ...

  2.   tejes28 dijo

    érdekes, tesztelnünk kellene a csomagokat. Azt hiszem, hajlandó leszek megcsinálni a qbittorrent fájlt. hahaha, ez már létezik a yaourt-ban, de a saját verziót nem lesz rossz tesztelni, köszönöm az információkat, üdvözleteket.

  3.   MSX dijo

    Jó bemenet, +1
    Hozzá akarom tenni, hogy ezeket is könnyebb létrehozni és karbantartani, mint a Gentoo ebuild-eket!

    A Debian kapcsán úgy gondolom, hogy ez a disztróció csak a korszerűsítéssel vagy a korszerűbb csomag- és csomagkezelő rendszerre történő áttéréssel óriási mértékben növelné hátrányát, nem tudom, mikor lesz a dpkg / apt készlet utolsó frissítése, de a koncepciónak már 15 éve van, és az igazság az, hogy ma anakronisztikus.

  4.   rots87 dijo

    Köszönöm szépen, tettem egy keveset, miközben kerestem a wikiben, és még nem értettem a struktúrát (frissíteni akartam a PlayonLinux-ot), de mégis feladtam ... vannak dolgok, amelyekben szeretnék legyen asszisztensed vagy valami hasonló (ne lőj le), de mégis ... eszközök hiányában idővel meglátom, hozok-e létre

    1.    MSX dijo

      Útmutatójának köszönhetően elkezdtem létrehozni Zeya PKGBUILD-jét (http://web.psung.name/zeya/), amint befejezem, feltöltöm az AUR-ba 🙂

  5.   hypersayan_x dijo

    ellentétben a Debian / Ubuntu / Linux Mint / stb. jól ismert .deb-jével, ami rendetlenség

    Teljesen egyetértek, egy ideje megpróbáltam létrehozni egy csomagot az Ubuntu számára, és nem sikerült érthető információkat találnom az elkészítéséről, végül felhagytam és durván telepítettem a programot.
    Ugyanez a program az Arch-nál kevesebb, mint 5 percig tartott, mire a csomagot összeállítottam.
    És nem vagyok benne biztos, de azt gondolom, hogy az RPM valamivel könnyebb elvégezni, mint a DEB, de nehezebb, mint az Arch.

  6.   hackloper775 dijo

    Nagyon jó és egyszerű, és ami a .deb fájlt illeti, ez nem is olyan nehéz, nos az iOS-nél sem

    Üdvözlet

  7.   Carlos dijo

    Azt hiszem, ez már egy ideje szolgálta volna, amikor feltöltöttem az első PKGBUILD-t az AUR-ba

  8.   clerafel dijo

    Meg tudná valaki magyarázni, hogy mi ez nekem, új vagyok, és nem tudom, hogy ez segít-e egy .deb csomag telepítésében, de helyileg a manjaro-ban, egy egészen pontos játéknak. Igen, működik?