summaryrefslogtreecommitdiffstats
path: root/man/fr/dpkg-buildflags.pod
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 09:40:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 09:40:31 +0000
commitb86570f63e533abcbcb97c2572e0e5732a96307b (patch)
treecabc83be691530ae685c45a8bc7620ccc0e1ebdf /man/fr/dpkg-buildflags.pod
parentInitial commit. (diff)
downloaddpkg-b86570f63e533abcbcb97c2572e0e5732a96307b.tar.xz
dpkg-b86570f63e533abcbcb97c2572e0e5732a96307b.zip
Adding upstream version 1.20.13.upstream/1.20.13upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/fr/dpkg-buildflags.pod')
-rw-r--r--man/fr/dpkg-buildflags.pod807
1 files changed, 807 insertions, 0 deletions
diff --git a/man/fr/dpkg-buildflags.pod b/man/fr/dpkg-buildflags.pod
new file mode 100644
index 0000000..09eb8a6
--- /dev/null
+++ b/man/fr/dpkg-buildflags.pod
@@ -0,0 +1,807 @@
+
+ *****************************************************
+ * GENERATED FILE, DO NOT EDIT *
+ * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
+ *****************************************************
+
+This file was generated by po4a(7). Do not store it (in VCS, for example),
+but store the PO file used as source file by po4a-translate.
+
+In fact, consider this as a binary, and the PO file as a regular .c file:
+If the PO get lost, keeping this translation up-to-date will be harder.
+
+=encoding UTF-8
+
+=head1 NOM
+
+dpkg-buildflags - Renvoie les options de compilation à utiliser pour la
+construction du paquet
+
+=head1 SYNOPSIS
+
+B<dpkg-buildflags> [I<option>...] [I<commande>]
+
+=head1 DESCRIPTION
+
+B<dpkg-buildflags> est un script qui permet de récupérer les options de
+compilation à utiliser pour la construction d'un paquet.
+
+Les drapeaux par défaut sont définis par le distributeur mais peuvent être
+étendus ou remplacés de plusieurs S<façons :>
+
+=over
+
+=item 1.
+
+pour tout le système avec S<B<%PKGCONFDIR%/buildflags.conf> ;>
+
+=item 2.
+
+pour l'utilisateur courant avec B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> où
+la valeur par défaut de B<$XDG_CONFIG_HOME> est S<B<$HOME/.config> ;>
+
+=item 3.
+
+temporairement par l'utilisateur avec des variables d'environnement (voir
+B<VARIABLES S<D'ENVIRONNEMENT>) ;>
+
+=item 4.
+
+dynamiquement par le responsable du paquet avec des variables
+d'environnement à l'aide de B<debian/rules> (voir B<VARIABLES
+D'ENVIRONNEMENT>).
+
+=back
+
+Les fichiers de configuration peuvent contenir quatre types de S<directives :>
+
+=over
+
+=item B<SET> I<drapeau valeur>
+
+Remplace le drapeau I<drapeau> par la valeur I<valeur>.
+
+=item B<STRIP> I<drapeau valeur>
+
+Retire du drapeau I<drapeau> tous les drapeaux de construction listés dans
+I<valeur>.
+
+=item B<APPEND> I<drapeau valeur>
+
+Étend le drapeau I<drapeau> avec les options indiquées dans I<valeur>. Une
+espace est ajoutée au début de ce qui est ajouté si la valeur actuelle du
+drapeau n'est pas vide.
+
+=item B<PREPEND> I<drapeau valeur>
+
+Préfixe le drapeau I<drapeau> avec les options indiquées dans I<valeur>. Une
+espace est ajoutée au début de ce qui est ajouté si la valeur actuelle du
+drapeau n'est pas vide.
+
+=back
+
+Les fichiers de configuration peuvent contenir des commentaires sur les
+lignes commençant par un dièse (#). Les lignes vides sont également
+ignorées.
+
+=head1 COMMANDES
+
+=over
+
+=item B<--dump>
+
+Affiche sur la sortie standard tous les drapeaux de compilation et leurs
+valeurs. Un drapeau par ligne est affiché, suivi de sa valeur, séparée par
+le caractère S<« égal »> S<(« I<drapeau>=I<valeur> »).> Il s'agit de l'action par
+défaut.
+
+=item B<--list>
+
+Affiche la liste des drapeaux gérés par le distributeur actuel (un par
+ligne). Voir la section B<DRAPEAUX GÉRÉS> pour plus d'informations sur
+chacun d'eux.
+
+=item B<--status>
+
+Affiche toute information utile pour expliquer le comportement de
+B<dpkg-buildflags> (depuis S<dpkg 1.16.5) :> variables d'environnement,
+distributeur actuel, état de tous les drapeaux de fonctionnalités. Affiche
+également les drapeaux de compilation résultants ainsi que leur origine.
+
+Cette option est destinée à être utilisée depuis B<debian/rules>, afin de
+garder dans le journal de construction une trace claire des drapeaux de
+compilation utilisés. Cela peut être utile pour diagnostiquer des problèmes
+qui y seraient liés.
+
+=item B<--export=>I<format>
+
+Affiche sur la sortie standard les commandes qui permettent d'exporter tous
+les drapeaux de compilation pour un outil particulier. Si I<format> n'est
+pas spécifié, sa valeur est B<sh>. Seuls les drapeaux de compilation
+commençant par une majuscule sont inclus, les autres étant supposés
+inadaptés à l'environnement. Formats pris en S<charge :>
+
+=over
+
+=item B<sh>
+
+Commandes shell pour définir et exporter tous les drapeaux de compilation
+dans l'environnement. Les valeurs drapeau sont protégées et ainsi la sortie
+est prête à être évaluée par un shell.
+
+=item B<cmdline>
+
+Arguments à passer à la ligne de commande d'un programme de construction
+pour utiliser tous les drapeaux de compilation (depuis S<dpkg 1.17.0).> Les
+valeurs drapeau sont protégées dans la syntaxe du shell.
+
+=item B<configure>
+
+C'est un ancien alias pour B<cmdline>.
+
+=item B<make>
+
+Directives de make pour définir et exporter tous les drapeaux de compilation
+dans l'environnement. La sortie peut être écrite dans un fragment de
+Makefile et évaluée en utilisant une directive B<include>.
+
+=back
+
+=item B<--get> I<drapeau>
+
+Affiche la valeur de ce drapeau sur la sortie standard. Retourne un code de
+sortie B<0> si le drapeau est connu et B<1> s'il est inconnu.
+
+=item B<--origin> I<drapeau>
+
+Affiche l'origine de la valeur renvoyée par B<--get>. Retourne un code de
+sortie B<0> si le drapeau est connu et B<1> s'il est inconnu. L'origine est
+une des valeurs S<suivantes :>
+
+=over
+
+=item B<vendor>
+
+le drapeau défini à l'origine par le distributeur est S<renvoyé ;>
+
+=item B<system>
+
+le drapeau est placé ou modifié par un réglage S<système ;>
+
+=item B<user>
+
+le drapeau est placé ou modifié par une configuration spécifique à
+S<l'utilisateur ;>
+
+=item B<env>
+
+le drapeau est placé ou modifié par une configuration spécifique dans
+l'environnement.
+
+=back
+
+=item B<--query>
+
+Affiche toute information utile pour expliquer le comportement du
+S<programme :> distributeur actuel, variables d'environnement, domaines des
+fonctionnalités, état de tous les drapeaux de fonctionnalités. Affiche
+également les drapeaux de compilation résultants ainsi que leur origine
+(depuis S<dpkg 1.19.0).>
+
+Par S<exemple :>
+
+ Vendor: Debian
+ Environment:
+ DEB_CFLAGS_SET=-O0 -Wall
+
+ Area: qa
+ Features:
+ bug=no
+ canary=no
+
+ Area: reproducible
+ Features:
+ timeless=no
+
+ Flag: CFLAGS
+ Value: -O0 -Wall
+ Origin: env
+
+ Flag: CPPFLAGS
+ Value: -D_FORTIFY_SOURCE=2
+ Origin: vendor
+
+=item B<--query-features> I<domaine>
+
+Affiche les fonctionnalités activées pour un domaine donné (depuis
+S<dpkg 1.16.2).> Les seuls domaines reconnus actuellement sur Debian et ses
+dérivés sont B<future>, B<qa>, B<reproducible>, B<sanitize> et B<hardening>,
+voir la section B<ZONES D'OPTION> pour plus de détails. Retourne un code de
+sortie B<0> si le domaine est connu et B<1> s'il est inconnu.
+
+L'affichage est dans le format RFC822, avec une section par
+fonctionnalité. Par S<exemple :>
+
+ Feature: pie
+ Enabled: yes
+
+ Feature: stackprotector
+ Enabled: yes
+
+=item B<--help>
+
+Affiche un message d'aide puis quitte.
+
+=item B<--version>
+
+Affiche le numéro de version puis quitte.
+
+=back
+
+=head1 DRAPEAUX GÉRÉS
+
+=over
+
+=item B<CFLAGS>
+
+Options du S<compilateur C.> La valeur par défaut définie par le distributeur
+comporte B<-g> et le niveau d'optimisation par défaut (B<-O2> en général, ou
+B<-O0> si la variable d'environnement B<DEB_BUILD_OPTIONS> contient
+I<noopt>).
+
+=item B<CPPFLAGS>
+
+Options du S<préprocesseur C.> Valeur par S<défaut : aucune.>
+
+=item B<CXXFLAGS>
+
+Options du S<compilateur C++.> Analogue à B<CFLAGS>.
+
+=item B<OBJCFLAGS>
+
+Options du compilateur S<Objective C.> Analogue à B<CFLAGS>.
+
+=item B<OBJCXXFLAGS>
+
+Options du compilateur S<Objective C++.> Analogue à B<CXXFLAGS>.
+
+=item B<GCJFLAGS>
+
+Options du compilateur Java GNU (gcj). Un sous-ensemble de B<CFLAGS>.
+
+=item B<DFLAGS>
+
+Options for the D compiler (ldc or gdc). Since dpkg 1.20.6.
+
+=item B<FFLAGS>
+
+Options du compilateur S<Fortran 77.> Un sous-ensemble de B<CFLAGS>.
+
+=item B<FCFLAGS>
+
+Options du compilateur S<Fortran 9x.> Analogue à B<FFLAGS>.
+
+=item B<LDFLAGS>
+
+Options passées au compilateur lors du processus de liaison des exécutables
+ou des objets partagés (si le linker est appelé directement, alors B<-Wl> et
+B<,> doivent être retirés de ces options). Valeur par S<défaut : aucune.>
+
+=back
+
+De nouveaux drapeaux pourront être ajoutés si besoin est (par exemple pour
+la prise en charge de nouveaux langages).
+
+=head1 ZONES D'OPTION
+
+Chaque option de zone peut être activée ou désactivée avec les valeurs
+B<DEB_BUILD_OPTIONS> et B<DEB_BUIL_MAINT_OPTIONS> de l'espace de variables
+d'environnement grâce aux modificateurs S<« B<+> »> et S<« B<-> ».> Par exemple,
+pour activer l'option B<hardening> S<« pie »> et désactiver l'option
+S<« fortify »,> il est possible d'indiquer cela dans S<B<debian/rules> :>
+
+ export DEB_BUILD_MAINT_OPTIONS=hardening=+pie,-fortify
+
+L'option spéciale B<all> (valable dans toutes les zones) peut être utilisée
+pour activer ou désactiver toutes les options de la zone à la fois. Ainsi,
+tout désactiver dans la zone B<hardening> en n'activant que S<« format »> et
+S<« fortify »> peut être réalisé S<avec :>
+
+ export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify
+
+=head2 future
+
+Plusieurs options de compilation (détaillées ci-dessous) peuvent être
+utilisées pour activer des fonctionnalités qui devraient être activées par
+défaut, mais ne peuvent pas l'être pour des raisons de compatibilité avec
+les versions précédentes.
+
+=over
+
+=item B<lfs>
+
+Ce paramètre (désactivé par défaut) active la prise en charge des gros
+fichiers (LFS) sur les architectures S<32 bits> où l'ABI n'inclut pas LFS par
+défaut, en ajoutant B<-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64> à
+B<CPPFLAGS>.
+
+=back
+
+=head2 qa
+
+Plusieurs options de compilation (détaillées ci-dessous) peuvent être
+utilisées pour détecter des problèmes dans le code source ou dans le système
+de construction.
+
+=over
+
+=item B<bug>
+
+Ce paramètre (désactivé par défaut) ajoute toutes les options
+d'avertissement détectant de façon fiable du code source problématique. Les
+avertissements sont fatals. Les seuls drapeaux actuellement gérés sont
+B<CFLAGS> et B<CXXFLAGS> avec des drapeaux définis à
+B<-Werror=array-bounds>, B<-Werror=clobbered>,
+B<-Werror=implicit-function-declaration> et
+B<-Werror=volatile-register-var>.
+
+=item B<canary>
+
+Ce paramètre (désactivé par défaut) ajoute des options détectrices
+S<« canary »> factices aux drapeaux de construction de telle sorte que les
+rapports de compilation permettront de vérifier la façon dont ces drapeaux
+se propagent et de repérer toute omission des paramètres de drapeaux
+habituels. Les drapeaux actuellement pris en charge sont B<CPPFLAGS>,
+B<CFLAGS>, B<OBJCFLAGS>, B<CXXFLAGS> ainsi que B<OBJCXXFLAGS>, avec les
+drapeaux définis à B<-D__DEB_CANARY_>I<flag>_I<random-id>B<__>, et
+B<LDFLAGS> paramétré à B<-Wl,-z,deb-canary->I<random-id>.
+
+=back
+
+=head2 sanitize
+
+Plusieurs options de compilation (détaillées ci-dessous) peuvent être
+utilisées pour aider à nettoyer le binaire compilé face aux corruptions de
+la mémoire, aux fuites de mémoire, à l'utilisation de mémoire après
+libération et à des bogues au comportement indéfini. S<B<Note> :> ces options
+ne devraient pas être utilisées pour des constructions en production car
+elles peuvent réduire la fiabilité du code, réduire la sécurité ou même les
+fonctionnalités.
+
+=over
+
+=item B<address>
+
+Ce paramètre (désactivé par défaut) ajoute B<-fsanitize=address> à
+B<LDFLAGS> et B<-fsanitize=address -fno-omit-frame-pointer> à B<CFLAGS> et
+B<CXXFLAGS>.
+
+=item B<thread>
+
+Ce paramètre (désactivé par défaut) ajoute B<-fsanitize=thread> à B<CFLAGS>,
+B<CXXFLAGS> et B<LDFLAGS>.
+
+=item B<leak>
+
+Ce paramètre (désactivé par défaut) ajoute B<-fsanitize=leak> à
+B<LDFLAGS>. Il est automatiquement désactivé si les fonctions B<address> ou
+B<thread> sont activées, parce qu'elles l'impliquent.
+
+=item B<undefined>
+
+Ce paramètre (désactivé par défaut) ajoute B<-fsanitize=undefined> à
+B<CFLAGS>, B<CXXFLAGS> et B<LDFLAGS>.
+
+=back
+
+=head2 compilation renforcée
+
+Plusieurs options de compilation (détaillées ci-dessous) peuvent être
+utilisées pour accroître la résistance du binaire compilé face aux attaques
+par corruption de la mémoire ou fournir des messages d'avertissement
+supplémentaires lors de la compilation. Sauf mention contraire (voir
+ci-dessous), ces options sont activées par défaut pour les architectures qui
+les gèrent.
+
+=over
+
+=item B<format>
+
+Ce réglage, activé par défaut, ajoute B<-Wformat -Werror=format-security> à
+B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS> et B<OBJCXXFLAGS>. Cela provoquera
+l'avertissement en cas d'utilisation de chaînes de formatage incorrectes et
+échouera si les fonctions de formatage sont utilisées d'une façon qui
+présente des risques pour la sécurité. Actuellement, ce réglage crée des
+avertissements pour les appels des fonctions B<printf> et B<scanf> lorsque
+la chaîne de formatage n'est pas une chaîne littérale et qu'aucun paramètre
+de formatage n'est utilisé (par exemple dans B<printf(foo);> au lieu de
+B<printf("%s", foo);>. Ce type de syntaxe peut créer un problème de sécurité
+si la chaîne de formatage vient d'une source non sûre et contient S<« %n ».>
+
+=item B<fortify>
+
+Ce réglage, activé par défaut, ajoute B<-D_FORTIFY_SOURCE=2> à
+B<CPPFLAGS>. Lors de la création du code, le compilateur connaît un nombre
+important d'informations relatives aux tailles de tampons (quand c'est
+possible) et tente alors de remplacer des appels de fonctions avec une
+taille illimitée de tampons, peu sûrs, par des appels avec des tampons de
+taille limitée. Cette fonctionnalité est particulièrement utile pour du code
+ancien et mal écrit. De plus, les chaînes de formatage dans la mémoire
+accessible en écriture qui contiennent S<« %n »> sont bloquées. Si une
+application dépend de telles chaînes de formatage, un contournement devra
+être mis en place.
+
+Veuillez noter que pour que cette option fasse effet, le source devra aussi
+être compilée avec B<-O1> ou plus. Si la variable d'environnement
+B<DEB_BUILD_OPTIONS> contient I<noopt>, la prise en charge de B<fortify>
+sera désactivée du fait des nouveaux avertissements émis par la glibc
+S<version 2.16> et ultérieure.
+
+=item B<stackprotector>
+
+Ce réglage (activé par défaut si stackprotectorstrong n'est pas employé),
+ajoute B<-fstack-protector --param=ssp-buffer-size=4> à B<CFLAGS>,
+B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> et
+B<FCFLAGS>. Il ajoute des contrôles liés aux réécritures de piles. Cela
+conduit des tentatives d'attaques par injection de code à terminer en
+échec. Dans le meilleur des cas, cette protection transforme une
+vulnérabilité d'injection de code en déni de service ou en non-problème
+(selon les applications).
+
+Cette fonctionnalité impose de lier le code à la glibc (ou toute autre
+bibliothèque fournissant B<__stack_chk_fail>) et doit donc être désactivée
+lorsque le code est construit avec B<-nostdlib>, B<-ffreestanding> ou
+équivalents.
+
+=item B<stackprotectorstrong>
+
+Ce réglage, activé par défaut, ajoute B<-fstack-protector-strong> à
+B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS>
+et B<FCFLAGS>. Il s'agit d'une version renforcée de B<stackprotector> qui
+n'affecte pas les performances de manière importante.
+
+Désactiver B<stackprotector> désactive également ce paramètre.
+
+Cette fonctionnalité a les même exigences que B<stackprotector>, en plus de
+nécessiter S<gcc 4.9> ou plus récent.
+
+=item B<relro>
+
+Ce réglage, activé par défaut, ajoute B<-Wl,-z,relro> à B<LDFLAGS>. Lors du
+chargement du programme, plusieurs parties de la mémoire ELF doivent être
+écrites par l'éditeur de liens. Ce réglage indique au chargeur de mettre ces
+sections en lecture seule avant de rendre le contrôle au
+programme. L'utilisation habituelle de ce réglage est la protection contre
+les attaques par réécriture GOT. Si cette option est désactivée, l'option
+B<bindnow> sera également désactivée.
+
+=item B<bindnow>
+
+Ce réglage, désactivé par défaut, ajoute B<-Wl,-z,now> à B<LDFLAGS>. Lors du
+chargement du programme, tous les symboles dynamiques sont résolus, ce qui
+permet au PLT (Procedure Linkage Table) entier d'être en lecture seule (du
+fait du réglage B<relro> ci-dessus). Cette option ne peut être activée si
+B<relro> ne l'est pas.
+
+=item B<pie>
+
+Ce réglage (sans option globale par défaut depuis S<dpkg 1.18.23,> parce qu'il
+est maintenant activé par défaut par gcc dans les architectures Debian
+amd64, arm64, armel, armhf, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386,
+mips, mipsel, mips64el, powerpc, ppc64, ppc64el, riscv64, s390x, sparc et
+sparc64) ajoute les options requises pour activer ou désactiver PIE
+(exécutable indépendant de l'emplacement) au moyen des fichiers de
+spécifications de gcc, si nécessaire, selon que gcc injecte sur cette
+architecture les drapeaux par lui-même ou non. Si le réglage est activé et
+que gcc injecte les drapeaux, il n'ajoute rien. Si le réglage est activé et
+que gcc n'injecte pas les drapeaux, il ajoute B<-fPIE> (au moyen de
+I<%PKGDATADIR%/pie-compiler.specs>) à B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>,
+B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> et B<FCFLAGS>, et B<-fPIE -pie> (au
+moyen de I<%PKGDATADIR%/pie-link.specs>) à B<LDFLAGS>. Si le réglage est
+désactivé et que gcc injecte les drapeaux, il ajoute B<-fno-PIE> (au moyen
+de I<%PKGDATADIR%/no-pie-compile.specs>) à B<CFLAGS>, B<CXXFLAGS>,
+B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> et B<FCFLAGS>, et
+B<-fno-PIE -no-pie> (au moyen de I<%PKGDATADIR%/no-pie-link.specs>) à
+B<LDFLAGS>.
+
+Les exécutables à position indépendante S<(« Position> Independent
+S<Executable »)> permettent d'utiliser la randomisation de l'organisation de
+l'espace d'adressage S<(ASLR : « Address> Space Layout S<Randomization »),> qui
+est gérée par certaines versions du noyau. Bien que ASLR puisse déjà être
+mise en œuvre pour les zones de données dans la pile et le tampon (brk et
+mmap), les zones de codes doivent être compilées comme indépendantes de la
+position. Les bibliothèques partagées font déjà cela (B<-fPIC>) ce qui
+permet automatiquement d'utiliser ASLR. Par contre les régions .text
+binaires doivent être construites en mode PIE pour mettre en œuvre ASLR. Une
+fois cela réalisé, les attaques ROP S<(« Return> Oriented S<Programming »)>
+deviennent plus difficiles car il n'existe pas d'emplacement statique d'où
+rebondir pendant une attaque par corruption de la mémoire.
+
+PIE n'est pas compatible avec B<fPIC>, aussi, en général, des précautions
+doivent être prises lors de la construction d'objets partagés. Mais comme
+les drapeaux PIE émis sont injectés par des fichiers de spécifications de
+gcc, il devrait toujours être sûr de les définir sans condition
+indépendamment du type d'objet en train d'être compilé ou lié.
+
+Les bibliothèques statiques peuvent être utilisées par des programmes ou
+d'autres bibliothèques partagées. Selon les drapeaux utilisés pour compiler
+tous les objets d'une bibliothèque statique, ces bibliothèques seront
+utilisables par divers ensembles S<d'objets :>
+
+=over
+
+=item B<none>
+
+Ne peut être lié ni à un programme PIE, ni à une bibliothèque partagée.
+
+=item B<-fPIE>
+
+Peut être lié à tout programme, mais pas à une bibliothèque partagée
+(recommandé).
+
+=item B<-fPIC>
+
+Peut être lié à tout programme et toute bibliothèque partagée.
+
+=back
+
+S'il est nécessaire de régler ces drapeaux manuellement, en contournant
+l'injonction des spécifications de gcc, il y a plusieurs choses à prendre en
+compte. Le passage sans condition et de façon explicite de B<-fPIE>,
+B<-fpie> ou B<-pie> à un système de construction en utilisant libtool est
+sûr dans la mesure où ces drapeaux seront retirés lors de la construction de
+bibliothèques partagées. Sinon, sur les projets qui construisent à la fois
+des programmes et des bibliothèques partagées, il faudrait s'assurer que,
+lors de la construction des bibliothèques partagées, B<-fPIC> soit toujours
+passé en dernier aux drapeaux de compilation tels que B<CFLAGS> (de sorte
+qu'il remplace tout B<-PIE> antérieur), et que B<-shared> soit passé en
+dernier aux drapeaux de création de lien tels que B<LDFLAGS> (de sorte qu'il
+remplace tout B<-pie> antérieur). S<B<Note> :> Cela ne devrait pas être
+nécessaire avec les mécanismes de spécification de gcc par défaut.
+
+De plus, comme la protection PIE est mise en œuvre à l'aide d'un registre
+global, certaines architectures privées de registre (mais plus i386 depuis
+les optimisations mises en œuvre dans S<gcc E<gt>= 5)> peuvent souffrir de
+pertes de performances allant jusqu'à S<15 %> sur des charges d'applications
+utilisant largement les segments de S<texte ;> le plus souvent, cette perte de
+performances n’excédera S<pas 1 %.> Pour des architectures offrant plus de
+registres globaux (par exemple amd64), cette pénalisation n'existe
+pratiquement pas.
+
+=back
+
+=head2 reproductible
+
+Les options de compilation (détaillées ci-dessous) peuvent aider à améliorer
+la reproductibilité de la construction ou fournir des messages
+d'avertissement supplémentaires lors de la compilation. Sauf mention
+contraire (voir ci-dessous), ces options sont activées par défaut pour les
+architectures qui les gèrent.
+
+=over
+
+=item B<timeless>
+
+Ce paramètre, activé par défaut, ajoute B<-Wdate-time> à B<CPPFLAGS>. Cela
+provoquera des avertissements quand les macros B<__TIME__>, B<__DATE__> et
+B<__TIMESTAMP__> sont utilisées.
+
+=item B<fixfilepath>
+
+This setting (enabled by default) adds
+B<-ffile-prefix-map=>I<BUILDPATH>B<=.> to B<CFLAGS>, B<CXXFLAGS>,
+B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and B<FCFLAGS> where
+B<BUILDPATH> is set to the top-level directory of the package being built.
+This has the effect of removing the build path from any generated file.
+
+Si à la fois B<fixdebugpath> et B<fixfilepath> sont définis, cette option a
+la priorité parce c'est un sur-ensemble du premier.
+
+=item B<fixdebugpath>
+
+Ce réglage, activé par défaut, ajoute
+B<-fdebug-prefix-map=>I<BUILDPATH>B<=.> à B<CFLAGS>, B<CXXFLAGS>,
+B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> et B<FCFLAGS> où
+B<BUILDPATH> est fixé sur le répertoire de plus haut niveau du paquet en
+construction. Cela a pour effet de retirer le chemin de construction de tous
+les symboles de débogage générés.
+
+=back
+
+=head1 ENVIRONNEMENT
+
+Deux jeux de variables d'environnement effectuent les mêmes opérations. Le
+premier (DEB_I<drapeau>_I<opération>) ne devrait jamais être utilisé depuis
+B<debian/rules>. Il est destiné aux utilisateurs souhaitant recompiler le
+paquet source avec des drapeaux de compilation modifiés. Le second
+(DEB_I<drapeau>_MAINT_I<opération>) ne doit être utilisé que dans
+B<debian/rules> par les responsables de paquets pour modifier les drapeaux
+de compilation concernés.
+
+=over
+
+=item B<DEB_>I<drapeau>B<_SET>
+
+=item B<DEB_>I<drapeau>B<_MAINT_SET>
+
+Cette variable permet de forcer la valeur renvoyée pour le I<drapeau>
+indiqué.
+
+=item B<DEB_>I<drapeau>B<_STRIP>
+
+=item B<DEB_>I<drapeau>B<_MAINT_STRIP>
+
+Cette variable peut être utilisée pour fournir une liste d'options (séparées
+par des espaces) qui seront retirées du jeu de drapeaux renvoyé pour le
+I<drapeau> indiqué.
+
+=item B<DEB_>I<drapeau>B<_APPEND>
+
+=item B<DEB_>I<drapeau>B<_MAINT_APPEND>
+
+Cette variable permet d'ajouter des options à la valeur renvoyée pour le
+I<drapeau> indiqué.
+
+=item B<DEB_>I<drapeau>B<_PREPEND>
+
+=item B<DEB_>I<drapeau>B<_MAINT_PREPEND>
+
+Cette variable permet de préfixer la valeur renvoyée pour le I<drapeau>
+indiqué par des options supplémentaires.
+
+=item B<DEB_BUILD_OPTIONS>
+
+=item B<DEB_BUILD_MAINT_OPTIONS>
+
+Ces variables peuvent être utilisées par un utilisateur ou un responsable de
+paquet pour activer ou désactiver différentes options de zone qui affectent
+les drapeaux de construction. La variable B<DEB_BUILD_MAINT_OPTIONS>
+outrepasse tous les paramètres de la zone d'options
+B<DEB_BUILD_OPTIONS>. Voir la section B<ZONES D'OPTION> pour plus de
+détails.
+
+=item B<DEB_VENDOR>
+
+Ce réglage définit l'éditeur S<(« vendor »)> actuel. Si cette valeur est vide,
+le contenu du fichier B<%PKGCONFDIR%/origins/default> est utilisé.
+
+=item B<DEB_BUILD_PATH>
+
+Cette variable configure le chemin de construction (depuis S<dpkg 1.18.8)> à
+utiliser avec des fonctions telles que B<fixdebugpath> de telle sorte
+qu'elles soient contrôlées par l'appelant. Cette variable est actuellement
+spécifique à Debian et à ses dérivés.
+
+=item B<DPKG_COLORS>
+
+Définit le mode de couleur (depuis S<dpkg 1.18.5).> Les valeurs actuellement
+acceptées sont B<auto> (par défaut), B<always> et B<never>.
+
+=item B<DPKG_NLS>
+
+Si cette variable est définie, elle sera utilisée pour décider l'activation
+de la prise en charge des langues (NLS S<– Native> Language Support), connu
+aussi comme la gestion de l'internationalisation (ou i18n) (depuis
+S<dpkg 1.19.0).> Les valeurs permises S<sont :> B<0> et B<1> (par défaut).
+
+=back
+
+=head1 FICHIERS
+
+=head2 Fichiers de configuration.
+
+=over
+
+=item B<%PKGCONFDIR%/buildflags.conf>
+
+Fichier de configuration pour l'ensemble du système.
+
+=item B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> or
+
+=item B<$HOME/.config/dpkg/buildflags.conf>
+
+Fichier de configuration propre à l'utilisateur
+
+=back
+
+=head2 Gestion de l'empaquetage
+
+=over
+
+=item B<%PKGDATADIR%/buildflags.mk>
+
+Fragment de fichier Makefile qui chargera (et facultativement exportera)
+dans les variables (depuis S<dpkg 1.16.1)> tous les drapeaux pris en charge par
+B<dpkg-buildflags>.
+
+=back
+
+=head1 EXEMPLES
+
+Pour passer des drapeaux de compilation à une commande de compilation dans
+un S<Makefile :>
+
+=over
+
+ $(MAKE) $(shell dpkg-buildflags --export=cmdline)
+
+ ./configure $(shell dpkg-buildflags --export=cmdline)
+
+=back
+
+Pour définir les drapeaux de compilation dans un script shell ou un fragment
+de shell, on peut utiliser B<eval> pour interpréter la sortie et exporter
+les drapeaux dans S<l'environnement :>
+
+=over
+
+ eval "$(dpkg-buildflags --export=sh)" && make
+
+=back
+
+ou définir les paramètres de position à passer à la S<commande :>
+
+=over
+
+ eval "set -- $(dpkg-buildflags --export=cmdline)"
+ for dir in a b c; do (cd $dir && ./configure "$@" && make); done
+
+=back
+
+=head2 Utilisation dans debian/rules
+
+Il faut appeler B<dpkg-buildflags> ou inclure B<buildflags.mk> à partir du
+fichier B<debian/rules> pour obtenir les drapeaux de compilation nécessaires
+à passer au système de construction. Veuillez noter que les anciennes
+versions de B<dpkg-buildpackage> (antérieures à S<dpkg 1.16.1)> exportaient ces
+drapeaux automatiquement. Néanmoins, il est déconseillé de dépendre de ce
+comportement parce qu'il casse l'appel manuel de B<debian/rules>.
+
+Pour les paquets avec des systèmes de construction du style autoconf, il est
+possible de passer les options appropriées à configure ou B<make>(1)
+directement, comme vu ci-dessus.
+
+Pour d'autres systèmes de construction ou si on souhaite un contrôle
+extrêmement précis sur le choix et la position où sont passés les drapeaux,
+B<--get> peut être utilisé. Autrement, il est possible d'inclure
+B<buildflags.mk> qui s'occupe de l'appel de B<dpkg-buildflags> et du
+placement des drapeaux de compilation dans les variables de make.
+
+Si vous voulez exporter tous les drapeaux de compilation dans
+l'environnement (où le système de construction peut les S<récupérer) :>
+
+=over
+
+ DPKG_EXPORT_BUILDFLAGS = 1
+ include %PKGDATADIR%/buildflags.mk
+
+=back
+
+Pour un contrôle supplémentaire sur ce qui est exporté, vous pouvez exporter
+manuellement les variables (puisque aucune n'est exportée par S<défaut) :>
+
+=over
+
+ include %PKGDATADIR%/buildflags.mk
+ export CPPFLAGS CFLAGS LDFLAGS
+
+=back
+
+Et enfin, vous pouvez bien sûr passer manuellement les drapeaux aux
+S<commandes :>
+
+=over
+
+ include %PKGDATADIR%/buildflags.mk
+ build-arch:
+ $(CC) -o hello hello.c $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
+
+=back
+
+
+=head1 TRADUCTION
+
+Ariel VARDI <ariel.vardi@freesbee.fr>, 2002.
+Philippe Batailler, 2006.
+Nicolas François, 2006.
+Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.