Man page - pkgbuild(5)
Packages contains this manual
Available languages:
en fr pt_BR ro deManual
PKGBUILD
NOMSYNOPSIS
DESCRIPTION
OPTIONS ET DIRECTIVES
FONCTIONS DE PRĂPARATION DE PAQUETAGE
SCISSION DE PAQUETAGE
SCRIPT DâINSTALLATION / MISE A JOUR / SUPPRESSION
INTĂGRER LES SOURCES DâUN VCS
EXEMPLE
VOIR AUSSI
BOGUES
AUTEURS
TRADUCTION
NOM
PKGBUILD - Package build description file
SYNOPSIS
PKGBUILD
DESCRIPTION
Lâobjectif de cette page de manuel est de dĂ©crire les rĂšgles concernant les fichiers PKGBUILD. Une fois que son fichier PKGBUILD est Ă©crit, le paquetage est construit avec makepkg et installĂ© avec pacman.
Note
Il y a un exemple PKGBUILD, utile comme modĂšle, dans /usr/share/pacman ainsi que dâautres fichiers modĂšles, tel le script dâinstall . Vous pouvez recopier le fichier PKGBUILD.proto dans un autre rĂ©pertoire de production de paquet et lâadapter Ă vos besoins.
OPTIONS ET DIRECTIVES
Cette page contient la liste des options et directives standards utilisables dans un PKGBUILD. Elles sont toutes reconnues et interprétées par makepkg et un certain nombre seront transférées littéralement dans le paquetage final.Un PKGBUILD fonctionnel doit au minimum comporter les champs pkgname , pkgver , pkgrel and arch .
Si vous avez besoin de crĂ©er vos propres variables pour la compilation, il est recommandĂ© de les faire prĂ©cĂ©der du prĂ©fixe _ (soulignĂ©). Cela Ă©vitera toute possibilitĂ© de conflit avec les variables internes Ă makepkg. Par exemple, pour stocker la version du noyau dans une variable, utilisez quelque chose comme â$_basekernverâ.
pkgname (liste)
Soit le nom dâun paquetage, soit une liste de noms pour les paquetages rĂ©partis. Les caractĂšres valides pour les items de cette liste sont les caractĂšres alphanumĂ©riques, ainsi que nâimporte lesquels des caractĂšres suivants : â@ . _ + -â. De plus, les noms ne doivent pas commencer par un tiret ou un point.
pkgver
La version du logiciel telle que lâa publiĂ©e lâauteur (e.g., 2.7.1 ). La variable ne doit contenir ni deux-points, ni barre oblique, ni tiret ni espace.
La variable pkgver peut ĂȘtre automatiquement mise Ă jour en fournissant une fonction pkgver() dans PKGBUILD qui affiche le nouveau numĂ©ro du paquetage. Elle est exĂ©cutĂ©e Ă la fin du tĂ©lĂ©chargement, de lâextraction des sources et de lâexĂ©cution de la fonction prepare() (sâil y en a une), elle peut donc utiliser ces fichiers pour dĂ©terminer le nouveau pkgver. Câest trĂšs utile avec des sources de systĂšmes Ă contrĂŽle de version (voir ci-aprĂšs).
pkgrel
Câest le numĂ©ro de version, spĂ©cifique Ă la distribution Arch Linux. Cela permet notamment au mainteneur du paquetage de mettre Ă jour les options de configuration du paquetage. Un pkgrel est typiquement Ă 1 dans sa premiĂšre diffusion et est incrĂ©mentĂ© Ă chaque mise Ă jour intermĂ©diaire du PKGBUILD. Câest un numĂ©ro, Ă©ventuellement complĂ©tĂ© dâun second numĂ©ro, avec un point de sĂ©paration entre les deux, de la forme x.y).
epoque
UtilisĂ© pour forcer la mise Ă jour du paquetage par pacman, mĂȘme si le numĂ©ro de version ne nĂ©cessite pas de mise Ă jour. Câest pratique quand le type de numĂ©ro de version dâun paquetage change (ou est alphanumĂ©rique). Voir pacman (8) pour plus dâinformations concernant la comparaison de version.
pkgdesc
Il sâagit ici en principe dâune brĂšve description du paquetage et de ses fonctionnalitĂ©s. Essayez de faire la description sur une seule ligne de texte (NdT : environ 100 caractĂšres maximum).
url
Ce champ contient lâURL optionnel qui peut ĂȘtre associĂ© avec lâempaquetage. Câest simplement lâadresse internet officielle du projet.
licence (table)
This field specifies the license(s) that apply to the package. If multiple licenses are applicable, list all of them: license=('GPL' 'FDL').
install
PrĂ©cise le fichier spĂ©cial dâinstallation qui nâest pas inclus dans le paquetage. Celui ci est dans le mĂȘme rĂ©pertoire que le PKGBUILD et sera copiĂ© dans le paquetage par makepkg. Il nâest pas nĂ©cessaire de lâinclure dans la variable source. (ex : install=$pkgname.install).
changelog
Fournit le fichier-journal des modifications Ă inclure dans le paquetage. Ce fichier devrait se terminer par un seul retour-chariot. Ce fichier doit ĂȘtre placĂ© dans mĂȘme rĂ©pertoire que le PKGBUILD et sera recopiĂ© dans le paquetage par makepkg. Il nâest pas nĂ©cessaire de lâinclure dans la liste des sources (ex : install=pkgname.install).
source (ligne)
La ligne source contient les fichiers requis pour la construction du paquetage. Les fichiers sources doivent ĂȘtre dans le mĂȘme rĂ©pertoire que le PKGBUILD, sinon ils doivent avoir leur URL complĂšte. Pour simplifier la maintenance de PKGBUILD, utilisez les variables $pkgname et $pkgver lorsque vous indiquez lâemplacement du tĂ©lĂ©chargement. Toute archive compressĂ©e sera automatiquement dĂ©compactĂ©e, Ă moins dâapparaĂźtre dans la liste noextract prĂ©sentĂ©e ci-aprĂšs.
Additional architecture-specific sources can be added by appending an underscore and the architecture name e.g., source_x86_64=() . There must be a corresponding integrity array with checksums, e.g. cksums_x86_64=() .
Il est aussi possible de modifier le nom du fichier tĂ©lĂ©chargĂ©, ce qui peut rendre service avec des URL non-classiques ou pour rĂ©cupĂ©rer diffĂ©rentes sources portant le mĂȘme nom. La syntaxe est : source=(ânom::urlâ) &.
makepkg peut aussi prendre en charge la compilation de versions de dĂ©veloppement en intĂ©grant des fichiers sources tĂ©lĂ©chargĂ©s de systĂšmes de contrĂŽle de version (VCS)&. Pour plus dâinformation, voir ci-aprĂšs INTĂGRER LES SOURCES DâUN VCS.
La commande makepkg reconnaĂźt les fichiers dâune liste de sources portant les extensions &.sig, .sign ou .asc comme des signatures PGP et elle sâen servira automatiquement pour vĂ©rifier lâintĂ©gritĂ© des fichiers sources correspondants.
validpgpkeys (liste)
Liste dâempreintes PGP. Si cette liste nâest pas vide, makepkg nâacceptera que les signatures des clefs Ă©numĂ©rĂ©es ici et ne tiendra pas compte des degrĂ©s de sĂ©curitĂ© des clefs du trousseau. Si le fichier source Ă©tait authentifiĂ© par une sous-clef, makepkg examinera quand mĂȘme sa clef primaireâ&.
Seules les empreintes de clef complĂštes sont acceptĂ©es. Elles doivent ĂȘtre en lettres majuscules et ne doivent pas contenir dâespace.
noextract (liste)
Les noms de fichiers présents dans cette liste doivent apparaßtre dans la ligne qui suit le mot-clef source, vu ci-dessus. Les fichiers listés ici ne seront pas extraits avec le reste des fichiers sources. Cela sert pour les paquetages utilisant directement des données compressées.
cksums (array)
This array contains CRC checksums for every source file specified in the source array (in the same order). makepkg will use this to verify source file integrity during subsequent builds. If SKIP is put in the array in place of a normal hash, the integrity check for that source file will be skipped. To easily generate cksums, run âmakepkg -g >> PKGBUILDâ. If desired, move the cksums line to an appropriate location. Note that checksums generated by "makepkg -g" should be verified using checksum values provided by the software developer.
md5sums, sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)
Alternative integrity checks that makepkg supports; these all behave similar to the cksums option described above. To enable use and generation of these checksums, be sure to set up the INTEGRITY_CHECK option in makepkg.conf (5).
groups (liste)
Liste de noms symboliques reprĂ©sentant des groupes de paquetages, ce qui vous permet dâinstaller plusieurs paquetages Ă la fois avec un seul champ. Par exemple, vous pourriez installer tous les paquetages KDE en installant le groupe kde .
arch (liste)
DĂ©finit les architectures pour lesquelles le paquetage est valable (par ex., arch=('i686' 'x86_64')). Les paquetages qui ne comportent aucun fichier dĂ©pendant dâune architecture devraient utiliser arch=('any'). Les caractĂšres autorisĂ©s pour les Ă©lĂ©ments de cette liste sont les caractĂšres alphanumĂ©riques et â_â.
backup (liste)
Une liste de noms, dĂ©pourvus de barre-oblique ( slash ) Ă lâinitiale, quâil faudra sauvegarder si le paquetage est supprimĂ© ou mis Ă jour. Est gĂ©nĂ©ralement utilisĂ© pour les paquetages plaçant des fichiers de configuration dans /etc. Voir CONFIGURATION dans la page man de pacman (8) pour de plus amples renseignements.
depends (liste)
Une liste de paquetages desquels dĂ©pend le paquetage compilĂ© et installĂ©. Les paquetages de cette liste doivent ĂȘtre entourĂ©s de simples guillemets et doivent contenir au moins le nom du paquetage. Vous pouvez aussi inclure la version requise sous cette forme : nom<>version , oĂč <> est un des trois comparateurs : >= (supĂ©rieur ou Ă©gal Ă ), <= (infĂ©rieur ou Ă©gale Ă ), ou = (Ă©gal Ă ).
On peut ajouter des dĂ©pendances dâarchitecture supplĂ©mentaires en complĂ©tant dâun caractĂšre soulignĂ© et du nom de lâarchitecture, par ex., depends_x86_64=() .
makedepends (liste)
Une liste de paquetages dont dépend le paquetage à compiler, mais non indispensables à son fonctionnement. Le format de la liste des paquetages est celui du champ depends.
On peut conditionner lâinstallation ( makedepends ) par la prĂ©sence dâautres architectures en complĂ©tant dâun caractĂšre soulignĂ© et du nom de lâarchitecture, par ex., makedepends_x86_64=() .
checkdepends (liste)
Une liste de paquetages dont dépend le paquetage pour passer les tests de bon fonctionnement, mais non indispensables au fonctionnement de celui-ci. Ces dépendances ne sont prises en compte que si la fonction check() est présente et que makepkg doit la lancer.
On peut ajouter des vĂ©rifications suplĂ©mentaires liĂ©es Ă une architecture en ajoutant un caractĂšre soulignĂ© suivi du nom de lâarchitecture, par ex&., checkdepends_x86_64=() .
optdepends (ligne)
Une liste de paquetages (avec les explications) qui ne sont pas essentiels pour une utilisation sommaire, mais qui peuvent ĂȘtre utiles Ă lâutilisation de ce paquetage. optdepends est utilisĂ© uniquement pour information et nâest pas utilisĂ© par pacman pendant la rĂ©solution des dĂ©pendances. La prĂ©sentation devra ressembler Ă ceci :
optdepends=('python: for library bindings')
Il est possible dâajouter des options en fonction dâune architecture particuliĂšre en ajoutant le nom de cetta architecture prĂ©cĂ©dĂ©e dâun caractĂšre soulignĂ©, par ex., optdepends_x86_64=() .
conflicts (ligne)
Une liste de paquetages qui entrent en conflit avec ce paquetage (câest-Ă -dire quâils ne peuvent pas cohabiter sur le systĂšme). Cette variable rĂ©pond aux mĂȘmes exigences que le champ depends hormis que vous ne pouvez pas prĂ©ciser les versions.
Il est possible de dĂ©clarer des conflits liĂ©s Ă une architecture particuliĂšre en ajoutant le nom de cette architecture prĂ©cĂ©dĂ©e dâun caractĂšre soulignĂ©.
provides (ligne)
Une liste dââdidentifiants virtuelsâ propres au paquetage. Cela permet quâun paquetage Ă©voque une liste de dĂ©pendances plutĂŽt que son propre nom directement. Par exemple, le paquetage dcron peut se dĂ©signer par le pseudonyme cron : tous les paquetages vont dĂ©pendre de cron au lieu de dcron OU fcron .
Les identifiants peuvent aussi incorporer un code de version. Par exemple, dcron peut fournir cron 2.0 pour satisfaire la dĂ©pendance cron>=2.0 demandĂ©e par un autre paquetage. Les solutions faisant intervenir les opĂ©rateurs â>â et â<â ne sont pas valables : il faut donner les noms de version des paquetages explicitement.
On peut ajouter dâautres actions spĂ©cifiques Ă une architecture en ajoutant le nom de cette architecture prĂ©cĂ©dĂ© dâun caractĂšre soulignĂ©, par ex., provides_x86_64=() .
replaces (ligne)
Câest une liste de paquetages que le paquetage devrait remplacer, il peut ĂȘtre utilisĂ© pour remplacer des paquetages renommĂ©s/retravaillĂ©s. Par exemple, si le paquetage nommĂ© j2re est renommĂ© en jre , cette directive permet aux futures mises Ă jour de continuer mĂȘme si le paquetage est modifiĂ©.
Sysupgrade est pour lâinstant la seule opĂ©ration de pacman qui se sert de ce champs. Une simple synchronisation ou une mise Ă jour ne sâen sert pas.
On peut conditionner des substitutions par la prĂ©sence dâune certaine architecture sur le systĂšme, en ajoutant le nom de cette architecture, prĂ©cĂ©dĂ© dâun caractĂšre soulignĂ©, par ex. replaces_x86_64=() .
options (array)
Ce champ permet dâoutrepasser les fonctionnalitĂ©s par dĂ©faut de makepkg lors de la crĂ©ation du paquetage. Pour ajouter une option, vous devez ajouter une des options suivantes dans la variable options. Pour inverser le comportement par dĂ©faut, mettez un â!â devant lâoption. PrĂ©cisez les options uniquement si vous souhaitez outrepasser les options de makepkg.conf (5). NOTE : force est une option spĂ©ciale utilisĂ© pour le PKGBUILD (5), Ă nâutiliser seulement si vous savez ce que vous faites.
strip
Permet dâallĂ©ger le code binaire et les bibliothĂšques des mnĂ©moniques dâĂ©dition de lien. Si toutefois vous utilisez frĂ©quemment un dĂ©buggeur pour les programmes ou les bibliothĂšques, il peut ĂȘtre utile de dĂ©sactiver cette option.
docs
Conserver les répertoires de documentation. Si vous souhaitez supprimer ces répertoires, placez !docs dans ce champ.
libtool
Conserver les fichiers libtool (.la) dans le paquetage. Précisez !libtool pour les supprimer.
staticlibs
Conserver les fichiers libtool (.la) dans le paquetage. PrĂ©cisez !staticlibs pour les supprimer (sâils sont remplacĂ©s par un Ă©quivalent).
emptydirs
Conserve les répertoires vides dans le paquetage.
zipman
Compresse les pages man et info avec gzip.
ccache
Permet dâutiliser ccache pour la compilation. Plus pratique dans sa forme nĂ©gative !ccache pour les paquetages qui ont des problĂšmes de compilation avec ccache.
distcc
Permet dâutiliser distcc pour la compilation. Plus pratique dans sa forme nĂ©gative !distcc avec les paquetages qui ont des problĂšmes de compilation avec distcc.
buildflags
Permet dâutiliser un makeflags particulier indiquĂ© dans makepkg.conf (5) pendant la compilation. Plus pratique dans sa forme nĂ©gative !makeflags avec les paquetages qui ont des problĂšmes de compilation avec les makeflags personnalisĂ©s comme -j2 (ou supĂ©rieur).
makeflags
Permet dâutiliser un makeflags utilisateur pendant la compilation, comme expliquĂ© dans dans makepkg.conf (5). Plus pratique dans sa forme nĂ©gative !makeflags avec les paquetages qui ont des problĂšmes de compilation avec les makeflags personnalisĂ©s comme -j2 (ou supĂ©rieur).
debug
Ajoute les indicateurs de dĂ©buggage utilisateur (DEBUG_CFLAGS, DEBUG_CXXFLAGS) aux indicateurs de compilation comme expliquĂ© dans makepkg.conf (5). EmployĂ© en conjonction avec lâoption âstripâ, crĂ©e un paquetage distinct contenant les symboliques de debuggage.
lto
Enable building packages using link time optimization. Adds -flto to both CFLAGS and CXXFLAGS.
FONCTIONS DE PRĂPARATION DE PAQUETAGE
Outre les directives prĂ©cĂ©dentes, les PKGBUILDs ont besoin dâun ensemble de fonctions leur donnant les instructions nĂ©cessaires pour construire et installer les paquetages. Au minimum le PKGBUILD doit contenir une fonction package() qui installe tous les fichiers du paquetage dans le rĂ©pertoire convenable, et accessoirement des fonctions prepare(), build() et check() pour crĂ©er les exĂ©cutables.
Ces fonctions sont directement lues et exĂ©cutĂ©es par makepkg, donc tout ce que bash ou le systĂšme a dĂ©jĂ interprĂ©tĂ© est utilisable dans ces fonctions. Sâil faut en plus des commandes exotiques, vĂ©rifier quâelles apparaissent dans la liste âmakedependsâ.
Si vous crĂ©ez vos propres variables pour lâune quelconque de ces fonctions, il est recommandĂ© dâutiliser un mot-clef Bash âlocalâ pour limiter leur portĂ©e Ă chacune de ces fonctions.
Fonction package()
The package() function is used to install files into the directory that will become the root directory of the built package and is run after all the optional functions listed below. The packaging stage is run using fakeroot to ensure correct file permissions in the resulting package. All other functions will be run as the user calling makepkg. This function is run inside $srcdir.
verify() Function
An optional verify() function can be specified to implement arbitrary source authentication. The function should return a non-zero exit code when verification fails. This function is run before sources are extracted. This function is run inside $startdir.
Fonction prepare()
An optional prepare() function can be specified in which operations to prepare the sources for building, such as patching, are performed. This function is run after the source extraction and before the build() function. The prepare() function is skipped when source extraction is skipped. This function is run inside $srcdir.
Fonction build()
The optional build() function is used to compile and/or adjust the source files in preparation to be installed by the package() function. This function is run inside $srcdir.
Fonction check()
An optional check() function can be specified in which a packageâs test-suite may be run. This function is run between the build() and package() functions. Be sure any exotic commands used are covered by the checkdepends array. This function is run inside $srcdir.
Toutes les variables prĂ©cĂ©dentes comme âpkgnameâ et âpkgverâ sont utilisables dans la fonction build . En complĂ©ment, makepkg dĂ©finit trois variables Ă utiliser pendant la compilation et lâinstallation :
srcdir
Cela pointe sur le rĂ©pertoire oĂč makepkg extrait ou copie tous les fichiers sources.
pkgdir
Cela pointe sur le rĂ©pertoire oĂč makepkg conditionne les paquetages installĂ©s. Ce rĂ©pertoire va devenir le rĂ©pertoire racine du paquetage. Cete variable ne devrait ĂȘtre utilisĂ©e que dans la fonction package().
startdir
Option dĂ©suĂšte, Ă proscrire dĂ©sormais. Contenait le chemin absolu oĂč PKGBUILD est situĂ©, lequel correspondait le plus souvent Ă la sortie de â$(pwd)â quand makepkg est lancĂ©.
SCISSION DE PAQUETAGE
makepkg permet la construction de plusieurs paquetages Ă partir dâun simple PKGBUILD. Il faut pour cela attribuer une liste de noms de paquetages Ă la variable pkgname. Chaque paquetage doit appeler une fonction de compilation propre, nommĂ©e package_foo(), oĂč âfooâ est le nom du paquetage scindĂ©.
Toutes les options et les directives pour les paquetages scindĂ©s sont par dĂ©faut celles du PKGBUILD. Cependant certaines peuvent ĂȘtre forcĂ©e pour chaque fonction de construction de paquetage scindĂ©. Les variables suivantes peuvent ĂȘtre forcĂ©es : âpkgdescâ, âlicenceâ, âgroupsâ, âdependsâ, âoptdependsâ, âprovidesâ, âconflictsâ, âreplacesâ, âbackupâ, âoptionsâ, âinstallâet âchangelogâ.
Observez que makepkg ne tient pas compte des dĂ©pendances des paquetages scindĂ©s lorsquâil vĂ©rifie si les dĂ©pendances sont en place avant la compilation avec --syncdeps. Tous les paquetages nĂ©cessaires pour produire chacun des paquetages scindĂ©s doivent ĂȘtre explicitĂ©s dans les dĂ©pendances globales et les listes de dĂ©pendances de compilation makedepends.
Une directive générale optionnelle est utilisable lors de la construction de paquetage scindé :
pkgbase
Le nom utilisĂ© pour dĂ©signer le groupe de paquetage dans lâaffichage par makepkg et pour le nom des tarball des sources. Si ce nâest pas indiquĂ©, le premier nom de la variable âpkgnameâ est utilisĂ©. Les caractĂšres valides pour les items de cette liste sont les caractĂšres alphanumĂ©riques, ainsi que nâimporte lesquels des caractĂšres suivants : â@ . _ + -â. De plus, les noms ne doivent pas commencer par un tiret ou un point.
SCRIPT DâINSTALLATION / MISE A JOUR / SUPPRESSION
Pacman a la facultĂ© de conserver et dâexĂ©cuter des scripts spĂ©cifiques par paquetage quand il installe, dĂ©sinstalle ou met Ă jour un paquetage. Cela permet au paquetage de se configurer tout seul aprĂšs lâinstallation et de faire exactement le contraire lors de sa dĂ©sinstallation.
La durĂ©e exacte dâexĂ©cution du script dĂ©pend de la nature de chaque opĂ©ration, et devrait ĂȘtre prĂ©visible. Notez quâau cours dâune opĂ©ration de mise Ă jour, aucune des fonctions dâinstallation ou de suppression ne sera appelĂ©e.
On comunique aux scripts un ou deux noms de version complets, un nom de version complet Ă©tant soit pkgver-pkgrel , soit (si epoque nâest pas nul) epoque:pkgver-pkgrel .
pre_install
Script ancĂ© avant lâextraction des fichiers. Un argument est passé : nouvelle version du paquetage.
post_install
Script lancĂ© aprĂšs lâextraction des fichiers. Retourne un seul argument : la nouvelle version du paquetage.
pre_upgrade
Script lancĂ© avant lâextraction des fichiers. Deux arguments de type chaĂźne de caractĂšres sont transmis : nouvelle version du paquetage, version ancienne du paquetage.
post_upgrade
Script lancĂ© aprĂšs lâextraction des fichiers. Transmet deux chaĂźnes de caractĂšres en argument : le nom de version complet de la nouvelle version, puis celui de lâancienne version du paquetage.
pre_remove
Script lancé avant la suppression des fichiers. Un argument est passé : ancienne version du paquetage.
post_remove
Script lancé aprÚs la suppression des fichiers. Un argument est passé : ancienne version du paquetage.
Pour utiliser cette option, vous devez crĂ©er un fichier pkgname.install et mettez le dans le mĂȘme rĂ©pertoire que le script PKGBUILD. Utilisez la variable install :
install=pkgname.install
Le script dâinstallation nâa pas besoin dâĂȘtre spĂ©cifiĂ© dans le champ source. Un modĂšle de fichier install est disponible dans lâarborescence ABS.
INTĂGRER LES SOURCES DâUN VCS
Building a developmental version of a package using sources from a version control system (VCS) is enabled by specifying the source in the form:
source=('directory::url#fragment?query')
Currently makepkg supports the Bazaar, Git, Subversion, Fossil and Mercurial version control systems. For other version control systems, manual cloning of upstream repositories must be done in the prepare() function.
Some VCS Sources like Git support pinning the checkout by a checksum of its content using deterministic export functionality like âgit archiveâ.
LâURL source comporte quatre composantes :
directory
(optionnel) PrĂ©cise le nom de rĂ©pertoire oĂč makepkg recopie les sources du VCS.
url
LâURL du dĂ©pĂŽt VCS, qui doit comporter le nom du VCS dans le protocole URL, afin que makepkg puisse lâidentifier comme source de VCS. Si le protocole nâincorpore pas de lui-mĂȘme le nom du VCS, on peut lâajouter en prĂ©fixant lâURL dâun vcs+. Par exemple, avec un dĂ©pĂŽt Git via un protocole HTTP, lâURL source serait de la forme : git+https://....
fragment
(optional) Allows specifying a revision number or branch for makepkg to checkout from the VCS. A fragment has the form type=value, for example to checkout a given revision the source line would be source=(url#revision=123). The available types depends on the VCS being used:
bzr
revision (voir 'bzr help revisionspec' pour les détails)
fossil
branch, commit, tag
git
branch, commit, tag
hg
branch, revision, tag
svn
révision
query
(optionnel) Permet dâindiquer sâil faut vĂ©rifier les certificats PGP des rĂ©visions dâun dĂ©pĂŽt VCS. La ligne source devrait avoir le format source(url#fragment?signed) ou source=(url?signed#fragment). Nâest pour lâinstant supportĂ© que par Git.
EXEMPLE
The following is an example PKGBUILD for the patch package. For more examples, look through the build files of your distributionâs packages.
# Maintainer: Joe User <joe.user@example.com>
pkgname=patch
pkgver=2.7.1
pkgrel=1
pkgdesc="A utility to apply patch files to original
sources"
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/patch/patch.html"
license=('GPL')
groups=('base-devel')
depends=('glibc')
makedepends=('ed')
optdepends=('ed: for "patch -e" functionality')
source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
sha256sums=('9124ba46db0abd873d0995c2ca880e81252676bb6c03e0a37dfc5f608a9b0ceb'
'SKIP')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
}
VOIR AUSSI
makepkg (8), pacman (8), makepkg.conf (5)
Consulter le site internet de pacman Ă lâadresse https://.archlinux.org/pacman/ pour de nouvelles informations sur pacman et ses outils associĂ©s.
BOGUES
Bogues ? Câest une blague ; il nây a pas de bogues dans ce logiciel. Mais sâil y en a, envoyez-les au systĂšme de suivi de bogues Ă lâadresse https://gitlab.archlinux.org/pacman/pacman/-/issues avec des informations spĂ©cifiques telles que votre ligne de commande, la nature du bogue et mĂȘme la base de donnĂ©es du paquetage si cela peut aider.
AUTEURS
Développeurs actuels :
âą Allan McRae <allan@archlinux.org>
âą Andrew Gregory <andrew.gregory.8@gmail.com>
âą Morgan Adamiec <morganamilo@archlinux.org>
Contributeurs antérieurs majeurs :
âą Judd Vinet <jvinet@zeroflux.org>
âą Aurelien Foret <aurelien@archlinux.org>
âą Aaron Griffin <aaron@archlinux.org>
âą Dan McGee <dan@archlinux.org>
âą Xavier Chantry <shiningxc@gmail.com>
âą Nagy Gabor <ngaba@bibl.u-szeged.hu>
âą Dave Reisner <dreisner@archlinux.org>
âą Eli Schwartz <eschwartz@archlinux.org>
Pour des contributeurs supplémentaires, utiliser git shortlog -s sur le dépÎt pacman.git.
TRADUCTION
La traduction française de cette page de manuel a été créée par Marc Poiroud <marci1@archlinux.fr> et Jean-Jacques Brioist <jean.brioist@numericable.fr>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .