MAKEPKG(8) Manuel de Pacman MAKEPKG(8)

makepkg - utilitaire de construction de paquetage

makepkg [options] [ENVVAR=value] [ENVVAR+=value] ...

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.

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

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.

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.

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.

Voir makepkg.conf(5) pour plus de détails sur la configuration de makepkg en utilisant le fichier makepkg.conf.

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.

makepkg.conf(5), PKGBUILD(5), pacman(8)

Consulter le site internet de pacman à l'adresse https://.archlinux.org/pacman/ pour de nouvelles informations sur pacman et ses outils associés.

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.

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.

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.

6 février 2024 Pacman 6.0.2