EngelsFransSpaans

Ad


OnWorks-favicon

dpkg-buildflags - Online in de cloud

Voer dpkg-buildflags uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht dpkg-buildflags die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


dpkg-buildflags - retourneert buildvlaggen die gebruikt kunnen worden tijdens het bouwen van pakketten

KORTE INHOUD


dpkg-buildflags [optie...] [commando]

PRODUCTBESCHRIJVING


dpkg-buildflags is een hulpmiddel om compilatievlaggen op te halen voor gebruik tijdens de bouw van Debian
pakketjes. De standaardvlaggen worden door de leverancier gedefinieerd, maar kunnen worden uitgebreid/overschreven
op verschillende manieren:

1. systeembreed met /etc/dpkg/buildflags.conf;

2. voor de huidige gebruiker met $XDG_CONFIG_HOME/dpkg/buildflags.conf WAAR
$XDG_CONFIG_HOME standaard $HOME/.config;

3. tijdelijk door de gebruiker met omgevingsvariabelen (zie sectie MILIEU);

4. dynamisch door de pakketbeheerder met omgevingsvariabelen ingesteld via
debian/regels (Zie sectie MILIEU).

De configuratiebestanden kunnen twee soorten richtlijnen bevatten:

SET vlag waarde
Overschrijf de genoemde vlag vlag om de waarde te hebben waarde.

STRIP vlag waarde
Strip van de genoemde vlag vlag alle buildvlaggen vermeld in waarde.

APPEND vlag waarde
Verleng de genoemde vlag vlag door de opgegeven opties toe te voegen waarde. Een spatie is
wordt vóór de toegevoegde waarde geplaatst als de huidige waarde van de vlag niet leeg is.

ERVOOR vlag waarde
Verleng de genoemde vlag vlag door de gegeven opties voor te zetten waarde. Een spatie is
toegevoegd aan de voorafgaande waarde als de huidige waarde van de vlag niet leeg is.

De configuratiebestanden kunnen commentaar bevatten op regels die beginnen met een hekje (#). Leeg
lijnen worden ook genegeerd.

COMMANDO'S


--dumpen Druk alle compilatievlaggen en hun waarden af ​​naar standaarduitvoer. Er wordt één vlag afgedrukt
per regel gescheiden van de waarde door een gelijkteken (“vlag=waarde”). Dit is de
standaard actie.

--lijst Druk de lijst met vlaggen af ​​die door de huidige leverancier worden ondersteund (één per regel). Zie de
ONDERSTEUNDE VLAGGEN sectie voor meer informatie over hen.

--toestand
Geef alle informatie weer die nuttig kan zijn om het gedrag van te verklaren
dpkg-buildflags (sinds dpkg 1.16.5): relevante omgevingsvariabelen, actueel
leverancier, status van alle functievlaggen. Druk ook de resulterende compilervlaggen af ​​met
hun oorsprong.

Het is de bedoeling dat dit wordt uitgevoerd debian/regels, zodat het buildlogboek overzichtelijk blijft
spoor van de gebruikte buildvlaggen. Dit kan nuttig zijn bij het diagnosticeren van problemen die hiermee verband houden
Hen.

--exporteren=formaat
Afdrukken naar standaarduitvoeropdrachten die kunnen worden gebruikt om de hele compilatie te exporteren
vlaggen voor een bepaald hulpmiddel. Als de formaat waarde wordt niet gegeven, sh wordt verondersteld.
Alleen compilatievlaggen die beginnen met een hoofdletter zijn opgenomen, andere
Er wordt aangenomen dat deze niet geschikt zijn voor het milieu. Ondersteunde formaten:

sh Shell-opdrachten om alle compilatievlaggen in het
omgeving. De vlagwaarden worden tussen aanhalingstekens geplaatst, zodat de uitvoer gereed is
evaluatie door een shell.

cmdlijn
Argumenten om door te geven aan de opdrachtregel van een bouwprogramma om alle
compilatievlaggen (sinds dpkg 1.17.0). De vlagwaarden worden in shell geciteerd
syntaxis.

configureer
Dit is een oude alias voor cmdlijn.

maken Maak richtlijnen om alle compilatievlaggen in het bestand in te stellen en te exporteren
omgeving. Uitvoer kan naar een makefile-fragment worden geschreven en geëvalueerd
met een omvatten Richtlijn.

--krijgen vlag
Druk de waarde van de vlag af op standaarduitvoer. Sluit af met 0 als de vlag bekend is
anders wordt afgesloten met 1.

--oorsprong vlag
Druk de oorsprong af van de waarde die wordt geretourneerd door --krijgen. Sluit af met 0 als de vlag
is bekend, anders eindigt het met 1. De oorsprong kan een van de volgende waarden zijn:

verkoper de originele door de verkoper ingestelde vlag wordt geretourneerd;

system de vlag wordt ingesteld/gewijzigd door een systeembrede configuratie;

gebruiker de vlag wordt ingesteld/gewijzigd door een gebruikersspecifieke configuratie;

env de vlag wordt ingesteld/gewijzigd door een omgevingsspecifieke configuratie.

--query-functies gebied
Druk de functies af die voor een bepaald gebied zijn ingeschakeld (sinds dpkg 1.16.2). De enige
momenteel erkende gebieden op Debian en derivaten zijn qa, reproduceerbaar, ontsmetten
en verhardingZie de KENMERK GEBIEDEN sectie voor meer details. Sluit af met 0 als de
gebied is bekend, anders wordt afgesloten met 1.

De uitvoer is in RFC822-indeling, met één sectie per functie. Bijvoorbeeld:

Kenmerk: taart
Ingeschakeld: nee

Kenmerk: stapelbeschermer
Ingeschakeld: ja

--help Toon het gebruiksbericht en sluit af.

--versie
Toon de versie en sluit af.

ONDERSTEUNDE VLAGGEN


CLAGS Opties voor de C-compiler. De standaardwaarde die door de leverancier is ingesteld, omvat -g en
standaard optimalisatieniveau (-O2 meestal, of -O0 indien de DEB_BUILD_OPTIONS
omgevingsvariabele definieert noopt).

CPPFLAGEN
Opties voor de C-preprocessor. Standaardwaarde: leeg.

CXXVLAGS
Opties voor de C++-compiler. Hetzelfde als CLAGS.

OBJCFLAGS
Opties voor de Objective C-compiler. Hetzelfde als CLAGS.

OBJCXXVLAGGEN
Opties voor de Objective C++-compiler. Hetzelfde als CXXVLAGS.

GCJFLAGS
Opties voor de GNU Java-compiler (gcj). Een subset van CLAGS.

FLAGS Opties voor de Fortran 77-compiler. Een subset van CLAGS.

FCFLAGS
Opties voor de Fortran 9x-compiler. Hetzelfde als FLAGS.

LDFLAGS
Opties die aan de compiler worden doorgegeven bij het koppelen van uitvoerbare bestanden of gedeelde objecten (als de
linker wordt dan rechtstreeks aangeroepen -Wl en , moeten van deze opties worden ontdaan).
Standaardwaarde: leeg.

Er kunnen in de toekomst mogelijk nieuwe vlaggen worden toegevoegd als dat nodig is (bijvoorbeeld om anderen te ondersteunen).
talen).

KENMERK GEBIEDEN


Elke gebiedsfunctie kan worden in- en uitgeschakeld in de DEB_BUILD_OPTIONS en
DEB_BUILD_MAINT_OPTIONS de gebiedswaarde van de omgevingsvariabele met de '+"En"-'modificator.
Om bijvoorbeeld de verharding "taart" -functie en schakel de "versterkings" -functie uit
kan dit binnen doen debian/regels:

export DEB_BUILD_MAINT_OPTIONS=verharden=+taart,-versterken

De bijzondere eigenschap allen (geldig in elk gebied) kan worden gebruikt om het hele gebied in of uit te schakelen
kenmerken tegelijk. Dus alles uitschakelen in de verharding gebied en mogelijk maken
alleen “formatteren” en “versterken” kunnen worden bereikt met:

export DEB_BUILD_MAINT_OPTIONS=hardening=-alles,+format,+versterken

qa
Er kunnen verschillende compileeropties (hieronder beschreven) worden gebruikt om problemen in het
broncode of buildsysteem.

kever Deze instelling (standaard uitgeschakeld) voegt elke waarschuwingsoptie toe die op betrouwbare wijze detecteert
problematische broncode. De waarschuwingen zijn fataal.

kanarie Deze instelling (standaard uitgeschakeld) voegt dummy-kanarie-opties toe aan de build-vlaggen, dus
dat de buildlogboeken kunnen worden gecontroleerd op hoe de buildvlaggen zich voortplanten en toestaan
het vinden van eventuele weglatingen van de normale build-vlaginstellingen. De enige die momenteel wordt ondersteund
vlaggen zijn CPPFLAGEN, CLAGS, OBJCFLAGS, CXXVLAGS en OBJCXXVLAGGEN met vlaggen ingesteld op
-D__DEB_CANARY_vlag_willekeurige-id__ en LDFLAGS ingesteld op -Wl,-z,deb-kanarie-willekeurige-id.

ontsmetten
Verschillende opties tijdens het compileren (hieronder beschreven) kunnen worden gebruikt om een ​​resultaat te helpen opschonen
binair tegen geheugenbeschadigingen, geheugenlekken, gebruik na gratis, threading dataraces en
ongedefinieerde gedragsfouten.

adres
Deze instelling (standaard uitgeschakeld) voegt toe -fsanitize=adres naar LDFLAGS en
-fsanitize=adres -fno-omit-frame-aanwijzer naar CLAGS en CXXVLAGS.

draad Deze instelling (standaard uitgeschakeld) voegt toe -fsanitize=thread naar CLAGS, CXXVLAGS en
LDFLAGS.

lekken Deze instelling (standaard uitgeschakeld) voegt toe -fsanitize=lek naar LDFLAGS. Het krijgt
automatisch uitgeschakeld als de adres of de draad functies zijn ingeschakeld, zoals
zij impliceren het.

onbepaald
Deze instelling (standaard uitgeschakeld) voegt toe -fsanitize=niet gedefinieerd naar CLAGS, CXXVLAGS
en LDFLAGS.

verharding
Verschillende opties tijdens het compileren (hieronder beschreven) kunnen worden gebruikt om een ​​resultaat te helpen verharden
binary tegen aanvallen op geheugencorruptie, of geef extra waarschuwingsberichten tijdens
compilatie. Behalve zoals hieronder vermeld, zijn deze standaard ingeschakeld voor architecturen die dat wel doen
steun hen.

formaat Deze instelling (standaard ingeschakeld) voegt toe -Wformaat -Werror=format-beveiliging naar CLAGS,
CXXVLAGS, OBJCFLAGS en OBJCXXVLAGGEN. Dit waarschuwt voor een tekenreeks met een onjuist formaat
gebruikt, en zal mislukken wanneer formaatfuncties worden gebruikt op een manier die mogelijk maakt
veiligheidsproblemen. Momenteel waarschuwt dit voor oproepen naar printf en scanf functies
waarbij de formatstring geen letterlijke string is en er geen formatargumenten zijn,
zoals in printf(foe); in plaats van printf("%s", foo); Dit kan een beveiligingslek zijn als de
formatstring is afkomstig van niet-vertrouwde invoer en bevat '%n'.

versterken
Deze instelling (standaard ingeschakeld) voegt toe -D_FORTIFY_SOURCE=2 naar CPPFLAGEN. Tijdens het coderen
generatie weet de compiler veel informatie over buffergroottes (waar
mogelijk) en pogingen om onveilige bufferfunctieaanroepen van onbeperkte lengte te vervangen
met lengtebeperkte exemplaren. Dit is vooral handig voor oude, sluwe code.
Bovendien worden formatstrings in het schrijfbare geheugen die '%n' bevatten geblokkeerd. Als
een applicatie is afhankelijk van een dergelijke formatstring, er zal omheen gewerkt moeten worden.

Houd er rekening mee dat deze optie alleen effect kan hebben als de broncode ook is gecompileerd
-O1 of hoger. Als de omgevingsvariabele DEB_BUILD_OPTIONS bevat nooptdan
versterken ondersteuning zal worden uitgeschakeld vanwege nieuwe waarschuwingen die worden uitgegeven door glibc 2.16
en later.

stapelbeschermer
Deze instelling (standaard ingeschakeld als stackprotectorstrong niet in gebruik is) voegt toe
-stack-beschermer --param=ssp-buffergrootte=4 naar CLAGS, CXXVLAGS, OBJCFLAGS,
OBJCXXVLAGGEN, GCJFLAGS, FLAGS en FCFLAGS. Dit voegt veiligheidscontroles tegen de stapel toe
overschrijft. Dit zorgt ervoor dat veel potentiële code-injectie-aanvallen worden afgebroken
situaties. In het beste geval verandert dit de kwetsbaarheid van code-injectie in ontkenning
service of non-problemen (afhankelijk van de toepassing).

Deze functie vereist een koppeling met glibc (of een andere aanbieder van
__stack_chk_mislukt), moet dus worden uitgeschakeld tijdens het bouwen met -nostlib or
-vrijstaand of vergelijkbaar.

stapelbeschermersterk
Deze instelling (standaard ingeschakeld) voegt toe -fstack-beschermer-sterk naar CLAGS,
CXXVLAGS, OBJCFLAGS, OBJCXXVLAGGEN, GCJFLAGS, FLAGS en FCFLAGS. Dit is een sterkere
variant van stapelbeschermer, maar zonder aanzienlijke prestatieboetes.

uitschakelen stapelbeschermer zal deze instelling ook uitschakelen.

Deze functie heeft dezelfde vereisten als stapelbeschermer, en bovendien ook
vereist gcc 4.9 en hoger.

terug Deze instelling (standaard ingeschakeld) voegt toe -Wl,-z,relro naar LDFLAGS. Tijdens programma
load, er moeten verschillende ELF-geheugensecties naar geschreven worden door de linker. Deze vlaggen
de lader om deze secties alleen-lezen te maken voordat u de besturing overdraagt ​​aan de
programma. Dit voorkomt met name GOT-overschrijfaanvallen. Als deze optie dat is
gehandicapt, bind nu zal ook invalide worden.

bind nu
Deze instelling (standaard uitgeschakeld) voegt toe -Wl,-z,nu naar LDFLAGS. Tijdens het laden van het programma
alle dynamische symbolen worden opgelost, waardoor de gehele PLT als gelezen kan worden gemarkeerd
alleen (vanwege terug boven). De optie kan niet worden ingeschakeld als terug is niet
ingeschakeld.

taart Deze instelling (standaard uitgeschakeld) voegt toe -fPIE naar CLAGS, CXXVLAGS, OBJCFLAGS,
OBJCXXVLAGGEN, GCJFLAGS, FLAGS en FCFLAGS en -fPIE -taart naar LDFLAGS. Positie
Er zijn onafhankelijke uitvoerbare bestanden nodig om te profiteren van de indeling van de adresruimte
Randomisatie, ondersteund door sommige kernelversies. Terwijl ASLR dat al kan zijn
afgedwongen voor gegevensgebieden in de stapel en de heap (brk en mmap), moeten de codegebieden dat ook doen
worden samengesteld als positie-onafhankelijk. Gedeelde bibliotheken doen dit al (-fPIC), dus
ze krijgen automatisch ASLR, maar binaire .text-regio's moeten PIE bouwen om te winnen
ASLR. Wanneer dit gebeurt, zijn ROP-aanvallen (Return Oriented Programming) veel moeilijker
omdat er geen statische locaties zijn waarheen kan worden teruggekaatst tijdens een geheugenbeschadiging
aanval.

Dit is niet compatibel met -fPIC dus voorzichtigheid is geboden bij het bouwen van gedeeld
voorwerpen.

Omdat PIE wordt geïmplementeerd via een algemeen register, kunnen sommige architecturen bovendien
(met name i386) kan prestatieverlies tot 15% zien in zeer tekstsegment-
zware applicatiebelastingen; de meeste werklasten zien minder dan 1%. Architecturen met
meer algemene registers (bijvoorbeeld amd64) beschouwen een worstcasestraf niet als een zo hoge straf.

reproduceerbaar
De onderstaande compileeropties kunnen worden gebruikt om de reproduceerbaarheid van de build te helpen verbeteren
of geef extra waarschuwingsberichten tijdens het compileren. Behalve zoals hieronder vermeld, deze
zijn standaard ingeschakeld voor architecturen die deze ondersteunen.

tijdloos
Deze instelling (standaard ingeschakeld) voegt toe -Wdate-tijd naar CPPFLAGEN. Dit zal veroorzaken
waarschuwingen wanneer de __TIJD__, __DATUM__ en __TIJDSTEMPEL__ macro's worden gebruikt.

MILIEU


Er zijn twee sets omgevingsvariabelen die dezelfde bewerkingen uitvoeren, de eerste
(DEB_vlag_op) mag nooit binnen worden gebruikt debian/regels. Het is bedoeld voor elke gebruiker die dat wil
om het broncodepakket opnieuw op te bouwen met verschillende build-vlaggen. Het tweede setje
(DEB_vlag_MAINT_op) mag alleen worden gebruikt in debian/regels door pakketbeheerders om te veranderen
de resulterende buildvlaggen.

DEB_vlag_SET
DEB_vlag_MAINT_SET
Deze variabele kan worden gebruikt om de geretourneerde waarde voor het gegeven te forceren vlag.

DEB_vlag_STRIP
DEB_vlag_MAINT_STRIP
Deze variabele kan worden gebruikt om een ​​door spaties gescheiden lijst met opties weer te geven
ontdaan van de set vlaggen die voor het gegeven is teruggestuurd vlag.

DEB_vlag_APPEND
DEB_vlag_MAINT_APPEND
Deze variabele kan worden gebruikt om aanvullende opties toe te voegen aan de geretourneerde waarde
het gegeven vlag.

DEB_vlag_PREPEND
DEB_vlag_MAINT_PREPEND
Deze variabele kan worden gebruikt om aanvullende opties vóór de geretourneerde waarde te plaatsen
voor het gegeven vlag.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
Deze variabelen kunnen door een gebruiker of beheerder worden gebruikt om verschillende gebieden in/uit te schakelen
functies die van invloed zijn op buildvlaggen. De DEB_BUILD_MAINT_OPTIONS variabele overschrijvingen
elke instelling in de DEB_BUILD_OPTIONS kenmerkende gebieden. Zie de KENMERK GEBIEDEN sectie
voor meer info.

Gebruik dpkg-buildflags online met behulp van de onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad