Een van de dingen die ik het leukst vind aan Arch Linux en zijn afgeleiden is de enorm gemak om pakketten te maken die later op het systeem worden geïnstalleerd, in tegenstelling tot de bekende . Deb van Debian / Ubuntu / Linux Mint / etc is dat een chaos (en als het bibliotheken zijn vertel ik het je niet eens).
Een basissjabloon zou dit zijn:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Nu zal ik elke parameter uitleggen:
- # Onderhouder: Hierin staat de naam van de onderhouder van het pakket
- pkgnaam: De naam van het pakket. Het mag alleen letters, cijfers, -, _ en + bevatten
- pkver: pakketversie. pe 1.0.0
- pkgrel: beoordeling van het programma of pakket. bijv. 1
- pkgdesc: pakketbeschrijving.
- boog: de architectuur van het programma: het kan elk zijn (voor iedereen), i686 en x86_64, elk voor pakketten die geen compilatie vereisen, zoals programma's in bash of python. Als het een programma is dat het nodig heeft (bijvoorbeeld programma's in C of C ++), moet je i686 aangeven als het voor 32 bits is of x86_64 voor 64 bits. In het algemeen, als het compatibel is met beide, is het ingesteld (i686, x86_64)
- url: de url naar de officiële pagina van het programma. Het is raadzaam om het te zeggen.
- licentie: de programma licentie. bijv. GPL3
- groepen: de groepen waartoe het pakket behoort. groups = ('systeem')
- hangt er van af: daarin geven we de pakketten aan die nodig zijn voor de uitvoering van het programma. pependens = ('python2' 'pygtk')
- afhankelijk zijn van: de afhankelijkheden die alleen nodig zijn om het pakket te compileren. Als de code moet worden gedownload van een versiemanager, is het raadzaam om deze te plaatsen. pe: makedepends = ('git')
- bron: daarin geven we de bestanden aan die nodig zijn voor het maken van het pakket. Als algemene regel is het de url naar het pakket die de code, een patch, een .desktopt-bestand, pictogrammen, enz. Bevat. pe: source = (pacsyu.desktop)
- md5sommen: hier zijn de md5-sommen van de bestanden aangegeven in de broncode. Om te weten welke we uitvoeren vanaf een terminal in de map waar de PKGBUILD is (na het schrijven van de bestandspaden in de broncode) makepkg-g en de sommen verschijnen op het scherm.
Het is ook mogelijk om andere sommen te gebruiken, zoals sh1. - bouwen: in deze functie plaatsen we de opdrachten die nodig zijn om door te gaan met het compileren van de software. Als het niet nodig is om te compileren, is alleen de volgende functie nodig)
- pakket: in deze andere functie gaan de programma-installatieopdrachten. Als we hier bijvoorbeeld C-code aan het compileren zijn, zou make install gaan.
En om te eindigen, moeten we het gewoon uitvoeren makepkg om te controleren of het pakket is gegenereerd.
Zoals u kunt zien, is het moeilijk voor ons. Dan laat ik je achter met wat extra parameters van makepkg:
- -ik: Geeft makepkg opdracht om het pakket te installeren nadat het is gemaakt.
- -S: Installeer de pakketafhankelijkheden als ze zich in de opslagplaatsen bevinden.
- -F: Als er al een pakket is met die naam, versie en revisie met deze parameter, dan vragen we je om het te overschrijven.
- -C: Reinig de werkmappen (pakket en bron) als u klaar bent.
- -EEN: Verpak het pakket opnieuw zonder opnieuw te hoeven compileren.
Ik raad aan om meer PKGBUILD-bestanden te zien om meer voorbeelden te zien, voer de opdracht uit makepkg -h om de rest van de programmaparameters te zien, naast het zien van de makepkg officiële documentatie over Arch Linux Wiki wat kun je vinden hier