[Howto] Genereer Arch Linux sagtewarepakkette en afgeleides

Een van die dinge wat ek die meeste van Arch Linux en sy afgeleides is, is die geweldige gemak om pakkette te skep wat later op die stelsel geïnstalleer kan word, anders as die bekende deb van Debian / Ubuntu / Linux Mint / ens. dit is 'n chaos (en as dit biblioteke is, vertel ek dit nie).

'N Basissjabloon is die volgende:

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

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

Nou sal ek elke parameter verduidelik:

  • # Onderhouer: Daarin word die naam van die instandhouer van die pakket geplaas
  • pkg naam: Die naam van die pakket. Dit kan slegs letters, syfers, -, _ en + bevat
  • pkver: pakket weergawe. pe 1.0.0
  • pkgrel: hersiening van die program of pakket. pe 1
  • pkgdesc: pakket beskrywing.
  • boog: die argitektuur van die program: dit kan enige (vir almal), i686 en x86_64 wees, dit is pakkette wat nie saamgestel is nie, soos bash- of python-programme. As dit 'n program is wat dit nodig het (byvoorbeeld programme in C of C ++), moet u i686 aandui as dit vir 32 bisse of x86_64 vir 64 bits is. In die algemeen, as dit met albei versoenbaar is, is dit ingestel (i686, x86_64)
  • url: die url na die amptelike bladsy van die program. Dit is raadsaam om dit te stel.
  • lisensie: die programlisensie. bv. GPL3
  • groepe: die groepe waartoe die pakket behoort. groepe = ('stelsel')
  • hang af: daarin dui ons die pakkette aan wat benodig word vir die uitvoering van die program. pependens = ('python2' 'pygtk')
  • gemaak hang af: die afhanklikhede wat slegs benodig word om die pakket saam te stel. As die kode by 'n weergawe-bestuurder afgelaai moet word, is dit raadsaam om dit te sit. pe: makedepends = ('git')
  • Bron: daarin dui ons die lêers aan wat nodig is vir die skep van die pakket. As 'n algemene reël is dit die url van die pakket wat die kode bevat, 'n pleister, 'n .desktopt-lêer, ikone, ens. pe: bron = (pacsyu.desktop)
  • md5somme: hier is die md5-somme van die lêers wat in die bron aangedui word. Om te weet watter ons vanaf 'n terminaal in die gids waarin die PKGBUILD is, bestuur (nadat die lêerpaaie in die bron geskryf is) makepkg -g en die somme sal op die skerm verskyn.
    Dit is ook moontlik om ander somme soos sh1 te gebruik.
  • bou: in hierdie funksie sal ons die opdragte benodig om voort te gaan met die samestelling van die sagteware. As dit nie nodig is om slegs die volgende funksie saam te stel nie, is dit nodig)
  • pakket: in hierdie ander funksie gaan die programinstallasieopdragte. Byvoorbeeld, as ons C-kode hier saamstel, sal die installasie van die fabriek gaan.

En om te eindig, moet ons net uitvoer makepkg om te verifieer dat die pakket gegenereer word.
Soos u kan sien, is dit vir ons moeilik. Dan laat ek u 'n paar ekstra parameters van makepkg:

  • -ek: Beveel makepkg om die pakket te installeer nadat dit geskep is.
  • -s: Installeer die pakketafhanklikhede as dit in die bewaarplekke is.
  • -F: As daar reeds 'n pakket met die naam, weergawe en hersiening met hierdie parameter is, kan u dit oorskryf.
  • -teen: Maak die werkmapies (pkg en bron) skoon sodra u klaar is.
  • -A: Verpak die pakket weer sonder dat u dit weer hoef saam te stel.

Ek beveel aan om meer PKGBUILD-lêers te sien om meer voorbeelde te sien, voer die opdrag uit makepkg -h om die res van die programparameters te sien, behalwe om die makepkg amptelike dokumentasie op Arch Linux Wiki wat kan jy vind hier


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

14 kommentaar, los joune

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

  1.   jamin samuel dijo

    Baie goed …

    Kan u 'n .exe-pakket laat beheer tot 'n Arch-pakket?

    Soos byvoorbeeld die beroemde aflaaibestuurder Mipony ??

    1.    behoorlike dijo

      Sover ek weet is dit nie moontlik nie, onthou dat die .exe binaries is en nie bronkode nie. Maar daar is JDownloader.

    2.    v3 aan dijo

      iemand gebruik linux en mis Myponi ... jijijijiji

      jDownloader is in Java, en dit is bekend by almal dat Java longkanker veroorsaak ...

  2.   melkagtig28 dijo

    interessant, ons sal pakkette moet toets. Ek dink ek sal geneig wees om die een uit qbittorrent te doen hahaha, dit bestaan ​​reeds in yaourt, maar om u eie weergawe te hê, sal nie sleg wees om te toets nie, dankie vir die inligting, groete.

  3.   msx dijo

    Goeie insette, +1
    Ek wil byvoeg dat dit ook makliker is om te skep en in stand te hou as Gentoo ebuilds!

    Wat Debian betref, dink ek dat hierdie distro sy gestremdheid enorm sal verhoog, net deur te moderniseer of na 'n meer moderne pakket- en pakketbestuurstelsel te migreer. 15 jaar en die waarheid is dat dit vandag anachronisties is.

  4.   Vrot 87 dijo

    Baie dankie, onlangs het ek dit in die wiki gesoek en die struktuur nie verstaan ​​nie (ek wou die PlayonLinux een bywerk), maar ek het nogtans opgegee ... daar is dinge waarin ek graag wil hê 'n assistent of iets dergeliks (moenie my skiet nie) maar tog ... in die afwesigheid van gereedskap met verloop van tyd sal ek sien of ek dit skep

    1.    msx dijo

      Danksy u gids het ek Zeya se PKGBUILD begin skep (http://web.psung.name/zeya/Sodra ek dit voltooi het, laai ek dit op na die AUR 🙂

  5.   hypersayan_x dijo

    anders as die bekende. deb van Debian / Ubuntu / Linux Mint / ens. wat 'n gemors is

    Heeltemal eens, ek het 'n rukkie gelede probeer om 'n pakket vir Ubuntu te skep, en dit was vir my onmoontlik om verstaanbare inligting te vind oor hoe om een ​​te maak, en uiteindelik het ek die program ongeveer opgegee.
    Dieselfde program vir Arch het my minder as 5 minute geneem om die pakket saam te stel.
    En ek is nie seker nie, maar ek dink RPM is effens makliker om te doen as DEB, maar moeiliker as Arch.

  6.   hackloper775 dijo

    Baie goed en maklik, en wat die .deb betref, is dit nie so moeilik nie, ook nie vir iOS nie

    Groete

  7.   Carlos dijo

    Ek dink dit sou my 'n tyd gelede gedien het toe ek my eerste PKGBUILD op AUR gelaai het

  8.   klerafel dijo

    Kan iemand verduidelik wat dit vir my is, ek is nuut en ek weet nie of dit my help om 'n .deb-pakket te installeer nie, maar plaaslik in manjaro, 'n spel om presies te wees. Ja, dit werk?