[Howto] Generer Arch Linux-programvarepakker og derivater

Noe av det jeg liker best med Arch Linux og dets derivater er hvor enkelt det er å lage pakker som deretter installeres på systemet, i motsetning til hva som skjer med de velkjente .deb-filene til Debian/Ubuntu/Linux Mint/osv., som er et rot (og hvis de er biblioteker, så ikke få meg i gang).

En grunnmal ville være dette:

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

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

Nå vil jeg forklare hver parameter:

  • # Vedlikeholder: I den er navnet på vedlikeholderen av pakken satt
  • pkgnavn: Navnet på pakken. Den kan bare inneholde bokstaver, tall, -, _ og +
  • pkver: pakkeversjon. pe 1.0.0
  • pkgrel: gjennomgang av programmet eller pakken. pe 1
  • pkgdesc: pakkebeskrivelse.
  • bue: programmets arkitektur: den kan være hvilken som helst (for alle), i686 og x86_64, for hvilken som helst for pakker som ikke krever kompilering, for eksempel bash- eller python-programmer. Hvis det er et program som trenger det (for eksempel programmer i C eller C ++), må du angi i686 hvis det er for 32 bits eller x86_64 for 64 bits. Generelt sett, hvis den er kompatibel med begge, er den angitt (i686, x86_64)
  • url: url til den offisielle siden i programmet. Det anbefales å si det.
  • lisens: programlisensen. f.eks GPL3
  • grupper: gruppene som pakken tilhører. grupper = ('system')
  • avhenger: i den indikerer vi pakkene som er nødvendige for gjennomføring av programmet. pependens = ('python2' 'pygtk')
  • gjør avhenger: avhengighetene som bare kreves for å kompilere pakken. Hvis koden skal lastes ned fra en versjonsbehandling, anbefales det å legge den. pe: makedepends = ('git')
  • kilde: i den angir vi filene som er nødvendige for opprettelsen av pakken. Som hovedregel er det url til pakken som inneholder koden, en oppdatering, en .desktopt-fil, ikoner osv. pe: kilde = (pacsyu.desktop)
  • md5sum: her er md5-summene av filene som er angitt i kilden. For å vite hvilke vi kjører fra en terminal i mappen der PKGBUILD er (etter å ha skrevet filstiene i kilden) makepkg -g og summene vises på skjermen.
    Det er også mulig å bruke andre summer som sh1.
  • bygge: i denne funksjonen vil vi sette kommandoer som kreves for å fortsette å kompilere programvaren. Hvis det ikke er nødvendig å kompilere, er bare følgende funksjon nødvendig)
  • pakke: i denne andre funksjonen vil kommandoer for programinstallasjon gå. For eksempel hvis vi kompilerer C-kode her, vil installasjonen gå.

Og for å fullføre må vi bare utføre makepkg for å bekrefte at pakken er generert.
Som du ser er det vanskelig for oss. Så lar jeg deg ha noen ekstra parametere for makepkg:

  • -Jeg: Instruerer makepkg om å installere pakken etter at den er opprettet.
  • -s: Installer avhengighetene til pakken hvis de er i lagringsplassene.
  • -F: Hvis det allerede er en pakke med det navnet, versjonen og revisjonen med denne parameteren, ber vi deg overskrive den.
  • -c: Rengjør arbeidsmappene (kg og kilde) når du er ferdig.
  • -EN: Pakk pakken på nytt uten å måtte kompilere på nytt.

Jeg anbefaler å se flere PKGBUILD-filer for flere eksempler, kjøre kommandoen `makepkg -h` for å se resten av programmets parametere, og også sjekke den offisielle makepkg-dokumentasjonen på Arch Linux Wiki, som du finner her.


Legg til som foretrukket kilde i Google