[Howto] Generer Arch Linux-programvarepakker og derivater

En av tingene jeg liker best med Arch Linux og dets derivater er enorm letthet å lage pakker som senere skal installeres på systemet, i motsetning til de kjente . Deb av Debian / Ubuntu / Linux Mint / etc som er et kaos (og hvis de er biblioteker, forteller jeg deg ikke).

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 å se flere eksempler, utfør kommandoen makepkg -h for å se resten av programparametrene, i tillegg til å se makepkg offisiell dokumentasjon på Arch Linux Wiki hva kan du finne her


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   jamin samuel sa

    Veldig bra …

    Kan du få en .exe-pakke til å administrere (kompilere) til en Arch-pakke?

    Som for eksempel den berømte nedlastingsbehandleren Mipony ??

    1.    ordentlig sa

      Så vidt jeg vet er det ikke mulig, husk at .exe er binære filer og ikke kildekode. Men det er JDownloader.

    2.    v3 på sa

      noen bruker linux og savner Myponi ... jijijijiji

      jDownloader er i java, og det er velkjent for alle at java forårsaker lungekreft ...

  2.   melkeaktig28 sa

    interessant, vi må teste pakker. Jeg tror jeg vil være tilbøyelig til å gjøre den fra qbittorrent hahaha eksisterer allerede i yaourt, men å ha din egen versjon vil ikke være dårlig å teste, takk for informasjonen, hilsen

  3.   MSX sa

    Gode ​​innspill, +1
    Jeg vil legge til at de også er lettere å lage og vedlikeholde enn Gentoo ebuilds!

    Når det gjelder Debian, tror jeg at denne distroen ville øke handikappet enormt bare ved å modernisere eller migrere til et mer moderne pakke- og pakkehåndteringssystem, jeg vet ikke når den siste oppdateringen av dpkg / apt-settet vil være, men konseptet burde allerede ha lett 15 år og sannheten er at i dag er anakronistisk.

  4.   råtner87 sa

    Tusen takk, jeg så nylig etter den i wiki og jeg hadde ikke forstått strukturen (jeg ønsket å oppdatere PlayonLinux-en), men jeg ga fremdeles opp ... det er ting der jeg vil ha en assistent eller noe sånt (ikke skyte meg), men likevel ... i fravær av verktøy over tid vil jeg se om jeg lager noen

    1.    MSX sa

      Takket være guiden din begynte jeg å lage Zeyas PKGBUILD (http://web.psung.name/zeya/) så snart jeg er ferdig med den, laster jeg den opp til AUR 🙂

  5.   hypersayan_x sa

    i motsetning til den velkjente. deb av Debian / Ubuntu / Linux Mint / etc som er et rot

    Helt enig, for en stund siden prøvde jeg å lage en pakke for Ubuntu, og jeg klarte ikke å finne forståelig informasjon om hvordan jeg skulle lage en, til slutt ga jeg opp og installerte programmet omtrent.
    Det samme programmet for Arch tok meg mindre enn 5 minutter å sette sammen pakken.
    Og jeg er ikke sikker, men jeg tror RPM er litt lettere å gjøre enn DEB, men vanskeligere enn Arch.

  6.   hackloper775 sa

    Veldig bra og enkelt, og når det gjelder .deb er det ikke så vanskelig, vel det for iOS

    Hilsen

  7.   Carlos sa

    Jeg tror dette hadde tjent meg for en tid siden da jeg lastet opp min første PKGBUILD til AUR 🙂

  8.   klerafel sa

    Kan noen forklare hva det er for meg, jeg er ny, og jeg vet ikke om dette hjelper meg å installere en .deb-pakke, men lokalt i manjaro, et spill for å være nøyaktig. Ja, det fungerer?