2.6 KiB
Specifications du format PAKVA v0.1
Le fichier PAKVA est un fichier qui définit les spécifications d'un logiciel. Il est utilisé par evezh pour chercher les dernières versions disponibles pour un logiciel et par govel pour construire les paquets. La syntaxe des fichiers PAKVA est prévue pour etre lisible en python et en bash.
Ce document décrit les différentes clés, fonctions et macros disponibles.
Structure générale
Les lignes commençant par # sont des commentaires
la syntaxe est de type clé=valeur (avec ou sans guillemets) les tableaux sont en style bash clé=(val1 val2 val3) les fonction sont en style bash fonction(){}
Clés disponibles
PAKVA dispose de nombreuses clé disponibles :
| Clé | Type | Obligatoire | Description |
|---|---|---|---|
name |
string | oui | Nom du paquet principal |
basename |
string | non | Nom utilisé pour les archives/source/builddir (défaut = $name) |
description |
string | non | Description du paquet |
packager |
string | non | Packager du paquet |
version |
string | oui | Version du logiciel |
revision |
int | non | Révision locale |
url |
string | non | Page d'accueil du logiciel |
source |
array | oui | Sources du paquets |
license |
string | non | Licence du logiciel |
depends |
array | oui | Dépendances d'utilisation |
make_depends |
array | non | Dépendances de construction |
check_depends |
array | non | Dépendances de test |
Fonctions disponibles
| Fonction | Obligatoire | Instructions |
|---|---|---|
build() |
oui | Compilation |
check() |
non | Tests |
pak() |
oui | Packaging |
pre_install() |
non | Avant installation |
post_install() |
non | Après installation |
pre_upgrade() |
non | Avant mise à jour |
post_upgrade() |
non | Après mise à jour |
pre_remove() |
non | Avant suppression |
post_remove() |
non | Après suppression |
Multi Packaging
On peut packager plus d'un paquet à partir d'un seul fichier PAKVA, et c'est assez simple.
la syntaxe devient :
pak:<name>()
pre_install:<name>()
post_install:<name>()
pre_upgrade:<name>()
post_upgrade:<name>()
pre_remove:<name>()
post_remove:<name>()
Macros disponibles
| Macro | Description |
|---|---|
$PAK |
Dossier global d'installation |
$SRC |
Dossier d'extraction des sources |
$TMP |
Dossier temporaire pour chaque pak:<name> |
name, $version, $revision, $basename |
Metadonnées du paquet principal |
pakname |
nom du paquet courant dans un pak:<name> |