ALPM-HOOKS(5) Manuel de Pacman ALPM-HOOKS(5)

alpm-hooks - format du fichier d'amorçage du gestionnaire de paquetages d'Arch Linux

[Trigger] (obligatoire, répétable)
Operation = Install|Upgrade|Remove (obligatoire, répétable)
Type = Path|Package (obligatoire)
Target = <Path|PkgName> (obligatoire, répétable)
[Action] (obligatoire)
Description = ... (optionnel)
When = PreTransaction|PostTransaction (obligatoire)
Exec = <Commande> (obligatoire)
Depends = <NomPaquet> (optionnel)
AbortOnFail (optionnel, PreTransaction uniquement)
NeedsTargets (optionnel)

libalpm, la bibliothèque d'Arch Linux, permet de spécifier des actions d'amorçage à lancer avant ou après les transactions de paquetage en fonction des paquetages ou des fichiers qui ont été modifiés. Les fichiers d'amorce ne comportent qu'une seule section [Action] qui décrit l'action à exécuter, et une ou plusieurs conditions [Trigger] décrivant pour quelles transactions il faut la déclencher.

Les conditions d'amorçage sont lues sur des fichiers situés dans le répertoire racine /usr/share/libalpm/hooks, ainsi que d'autres répertoires choisis définis dans le fichier de configuration pacman.conf(5) (le répertoire par défaut est /etc/pacman.d/hooks). Les noms de fichier doivent porter l'extension ".hook". Les actions d'amorçage sont lancées dans l'ordre lexicographique des noms des fichiers qui les décrivent, le suffixe n'entrant pas en ligne de compte pour ce tri.

Les fichiers d'amorçage doivent comporter au moins une section [Trigger] (déclencheur) qui détermine pour quelles transactions il faut la déclencher. Si plusieurs conditions [Trigger] sont indiquées, l'amorçage sera lancé dès que l'une des conditions sera remplie.

Operation = Install|Upgrade|Remove

Détermine le type d'opération visé par l'amorçage. Peut être spécifié plusieurs fois. Une installation est considérée comme une mise à jour (Upgrade) si le paquetage ou fichier est déjà présent sur le système, indépendamment du numéro de version du nouveau paquetage par rapport à celui de la version installée. Cela vaut également pour les conditions [Trigger] de type Path, si le fichier change de propriétaire entre les deux paquetages. Cette directive Operation est obligatoire.

Type = Path|Package

Indique si les transactions cibles sont des transactions de fichier ou des transactions de paquetages. Voir PRÉCAUTIONS pour le cas particulier des déclencheurs de type Path. On rencontre encore parfois dans certaines installations le type vieilli File à la place de Path : il devrait disparaître progressivement.

Target = <chemin|paquet>

Indique le nom du chemin ou paquetage visé par l'amorçage. Les chemins sont ceux des fichiers dans le fichier tar du paquetage ; il ne faut pas y inclure le répertoire-racine de l'installation. Il est possible d'utiliser des métacaractères, et d'exclure des fichiers ou des groupes de fichiers en faisant précéder leur nom d'un point d'exclamation. Obligatoire, peut être utilisé plusieurs fois par commande.

Description = ...

Champ descriptif optionnel qui décrit l'action exécutée par le déclencheur, utilisable pour l'interface utilisateur.

Exec = <commande>

Commande à exécuter. Les arguments de la commande sont séparés par des espaces. Compte tenu de cette convention, les valeurs contenant elles-mêmes des espaces devraient être protégée par des guillemets. Obligatoire.

When = PreTransaction|PostTransaction

Caractérise l'amorce comme antérieure ou postérieure à la transaction. Obligatoire.

Depends = <paquetage>

Paquetage à installer pour que l'amorçage fonctionne correctement.Peut être utilisé plusieurs fois, pour désigner plusieurs paquetages.

AbortOnFail

Aura pour effet d'interrompre la transaction si l'amorçage renvoie un code d'exécution non-nul. Ne s'applique qu'aux amorçages de PreTransaction.

NeedsTargets

Passe la liste des cibles d'amorçages détectées à l'entrée standard stdin du shell d'amorçage.

Il est possible de court-circuiter chaque amorçage en créant simplement un fichier vide de même nom dans un répertoire d'amorçage de plus haute priorité. On peut aussi faire pointer le fichier d'amorce vers /dev/null à l'aide d'un lien symbolique (cf. ln(1)).

# Force la synchronisation du disque pour limiter le risque de corruption de données.
[Trigger]
Operation = Install
Operation = Upgrade
Operation = Remove
Type = Package
Target = *
[Action]
Depends = coreutils
When = PostTransaction
Exec = /usr/bin/sync

Dans certains cas, les déclencheurs sur présence d'un fichier (type path) peuvent se comporter de façon imprévue. Les actions d'amorçage sont déclenchées en fonction de la liste de fichiers du paquetage installé, mis à niveau ou supprimé. Chaque fois que l'on installe ou met à niveau un fichier qui est extrait avec une extension .pacnew, c'est bien le nom original du fichier qui est testé pour déclencher l'amorçage. Quand on supprime un paquetage, tous les fichiers du paquetage peuvent déclencher un amorçage, qu'ils soient ou non effectivement présents sur le système de fichiers avant la suppression du paquetage.

Les amorçages de post-transaction ne seront pas lancés si, pour une raison ou une autre, la transaction s'interrompt avant la fin.

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