Man page - pkgbuild(5)

Packages contains this manual

Available languages:

en fr pt_BR ro de

Manual

PKGBUILD

NOM
SYNOPSIS
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 .