NOM¶
makepkg - utilitaire de construction de paquetage
SYNOPSIS¶
makepkg [options] [ENVVAR=value] [ENVVAR+=value] ...
DESCRIPTION¶
makepkg est un script qui automatise la construction des
paquetages. Tout ce dont vous avez besoin est un Linux prêt à
compiler et un script de compilation personnalisé pour chaque
paquetage que vous souhaitez construire (comme PKGBUILD). Voir
PKGBUILD(5) pour les détails de création de vos propres
scripts de compilation.
L'avantage d'une compilation avec un script est que vous ne devrez
faire ce travail qu'une seule fois. Une fois le script de compilation
écrit, makepkg fait le reste : télécharge et
valide les fichiers sources, vérifie les dépendances,
configure les paramètres de compilation du paquetage, installe les
paquetages dans un répertoire temporaire, fait les personnalisations,
compose les méta-info et emballe le tout pour une utilisation par
pacman.
Note
makepkg utilise votre langue (locale) par défaut et
ne change pas lors de la contruction d'un paquetage. Si vous souhaitez
partager l'affichage avec d'autres pour demander de l'aide ou autre, vous
pouvez le lancer comme ça : "LC_ALL=C makepkg" et vos logs
ne seront pas localisés.
OPTIONS¶
-A, --ignorearch
Ignore un champ Arch manquant ou incomplet dans le script
de compilation. Cela permet de reconstruire les paquetages depuis des PKGBUILD
un peu anciens ou périmés, grâce au champ
arch=('votrearch').
-c, --clean
Supprime les fichiers et répertoires de travail si
la compilation est réussie.
--config <fichier>
Utilise un fichier de configuration alternatif au
/etc/makepkg.conf par défaut.
-d, --nodeps
Ne vérifie pas les dépendances. Cette
option vous permet de passer outre les dépendances. Il est probable
qu'avec cette option le processus de compilation échoue si des
dépendances requises sont absentes de votre système.
-e, --noextract
Do not extract source files or run the prepare() function
(if present); use whatever source already exists in the $srcdir/ directory.
This is handy if you want to go into $srcdir/ and manually patch or tweak
code, then make a package out of the result. Keep in mind that creating a
patch may be a better solution to allow others to use your PKGBUILD.
--verifysource
Pour chaque fichier apparaissant dans la table du
PKGBUILD, charge le fichier si nécessaire et procède aux tests
d'intégrité. N'effectue ni extraction ni compilation. Les
dépendances spécifiées dans le PKGBUILD ne seront actives
que si l'option --syncdeps est précisée. Pratique pour
l'exécution des installations hors-connection.
-f, --force
makepkg ne construit pas de paquetage si un paquetage
existe déjà dans le répertoire PKGDEST (voir le
makepkg.conf(5)), qui est par défaut le répertoire en
cours. Cette option force la construction du paquetage.
-g, --geninteg
For each source file in the source array of PKGBUILD,
download the file if required and generate integrity checks. The integrity
checks generated are determined by the checks present in the PKGBUILD, falling
back to the value of the INTEGRITY_CHECK array in
makepkg.conf(5) if these are
absent This output can be redirected into your PKGBUILD for source validation
using "makepkg -g >> PKGBUILD".
--skipinteg
Court-circuite les tests d'intégrité des
fichiers sources (somme de contrôle et signature PGP).
--skipchecksums
Ne vérifie pas les sommes de contrôle des
fichiers sources.
--skippgpcheck
Ne vérifie pas les signatures PGP des fichiers
sources.
-h, --help
Affiche la syntaxe et les options possibles.
--holdver
En cas d'utilisation de sources VCS (
PKGBUILD(5)),
tout source soumis à contrôle ne sera pas mis à jour avec
la dernière version.
-i, --install
Installe ou met à jour le paquetage en cas de
résolution réussie des dépendances, grâce à
pacman(8).
-L, --log
Enable logging. This will use the tee program to
send the output of each of the PKGBUILD functions to both the console and to a
text file in the build directory named
pkgbase-pkgver-pkgrel-arch-<function>.log. As mentioned above, the logs
will be localized so you may want to set your locale accordingly if sharing
the log output with others.
-m, --nocolor
Désactive les couleurs dans les messages.
-o, --nobuild
Download and extract files, run the prepare() function,
but do not build them. Useful with the --noextract option if you wish
to tweak the files in $srcdir/ before building.
-p <buildscript>
Read the package script buildscript instead of the
PKGBUILD default; see
PKGBUILD(5). The buildscript must be located in
the directory makepkg is called from.
-r, --rmdeps
Une fois la compilation réussie, supprime toutes
les dépendances installées par makepkg avec les options
d'auto-résolution des dépendances et d'installation lors de
l'utilisation de -s.
-R, --repackage
Repackage contents of the package without rebuilding the
package. This is useful if you forgot, for example, a dependency or install
file in your PKGBUILD and the build itself will not change.
-s, --syncdeps
Installe les dépendances manquantes en utilisant
pacman. Quand une dépendance de compilation ou d'exécution est
trouvée, pacman va tenter de la résoudre. S'il y réussit,
pacman va télécharger les dépendances et les
installer.
-S, --source
Do not actually build the package, but build a
source-only tarball that does not include sources that can be fetched via a
download URL. This is useful for passing a single tarball to another program
such as a chroot, remote builder, or a tarball upload. Because integrity
checks are verified, all source files of the package need to be present or
downloadable.
-V, --version
Afficher les informations de version.
-C, --cleanbuild
Efface le réportoire $srcdir avant de construire
le paquetage.
--allsource
Do not actually build the package, but build a
source-only tarball that includes all sources, including those that are
normally downloaded via makepkg. This is useful for passing a single tarball
to another program such as a chroot or remote builder. It will also satisfy
requirements of the GPL when distributing binary packages.
--check
Lance la fonction check() dans le PKGBUILD, passant outre
la configuration donnée par
makepkg.conf(5).
--noarchive
Ne crée pas d'archive à l'issue de la
construction, ce qui peut être utile pour tester la fonction package()
ou si votre distribution-cible n'utilise pas l'utilitaire pacman.
--nocheck
Ne lance pas la fonction check() dans le PKGBUILD, et
donc ne tient pas compte des résultats des tests.
--noprepare
N'exécute pas la fonction prepare() dans le
PKGBUILD.
--sign
Authentifie le paquetage produit grâce à
GPG, quelles que soient les directives de
makepkg.conf(5) sur ce
point.
--nosign
N'authentifie pas par clef le paquetage produit.
--key <clef>
Précise la clef d'authentification à
utiliser, passant outre les directivesGPGKEY de
makepkg.conf(5) sur ce
point. Si aucune clef n'est donnée, la clef du trousseau sera
utilisée.
--noconfirm
(Passé à pacman) Prévient pacman de
ne pas attendre de saisie de l'utilisateur pour pousuivre les
opérations.
--needed
(option transmise à pacman) Indique à
pacman de ne pas reconstruire une cible qui serait déjà à
jour (utilisé en conjonction avec -i / --install).
--asdeps
(option transmise à pacman) déploie les
paquetages en tant que non-explici- tement présents (utilisé en
conjonction avec -i / --install).
--noprogressbar
(Passé à pacman) Empêche pacman
d'afficher la barre de progression ; pratique si vous redirigez la sortie de
makepkg vers un fichier.
--packagelist
Énumère les noms des paquetages à
installer, sans cependant procéder à leur installation. Les noms
des paquetages sont produits sous le format PKGDEST et PKGEXT.
--printsrcinfo
Compose le fichier SRCINFO et le transfère vers la
sortie standard.
FONCTIONNALITES ADDITIONNELS¶
makepkg supporte la compilation de versions de
développement sans mise à jour de pkgver dans le PKGBUILD.
Naguère, il fallait pour ça l'utilitaire versionpkg.
Voir PKGBUILD(5) pour les détails de mise en œuvre dans
le développement du PKGBUILD.
REPETABILITE¶
makepkg est par construction compatible avec Reproducible Builds.
Si la variable d'environnement SOURCE_DATE_EPOCH est fournie, elle
sera transmise aux process-fils ; la durée de mise à jour et
les métadonnées du fichier de paquetage seront mise en
cohérence avec la date de référence
indiquée.
Si la variable d'environnement SOURCE_DATE_EPOCH n'est pas
précisée, makepkg utilisera sa date de référence
interne, sans toutefois mettre en cohérence les dates des sources
avant compilation.
VARIABLES D'ENVIRONNEMENT¶
PACMAN
Nom de la commande à utiliser pour vérifier
les dépendances manquantes et pour installer ou supprimer des
paquetages. Les options -Qq, -Rns, -S et -U de
Pacman’s doivent être prises en compte par cette commande. Si
cette variable n'est pas affectée ou vide, makepkg se rabattra sur
‘pacman’.
MAKEPKG_CONF="/chemin/vers/fichier"
Utilise un fichier de configuration spécifique au
lieu /etc/makepkg.conf par défaut.
PKGDEST="/chemin/vers/repertoire"
Répertoire destiné à recevoir les
paquetages créés. Déclaration ayant
précédence sur le nom de répertoire indiqué dans
makepkg.conf(5).
SRCDEST="/chemin/vers/repertoire"
Répertoire destiné à recevoir les
sources téléchargés. Déclaration ayant
précédence sur le nom de répertoire indiqué dans
makepkg.conf(5).
SRCPKGDEST="/chemin/vers/repertoire"
Répertoire destiné à recevoir les
sources. Déclaration ayant précédence sur le nom de
répertoire indiqué dans
makepkg.conf(5).
LOGDEST="/chemin/vers/repertoire"
Répertoire destiné à recevoir les
fichiers journaux. Déclaration ayant précédence sur le
nom de répertoire indiqué dans
makepkg.conf(5).
PACKAGER="André Dupneu
<andre@dupneu.com>"
Chaîne de caractères permettant
d'identifier le créateur du paquetage. Chaîne ayant
précédence sur celle indiquée dans
makepkg.conf(5).
BUILDDIR="/chemin/vers/repertoire"
Répertoire de construction du paquetage.
Déclaration ayant précédence sur le nom de
répertoire indiqué dans
makepkg.conf(5).
CARCH="(i686|x86_64)"
Force la compilation pour une architecture processeur
particulière. Utile pour la compilation multi-plateformes. Directive
prioritaire sur celles de
makepkg.conf(5).
PKGEXT=".pkg.tar.gz",
SRCEXT=".src.tar.gz"
Détermine l'algorithme de compression à
utiliser pour construire les paquets de sources ou de binaires. Passe outre la
valeur correspondante définie par
makepkg.conf(5).
GNUPGHOME="/path/to/directory"
Répertoire de stockage du trousseau de clef GPG
pour authentifier le paquetage.
GPGKEY="keyid"
Specify a key to use when signing packages, overriding
the GPGKEY setting in
makepkg.conf(5).
SOURCE_DATE_EPOCH="<date>"
Utilisé pour reproduire une installation.
BUILDTOOL="<name>"
The name of a tool ecosystem used to set up the build
environment. Used for defining a spec for reproducible builds, e.g. the
makepkg.conf(5) used.
BUILDTOOLVER="<version>"
The version of the $BUILDTOOL used.
CONFIGURATION¶
Voir makepkg.conf(5) pour plus de détails sur la
configuration de makepkg en utilisant le fichier makepkg.conf.
ERREURS¶
Avant de rendre la main, makepkg retourne un code
d'exécution:
0
Déroulement correct.
1
Échec pour une raison
indéterminée.
2
Error in configuration file.
3
User specified an invalid option.
4
Erreur dans une fonction-utilisateur du PKGBUILD.
5
Échec de création d'un paquetage
viable.
6
Un source ou un fichier auxiliaire cité dans le
fichier PKGBUILD est manquant.
7
Le répertoire PKGDIR n'existe pas
8
Échec d'installation des dépendances.
9
Échec de suppression de dépendances.
10
L'utilisateur à tenté de lancer makepkg en
tant qu'administrateur.
11
Droits de l'utilisateur insuffisants pour écrire
ou compiler dans un des répertoires indiqués.
12
Erreur de décodage de PKGBUILD.
13
Le paquetage déjà installé.
14
Le paquetage n'a pas pu être
installé.
15
Il manque des programmes indispensables à
makepkg.
16
La clef d'authentification GPG du paquetage est absente
ou incorrecte.
BOGUES¶
Bogues ? C'est une blague ; il n'y a pas de bogues
dans ce logiciel. Mais s'il y en a, envoyez un rapport de bogue contenant
autant de détails que possible dans la section Pacman du
système de suivi de bogues de Arch Linux.
AUTEURS¶
Développeurs actuels :
•Allan McRae <allan@archlinux.org>
•Andrew Gregory
<andrew.gregory.8@gmail.com>
•Eli Schwartz
<eschwartz@archlinux.org>
•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>
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.