[Howto] Skapa Arch Linux-programvarupaket och derivat

En av de saker jag gillar mest med Arch Linux och dess derivat är enorm lätthet för att skapa paket som senare ska installeras på systemet, till skillnad från de kända . Deb av Debian / Ubuntu / Linux Mint / etc är ett kaos (och om de är bibliotek berättar jag inte för dig).

En basmall skulle vara den här:

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

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

Nu kommer jag att förklara varje parameter:

  • # Underhållare: I den sätts namnet på underhållaren av paketet
  • packnamn: Paketets namn. Den kan bara innehålla bokstäver, siffror, -, _ och +
  • pkver: paketversion. pe 1.0.0
  • pkgrel: granskning av programmet eller paketet. pe 1
  • pkgdesc: paketbeskrivning.
  • båge: programmets arkitektur: det kan vara vilken som helst (för alla), i686 och x86_64, var som helst för paket som inte kräver kompilering, till exempel bas- eller python-program. Om det är ett program som behöver det (till exempel program i C eller C ++) måste du ange i686 om det gäller 32 bitar eller x86_64 för 64 bitar. I allmänhet, om den är kompatibel med båda är den inställd (i686, x86_64)
  • url: webbadressen till programmets officiella sida. Det är tillrådligt att uttrycka det.
  • licens: programlicensen. t.ex. GPL3
  • grupper: de grupper som paketet tillhör. grupper = ('system')
  • beror: i den anger vi de paket som behövs för genomförandet av programmet. pependens = ('python2' 'pygtk')
  • görberoende: beroenden som bara krävs för att kompilera paketet. Om koden ska laddas ner från en versionshanterare är det lämpligt att lägga den. pe: makedepends = ('git')
  • källa: i den anger vi de filer som är nödvändiga för att skapa paketet. Som en allmän regel är det webbadressen till paketet som innehåller koden, en korrigeringsfil, en .desktopt-fil, ikoner etc. pe: källa = (pacsyu.desktop)
  • md5summor: här är md5-summorna för de filer som anges i källan. Att veta vilka vi kör från en terminal i mappen där PKGBUILD är (efter att ha skrivit filvägarna i källan) makepkg -g och summan visas på skärmen.
    Det är också möjligt att använda andra summor som sh1.
  • bygga: i denna funktion kommer vi att sätta kommandon som krävs för att fortsätta kompilera programvaran. Om det inte är nödvändigt att kompilera är det bara nödvändigt följande funktion)
  • paket: i denna andra funktion kommer programinstallationskommandona att gå. Till exempel om vi sammanställer C-kod här skulle installationen gå.

Och för att avsluta måste vi bara köra makepkg för att verifiera att paketet genereras.
Som du kan se är det svårt för oss. Sedan lämnar jag dig med några extra parametrar för makepkg:

  • -jag: Instruerar makepkg att installera paketet efter att det har skapats.
  • -s: Installera paketberoenden om de finns i förvaren.
  • -F: Om det redan finns ett paket med det namnet, versionen och versionen med den här parametern ber vi dig skriva över det.
  • -c: Rengör arbetsmapparna (pkg och källa) när de är färdiga.
  • -A: Packa om paketet utan att behöva kompilera om.

Jag rekommenderar att du ser fler PKGBUILD-filer för att se fler exempel, kör kommandot makepkg -h för att se resten av programparametrarna, förutom att se makepkg officiell dokumentation på Arch Linux Wiki vad kan du hitta här


14 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   jamin samuel sade

    Mycket bra …

    Kan du göra ett .exe-paket som hanterar (kompilerar) till ett Arch-paket?

    Som till exempel den berömda nedladdningshanteraren Mipony ??

    1.    rätt sade

      Så vitt jag vet är det inte möjligt, kom ihåg att .exe är binära filer och inte källkod. Men det finns JDownloader.

    2.    v3 på sade

      någon använder Linux och saknar Myponi ... jijijijiji

      jDownloader är i java, och det är välkänt för alla att java ger cancer i lungorna ...

  2.   mjölkig28 sade

    intressant, vi skulle behöva testa paket Jag tror att jag kommer att vara benägen att göra den från qbittorrent hahaha finns redan i yaourt men att ha en egen version kommer inte att vara dåligt att testa, tack för informationen, hälsningar

  3.   MSX sade

    Bra input, +1
    Jag vill tillägga att de också är lättare att skapa och underhålla än Gentoo ebuilds!

    När det gäller Debian tror jag att denna distro skulle öka sitt handikapp enormt bara genom att modernisera eller migrera till ett mer modernt paket- och pakethanteringssystem, jag vet inte när den senaste uppdateringen av dpkg / apt-uppsättningen kommer att vara men konceptet borde redan ha lätt 15 år och sanningen är att idag är anakronistisk.

  4.   Rötter87 sade

    Tack så mycket, jag sökte lite efter det på wiki och jag hade inte förstått strukturen (jag ville uppdatera PlayonLinux-en) men jag gav fortfarande upp ... det finns saker där jag skulle vilja ha en assistent eller något liknande (skjut inte mig) men ändå ... i avsaknad av verktyg över tid kommer jag att se om jag skapar några

    1.    MSX sade

      Tack vare din guide började jag skapa Zeyas PKGBUILD (http://web.psung.name/zeya/) så snart jag är klar med den laddar jag upp den till AUR 🙂

  5.   hypersayan_x sade

    till skillnad från den välkända. deb av Debian / Ubuntu / Linux Mint / etc vilket är en röra

    Helt överens, för ett tag sedan försökte jag skapa ett paket för Ubuntu och det var omöjligt att hitta förståelig information om hur man skapar en, till slut gav jag upp och installerade programmet ungefär.
    Samma program för Arch tog mig mindre än 5 minuter att sätta ihop paketet.
    Och jag är inte säker men jag tror att RPM är något lättare att göra än DEB, men svårare än Arch.

  6.   hackloper775 sade

    Mycket bra och enkelt, och när det gäller .deb är det inte så svårt, ja det för iOS

    hälsningar

  7.   Carlos sade

    Jag tror att detta skulle ha tjänat mig för en tid sedan när jag laddade upp min första PKGBUILD till AUR 🙂

  8.   clerafel sade

    Kan någon förklara vad det är för mig, jag är ny och jag vet inte om det hjälper mig att installera ett .deb-paket men lokalt i manjaro, ett spel för att vara exakt. Ja det funkar?