[Howto] Generer Arch Linux softwarepakker og derivater

En af de ting, jeg bedst kan lide ved Arch Linux og dens derivater er enorm lethed at oprette pakker, der senere skal installeres på systemet, i modsætning til de kendte deb af Debian / Ubuntu / Linux Mint / etc, der er et kaos (og hvis de er biblioteker, fortæller jeg dig ikke engang).

En grundskabelon ville være denne:

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

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

Nu vil jeg forklare hver parameter:

  • # Vedligeholdelse: I det er navnet på vedligeholderen af ​​pakken sat
  • pkgnavn: Navnet på pakken. Det kan kun indeholde bogstaver, tal, -, _ og +
  • pkver: pakkeversion. pe 1.0.0
  • pkgrel: gennemgang af programmet eller pakken. pe 1
  • pkgdesc: pakkebeskrivelse.
  • bue: programmets arkitektur: det kan være en hvilken som helst (for alle), i686 og x86_64, være nogen for pakker, der ikke kræver kompilering, såsom bash- eller python-programmer. Hvis det er et program, der har brug for det (for eksempel programmer i C eller C ++), skal du angive i686, hvis det er til 32 bit eller x86_64 til 64 bit. Generelt, hvis den er kompatibel med begge, er den indstillet (i686, x86_64)
  • url: url til programmets officielle side. Det tilrådes at sætte det.
  • licens: programlicensen. f.eks. GPL3
  • grupper: de grupper, som pakken hører til. grupper = ('system')
  • afhænger af: i det angiver vi de pakker, der er nødvendige for gennemførelsen af ​​programmet. pependens = ('python2' 'pygtk')
  • lavet afhænger: de afhængigheder, der kun kræves for at kompilere pakken. Hvis koden skal downloades fra en versionshåndtering, anbefales det at sætte den. pe: makedepends = ('git')
  • kilde: i det angiver vi de filer, der er nødvendige for at oprette pakken. Som hovedregel er det url til pakken, der indeholder koden, en patch, en .desktopt-fil, ikoner osv. pe: kilde = (pacsyu.desktop)
  • md5summer: her er md5-summen af ​​filerne angivet i kilden. For at vide hvilke der kører fra en terminal i mappen, hvor PKGBUILD er (efter at have skrevet filstierne i kilden) makepkg -g og summen vises på skærmen.
    Det er også muligt at bruge andre summer som sh1.
  • bygge: i denne funktion placerer vi kommandoer, der kræves for at fortsætte med at kompilere softwaren. Hvis det ikke er nødvendigt at kompilere, er det kun nødvendigt følgende funktion)
  • pakke: i denne anden funktion går programinstallationskommandoer. For eksempel, hvis vi kompilerer C-kode her, vil installationen gå.

Og for at afslutte skal vi bare udføre makepkg for at kontrollere, at pakken er genereret.
Som du kan se, er det svært for os. Så efterlader jeg dig med nogle ekstra parametre for makepkg:

  • -jeg: Pålægger makepkg at installere pakken, når den er oprettet.
  • -s: Installer pakkeafhængighederne, hvis de findes i arkiverne.
  • -F: Hvis der allerede er en pakke med dette navn, version og revision med denne parameter, beder vi dig om at overskrive den.
  • -c: Rens arbejdsmapperne (pkg og kilde), når de er færdige.
  • -EN: Pak pakken om uden at skulle kompilere igen.

Jeg anbefaler at se flere PKGBUILD-filer for at se flere eksempler, udfør kommandoen makepkg -h for at se resten af ​​programparametrene ud over at se makepkg officiel dokumentation på Arch Linux Wiki hvad kan du finde her


Tilføj som foretrukken kilde i Google