MAKEPKG(8)

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
    Afficher la syntaxe et les options de la ligne de commande.

--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
    Clean build artifacts from previous runs of makepkg in the current directory by removing $srcdir before building the package.

-D <dir>, --dir <dir>
    Change to directory <dir> before reading the PKGBUILD or doing anything else.

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

--noverify
    Do not run the verify() function in the 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

MAKEPKG_LIBRARY="/path/to/directory"
    Use an alternative libmakepkg path instead of the /usr/share/makepkg default.

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.

MAKEPKG_LINT_PKGBUILD=0 Setting to 0 disables PKGBUILD linting within makepkg. Useful on systems with slow bash subshell operations, or on PKGBUILDs with extreme amounts of package splitting.

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.

17
    The local repository is not a clone of the source repository specified in PKGBUILD.

VOIR AUSSI

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

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.