AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

dpkg-buildflags - En ligne dans le Cloud

Exécutez dpkg-buildflags dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande dpkg-buildflags qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


dpkg-buildflags - renvoie les indicateurs de construction à utiliser lors de la construction du package

SYNOPSIS


dpkg-buildflags [option...] [commander]

DESCRIPTION


dpkg-buildflags est un outil pour récupérer les drapeaux de compilation à utiliser lors de la construction de Debian
paquets. Les drapeaux par défaut sont définis par le fournisseur, mais ils peuvent être étendus/remplacés
de plusieurs manières:

1. à l'échelle du système avec /etc/dpkg/buildflags.conf;

2. pour l'utilisateur actuel avec $XDG_CONFIG_HOME/dpkg/buildflags.conf De
$XDG_CONFIG_HOME Par défaut $HOME/.config;

3. temporairement par l'utilisateur avec des variables d'environnement (voir section ENVIRONNEMENT);

4. dynamiquement par le mainteneur du paquet avec des variables d'environnement définies via
debian/règles (voir section ENVIRONNEMENT).

Les fichiers de configuration peuvent contenir deux types de directives :

SET drapeau Plus-value
Remplacer le drapeau nommé drapeau avoir la valeur Plus-value.

STRIP drapeau Plus-value
Bande du drapeau nommé drapeau tous les indicateurs de construction répertoriés dans Plus-value.

AJOUTER drapeau Plus-value
Étendre le drapeau nommé drapeau en ajoutant les options données dans Plus-value. Un espace est
ajouté à la valeur ajoutée si la valeur actuelle de l'indicateur n'est pas vide.

PRÉPENDRE drapeau Plus-value
Étendre le drapeau nommé drapeau en préfixant les options données dans Plus-value. Un espace est
ajouté à la valeur ajoutée si la valeur actuelle du drapeau n'est pas vide.

Les fichiers de configuration peuvent contenir des commentaires sur les lignes commençant par un dièse (#). Vide
les lignes sont également ignorées.

COMMANDES


--décharger Imprimer sur la sortie standard tous les indicateurs de compilation et leurs valeurs. Il imprime un drapeau
par ligne séparée de sa valeur par un signe égal ("drapeau=Plus-value»). C'est le
action par défaut.

--liste Imprimez la liste des drapeaux pris en charge par le fournisseur actuel (un par ligne). Voir le
PRISE EN CHARGE DRAPEAUX section pour plus d'informations à leur sujet.

--statut
Afficher toute information pouvant être utile pour expliquer le comportement de
dpkg-buildflags (depuis dpkg 1.16.5) : variables d'environnement pertinentes, en cours
fournisseur, état de tous les indicateurs de fonctionnalité. Imprimez également les drapeaux du compilateur résultants avec
leur origine.

Celui-ci est destiné à être exécuté à partir de debian/règles, de sorte que le journal de construction garde un clair
trace des drapeaux de construction utilisés. Cela peut être utile pour diagnostiquer des problèmes liés à
Eux.

--export=le format
Imprimer vers des commandes de sortie standard qui peuvent être utilisées pour exporter toute la compilation
indicateurs pour un outil particulier. Si la le format la valeur n'est pas donnée, sh est assumé.
Seuls les indicateurs de compilation commençant par un caractère majuscule sont inclus, les autres
sont supposés ne pas être adaptés à l'environnement. Formats pris en charge :

sh Commandes Shell pour définir et exporter tous les indicateurs de compilation dans le
environnement. Les valeurs d'indicateur sont citées afin que la sortie soit prête pour
évaluation par un shell.

cmdline
Arguments à passer à la ligne de commande d'un programme de build pour utiliser tous les
indicateurs de compilation (depuis dpkg 1.17.0). Les valeurs des drapeaux sont citées dans le shell
syntaxe.

configurer
Il s'agit d'un alias hérité pour cmdline.

faire Créez des directives pour définir et exporter tous les indicateurs de compilation dans le
environnement. La sortie peut être écrite dans un fragment de makefile et évaluée
au moyen d'un comprendre Directive.

--obtenir drapeau
Imprimer la valeur du drapeau sur la sortie standard. Sort avec 0 si le drapeau est connu
sinon sort avec 1.

--origine drapeau
Imprimer l'origine de la valeur renvoyée par --obtenir. Sort avec 0 si le drapeau
est connu sinon sort avec 1. L'origine peut être l'une des valeurs suivantes :

vendeur l'indicateur d'origine défini par le fournisseur est renvoyé ;

combustion propre l'indicateur est défini/modifié par une configuration à l'échelle du système ;

utilisateur le drapeau est défini/modifié par une configuration spécifique à l'utilisateur ;

env l'indicateur est défini/modifié par une configuration spécifique à l'environnement.

--query-features la surface
Imprimer les fonctionnalités activées pour une zone donnée (depuis dpkg 1.16.2). Le seul
les domaines actuellement reconnus sur Debian et ses dérivés sont qa, reproductible, désinfecter
ainsi que durcissement, voir le CARACTÉRISTIQUES ZONES rubrique pour plus de détails. Sort avec 0 si le
la zone est connue sinon sort avec 1.

La sortie est au format RFC822, avec une section par fonctionnalité. Par exemple:

Caractéristique: tarte
Activé : non

Caractéristique: stackprotector
Activé : oui

--Aidez-moi Affichez le message d'utilisation et quittez.

--version
Affichez la version et quittez.

PRISE EN CHARGE DRAPEAUX


Drapeaux Options pour le compilateur C. La valeur par défaut définie par le fournisseur comprend -g et par
niveau d'optimisation par défaut (-O2 habituellement, ou -O0 si le DEB_BUILD_OPTIONS
variable d'environnement définit noop).

CPPFLAG
Options pour le préprocesseur C. Valeur par défaut : vide.

CXXFLAGS
Options pour le compilateur C++. Pareil que Drapeaux.

OBJCFLAGS
Options pour le compilateur Objective C. Pareil que Drapeaux.

OBJCXXFLAGS
Options pour le compilateur Objective C++. Pareil que CXXFLAGS.

GCJFLAGS
Options pour le compilateur GNU Java (gcj). Un sous-ensemble de Drapeaux.

DRAPEAU Options pour le compilateur Fortran 77. Un sous-ensemble de Drapeaux.

FCFLAG
Options pour le compilateur Fortran 9x. Pareil que DRAPEAU.

LDFLAG
Options passées au compilateur lors de la liaison d'exécutables ou d'objets partagés (si le
l'éditeur de liens est appelé directement, alors -Wl ainsi que , doivent être retirés de ces options).
Valeur par défaut : vide.

De nouveaux indicateurs pourraient être ajoutés à l'avenir si le besoin s'en fait sentir (par exemple pour prendre en charge d'autres
langues).

CARACTÉRISTIQUES ZONES


Chaque fonction de zone peut être activée et désactivée dans le DEB_BUILD_OPTIONS ainsi que
DEB_BUILD_MAINT_OPTIONS la valeur de zone de la variable d'environnement avec le '+' et '-' modificateur.
Par exemple, pour activer le durcissement fonction « tarte » et désactivez la fonction « fortifier » que vous
peut le faire dans debian/règles:

export DEB_BUILD_MAINT_OPTIONS=durcissement=+tarte,-fortifier

La particularité TOUTE (valable dans n'importe quelle zone) peut être utilisé pour activer ou désactiver toutes les zones
fonctionnalités en même temps. Désactivant ainsi tout dans le durcissement zone et permettre
seuls « formater » et « fortifier » peuvent être obtenus avec :

export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify

qa
Plusieurs options de compilation (détaillées ci-dessous) peuvent être utilisées pour aider à détecter les problèmes dans le
code source ou système de construction.

bug Ce paramètre (désactivé par défaut) ajoute toute option d'avertissement qui détecte de manière fiable
code source problématique. Les avertissements sont fatals.

canari Ce paramètre (désactivé par défaut) ajoute des options canary factices aux indicateurs de construction, donc
que les journaux de construction peuvent être vérifiés pour savoir comment les indicateurs de construction se propagent et pour autoriser
trouver toute omission des paramètres normaux de l'indicateur de construction. Le seul actuellement pris en charge
les drapeaux sont CPPFLAG, Drapeaux, OBJCFLAGS, CXXFLAGS ainsi que OBJCXXFLAGS avec des indicateurs définis sur
-D__DEB_CANARY_drapeau_identifiant-aléatoire__et LDFLAG ajuster à -Wl,-z,deb-canari-identifiant-aléatoire.

désinfecter
Plusieurs options de compilation (détaillées ci-dessous) peuvent être utilisées pour aider à assainir un résultat
binaire contre les corruptions de mémoire, les fuites de mémoire, l'utilisation après les courses de données libres et de thread et
bugs de comportement non définis.

propos
Ce paramètre (désactivé par défaut) ajoute -fsanitize=adresse à LDFLAG ainsi que
-fsanitize=adresse -fno-omettre-pointeur-de-cadre à Drapeaux ainsi que CXXFLAGS.

fil Ce paramètre (désactivé par défaut) ajoute -fsanitize=fil à Drapeaux, CXXFLAGS ainsi que
LDFLAG.

fuite Ce paramètre (désactivé par défaut) ajoute -fsanitize=fuite à LDFLAG. Il reçoit
automatiquement désactivé si le propos au sein de l’ fil les fonctionnalités sont activées, comme
ils l'impliquent.

indéfini
Ce paramètre (désactivé par défaut) ajoute -fsanitize=non défini à Drapeaux, CXXFLAGS
ainsi que LDFLAG.

durcissement
Plusieurs options de compilation (détaillées ci-dessous) peuvent être utilisées pour aider à durcir un résultat
binaire contre les attaques de corruption de mémoire, ou fournir des messages d'avertissement supplémentaires pendant
compilation. Sauf indication contraire ci-dessous, ceux-ci sont activés par défaut pour les architectures qui
Encouragez-les.

le format Ce paramètre (activé par défaut) ajoute -Wformat -Werror=format-sécurité à Drapeaux,
CXXFLAGS, OBJCFLAGS ainsi que OBJCXXFLAGS. Cela vous avertira d'une chaîne de format incorrecte
utilise, et échouera lorsque les fonctions de format sont utilisées d'une manière qui représente
problèmes de sécurité. À l'heure actuelle, cela met en garde contre les appels à printf ainsi que scanf fonctions
où la chaîne de format n'est pas un littéral de chaîne et il n'y a pas d'arguments de format,
un péché printf(foo); au lieu de printf("%s", foto); Cela peut être une faille de sécurité si le
la chaîne de format provient d'une entrée non approuvée et contient '%n'.

fortifier
Ce paramètre (activé par défaut) ajoute -D_FORTIFY_SOURCE=2 à CPPFLAG. Pendant le code
génération, le compilateur connaît beaucoup d'informations sur la taille des tampons (où
possible) et tente de remplacer les appels de fonction de tampon de longueur illimitée non sécurisés
avec des longueurs limitées. Ceci est particulièrement utile pour le code ancien et grossier.
De plus, les chaînes de formatage en mémoire inscriptible qui contiennent '%n' sont bloquées. Si
une application dépend d'une telle chaîne de format, elle devra être contournée.

Notez que pour que cette option ait un effet, la source doit également être compilée avec
-O1 ou plus. Si la variable d'environnement DEB_BUILD_OPTIONS contient noop, puis
fortifier le support sera désactivé, en raison de nouveaux avertissements émis par la glibc 2.16
et ensuite.

protecteur de pile
Ce paramètre (activé par défaut si stackprotectorstrong n'est pas utilisé) ajoute
-fstack-protecteur --param=ssp-buffer-size=4 à Drapeaux, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, DRAPEAU ainsi que FCFLAG. Cela ajoute des contrôles de sécurité contre la pile
écrase. Cela rend de nombreuses attaques potentielles par injection de code dans l'abandon
situations. Dans le meilleur des cas, cela transforme les vulnérabilités d'injection de code en déni
de service ou en non-émissions (selon l'application).

Cette fonctionnalité nécessite un lien avec la glibc (ou un autre fournisseur de
__stack_chk_fail), doit donc être désactivé lors de la construction avec -nostdlib or
-fautoportant ou similaire.

stackprotectorstrong
Ce paramètre (activé par défaut) ajoute -fstack-protecteur-fort à Drapeaux,
CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, DRAPEAU ainsi que FCFLAG. C'est un plus fort
variante de protecteur de pile, mais sans pénalités de performance significatives.

Désactiver protecteur de pile désactivera également ce paramètre.

Cette fonctionnalité a les mêmes exigences que protecteur de pile, et en plus aussi
nécessite gcc 4.9 et versions ultérieures.

relire Ce paramètre (activé par défaut) ajoute -Wl,-z,relro à LDFLAG. Pendant le programme
charge, plusieurs sections de mémoire ELF doivent être écrites par l'éditeur de liens. Ce drapeau
le chargeur de tourner ces sections en lecture seule avant de passer le contrôle au
programme. Cela empêche notamment les attaques par écrasement GOT. Si cette option est
désactivée, lier maintenant deviendra également invalide.

lier maintenant
Ce paramètre (désactivé par défaut) ajoute -Wl,-z, maintenant à LDFLAG. Pendant le chargement du programme,
tous les symboles dynamiques sont résolus, permettant à l'ensemble du PLT d'être marqué en lecture-
seulement (en raison de relire dessus). L'option ne peut pas être activée si relire n'est pas
activée.

tarte Ce paramètre (désactivé par défaut) ajoute -fPIE à Drapeaux, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, DRAPEAU ainsi que FCFLAGet -fPIE -tarte à LDFLAG. Position
Des exécutables indépendants sont nécessaires pour tirer parti de la disposition de l'espace d'adressage
Randomisation, prise en charge par certaines versions du noyau. Alors que l'ASLR peut déjà être
appliqué pour les zones de données dans la pile et le tas (brk et mmap), les zones de code doivent
être compilé comme indépendant de la position. Les bibliothèques partagées le font déjà (-fPIC), donc
ils gagnent ASLR automatiquement, mais les régions binaires .text doivent être construites PIE pour gagner
ASLR. Lorsque cela se produit, les attaques ROP (Return Oriented Programming) sont beaucoup plus difficiles
car il n'y a pas d'emplacements statiques sur lesquels rebondir lors d'une corruption de mémoire
attaque.

Ce n'est pas compatible avec -fPIC il faut donc faire attention lors de la construction partagée
objets.

De plus, comme PIE est implémenté via un registre général, certaines architectures
(plus particulièrement i386) peut voir des pertes de performances allant jusqu'à 15% dans des segments de texte très
charges de travail d'application lourdes ; la plupart des charges de travail voient moins de 1%. Architectures avec
les registres plus généraux (par exemple amd64) ne voient pas une pénalité aussi élevée dans le pire des cas.

reproductible
Les options de compilation détaillées ci-dessous peuvent être utilisées pour aider à améliorer la reproductibilité de la construction
ou fournir des messages d'avertissement supplémentaires lors de la compilation. Sauf indication contraire ci-dessous, ces
sont activés par défaut pour les architectures qui les prennent en charge.

intemporel
Ce paramètre (activé par défaut) ajoute -Wdate-heure à CPPFLAG. Cela provoquera
avertissements lorsque le __TEMPS__, __DATE__ ainsi que __TIMESTAMP__ des macros sont utilisées.

ENVIRONNEMENT


Il y a 2 ensembles de variables d'environnement faisant les mêmes opérations, le premier
(DEB_drapeau_op) ne doit jamais être utilisé dans debian/règles. Il est destiné à tout utilisateur qui souhaite
pour reconstruire le package source avec différents indicateurs de construction. Le deuxième ensemble
(DEB_drapeau_ENTRETIEN_op) ne doit être utilisé que dans debian/règles par les responsables du paquet pour changer
les indicateurs de construction résultants.

DEB_drapeau_ENSEMBLE
DEB_drapeau_MAINT_SET
Cette variable peut être utilisée pour forcer la valeur retournée pour le donné drapeau.

DEB_drapeau_DÉSHABILLER
DEB_drapeau_MAINT_STRIP
Cette variable peut être utilisée pour fournir une liste d'options séparées par des espaces qui seront
supprimé de l'ensemble d'indicateurs renvoyé pour le drapeau.

DEB_drapeau_AJOUTER
DEB_drapeau_MAINT_APPEND
Cette variable peut être utilisée pour ajouter des options supplémentaires à la valeur renvoyée pour
le donné drapeau.

DEB_drapeau_PRÉPENDRE
DEB_drapeau_MAINT_PREPEND
Cette variable peut être utilisée pour ajouter des options supplémentaires à la valeur renvoyée
pour le donné drapeau.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
Ces variables peuvent être utilisées par un utilisateur ou un mainteneur pour désactiver/activer diverses zones
fonctionnalités qui affectent les indicateurs de construction. Les DEB_BUILD_MAINT_OPTIONS remplacements de variables
n'importe quel paramètre dans le DEB_BUILD_OPTIONS zones de fonctionnalité. Voir le CARACTÉRISTIQUES ZONES
pour en savoir plus.

Utilisez dpkg-buildflags en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad