summaryrefslogtreecommitdiff
path: root/man/sv/dpkg-buildflags.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/sv/dpkg-buildflags.1')
-rw-r--r--man/sv/dpkg-buildflags.1293
1 files changed, 293 insertions, 0 deletions
diff --git a/man/sv/dpkg-buildflags.1 b/man/sv/dpkg-buildflags.1
new file mode 100644
index 0000000..a297ca6
--- /dev/null
+++ b/man/sv/dpkg-buildflags.1
@@ -0,0 +1,293 @@
+.\" dpkg manual page - dpkg-buildflags(1)
+.\"
+.\" Copyright © 2010-2011 Raphaël Hertzog <hertzog@debian.org>
+.\" Copyright © 2011 Kees Cook <kees@debian.org>
+.\"
+.\" This is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
+.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH dpkg\-buildflags 1 2012\-04\-03 Debianprojektet Dpkg\-sviten
+.SH NAMN
+dpkg\-buildflags \- returnerar byggflaggor att använda för att bygga paket
+.
+.SH SYNOPS
+\fBdpkg\-buildflags\fP [\fIflagga\fP...] \fIkommando\fP
+.
+.SH BESKRIVNING
+\fBdpkg\-buildflags\fP är ett verktyg för att hämta kompileringsflaggor att
+använda för att bygga Debianpaket.
+.
+De förvalda flaggorna anges av leverantören, men de kan utökas/överstyras på
+flera sätt:
+.IP 1.
+på hela systemet med \fB/etc/dpkg/buildflags.conf\fP;
+.IP 2.
+för den nuvarande användaren med \fB$XDG_CONFIG_HOME/dpkg/buildflags.conf\fP
+där \fB$XDG_CONFIG_HOME\fP har standardvärdet \fB$HOME/.config\fP;
+.IP 3.
+temporärt av användaren med miljövariabler (se stycket \fBMILJÖ\fP).
+.IP 4.
+dynamiskt av paketansvariga med miljövariabler som sätts via \fBdebian/rules\fP
+(se stycket \fBMILJÖ\fP).
+.P
+Konfigurationsfilerna kan innehålla två sorters direktiv:
+.TP
+\fBSET\fP\fI flagga värde\fP
+Överstyr flaggan \fIflagga\fP till att ha värdet \fIvärde\fP.
+.TP
+\fBSTRIP\fP\fI flagga värde\fP
+Ta bort alla flaggor som listas i \fIvärde\fP från flaggan som anges i
+\fIflagga\fP.
+.TP
+\fBAPPEND\fP\fI flagga värde\fP
+Utöka flaggan \fIflagga\fP genom att lägga till alternativen som anges i
+\fIvärde\fP. Ett blanksteg läggs till före värdet om flaggans nuvarande värde
+inte är tomt.
+.TP
+\fBPREPEND\fP\fI flagga värde\fP
+Utöka flaggan \fIflagga\fP genom att lägga till alternativen som anges i
+\fIvärde\fP först. Ett blanksteg läggs till efter värdet om flaggans nuvarande
+värde inte är tomt.
+.P
+Konfigurationsfilerna kan innehålla kommentarer på rader som börjar med ett
+nummertecken (#). Även tomma rader ignoreras.
+.SH KOMMANDON
+.TP
+\fB\-\-dump\fP
+Skriv alla kompileringsflaggor och deras värde på standard ut. En flagga
+skrivs per rad, avdelade från sitt värde med ett likamedtecken
+("\fIflagga\fP=\fIvärde\fP"). Detta är standardåtgärden.
+.TP
+\fB\-\-list\fP
+Skriv ut listan över flaggor som stöds av den aktuella leverantören (en per
+rad). Se stycket \fBFLAGGOR SOM STÖDS\fP för mer information om dem.
+.TP
+\fB\-\-export=\fP\fIformat\fP
+Skriv skal\- (om \fIformat\fP är \fBsh\fP) eller make\-kommandon (om \fIformat\fP är
+\fBmake\fP) som kan användas för att exportera alla kompileringsflaggor i
+miljön till standard ut. Om \fIformat\fP är \fBconfigure\fP kan utdata användas på
+en \fB./configure\fP\-kommandorad. Om \fIformat\fP inte anges antas \fBsh\fP. Endast
+kompileringsflaggor som börjar med en stor bokstav tas med, andra antas att
+inte vara lämpliga för miljön.
+.TP
+\fB\-\-get\fP\fI flagga\fP
+Skriv ut värdet på flaggan på standard ut. Avslutar med 0 om flaggan är
+känd, om inte avslutar den med 1.
+.TP
+\fB\-\-origin\fP\fI flagga\fP
+Anger ursprunget till flaggan som returneras av \fB\-\-get\fP. Avslutar med 0 om
+flaggan är känd, om inte avslutar med 1. Ursprunget kan vara ett av följande
+värden:
+.RS
+.TP
+\fBvendor\fP
+originalflagga satt av leverantören returneras;
+.TP
+\fBsystem\fP
+flaggan är satt/modifierad av systemkonfigurationen;
+.TP
+\fBuser\fP
+flaggan är satt/modifierad av användarkonfigurationen;
+.TP
+\fBenv\fP
+flaggan är satt/modifierad av en miljöspecifik konfiguration.
+.RE
+.TP
+\fB\-\-query\-features\fP \fIarea\fP
+Visa funktioner aktiverade för en given area. Den enda kända arean är för
+närvarande \fBhardening\fP. Avslutar med 0 om arean är okänd, avslutar annars
+med 1.
+.IP
+Utdataformatet är på RFC822\-headerformat, med en sektion per funktion. Till
+exempel:
+.IP
+.nf
+ Feature: pie
+ Enabled: no
+
+ Feature: stackprotector
+ Enabled: yes
+.fi
+.TP
+\fB\-\-help\fP
+Visar hjälpskärm och avslutar.
+.TP
+\fB\-\-version\fP
+Visar version och avslutar.
+.
+.SH "FLAGGOR SOM STÖDS"
+.TP
+\fBCFLAGS\fP
+Flaggor för C\-kompilatorn. Standardvärdet som satts av leverantören
+innehåller \fI\-g\fP och den förvalda optimeringsnivån (vanligtvis \fI\-O2\fP, eller
+\fI\-O0\fP om miljövariabeln \fBDEB_BUILD_OPTIONS\fP definierar \fInoopt\fP).
+.TP
+\fBCPPFLAGS\fP
+Flaggor för C\-förprocesseraren. Förvalt värde: tomt.
+.TP
+\fBCXXFLAGS\fP
+Flaggor för C++\-kompilatorn. Samma som \fBCFLAGS\fP.
+.TP
+\fBFFLAGS\fP
+Flaggor för Fortrankompilatorn. Samma som \fBCFLAGS\fP.
+.TP
+\fBLDFLAGS\fP
+Flaggor som sänds till kompilatorn vid länkning av binärer eller delade
+objekt (om länkaren anropas direkt måste \fB\-Wl\fP och \fB,\fP tas bort från dessa
+flaggor). Standardvärde: tomt.
+.
+.SH FILER
+.TP
+\fB/etc/dpkg/buildflags.conf\fP
+Konfigurationsfil för hela systemet.
+.TP
+\fB$XDG_CONFIG_HOME/dpkg/buildflags.conf\fP eller \fB$HOME/.config/dpkg/buildflags.conf\fP
+Användarens konfigurationsfil.
+.SH MILJÖVARIABLER
+Det finns två uppsättningar miljövariabler som utför samma operationer, den
+första (DEB_\fIflagga\fP_\fIop\fP) bör aldrig användas inuti \fBdebian/rules\fP). Den
+är tänkt för användare som vill bygga om källkodspaketet med andra
+byggflaggor. Den andra uppsättningen (DEB_\fIflagga\fP_MAINT_\fIop\fP) bör endast
+användas i \fBdebian/rules\fP av paketansvariga för att ändra de slutgiltiga
+byggflaggorna.
+.TP
+\fBDEB_\fP\fIflagga\fP\fB_SET\fP
+.TQ
+\fBDEB_\fP\fIflagga\fP\fB_MAINT_SET\fP
+Denna variabel kan användas för att tvinga fram värdet som returneras för
+given \fIflagga\fP.
+.TP
+\fBDEB_\fP\fIflagga\fP\fB_STRIP\fP
+.TQ
+\fBDEB_\fP\fIflagga\fP\fB_MAINT_STRIP\fP
+Denna variabel kan användas för att tillhandahålla en blankstegsavdelad
+lista med flaggor som kommer att tas bort från uppsättningen flaggor som ges
+för given \fIflagga\fP.
+.TP
+\fBDEB_\fP\fIflagga\fP\fB_APPEND\fP
+.TQ
+\fBDEB_\fP\fIflagga\fP\fB_MAINT_APPEND\fP
+Denna variabel kan användas för att lägga till ytterligare flaggor till
+värdet som returneras för given \fIflagga\fP.
+.TP
+\fBDEB_\fP\fIflagga\fP\fB_PREPEND\fP
+.TQ
+\fBDEB_\fP\fIflagga\fP\fB_MAINT_PREPEND\fP
+Denna variabel kan användas för att lägga till ytterligare flaggor först i
+värdet som returneras för given \fIflagga\fP.
+.TP
+\fBDEB_BUILD_MAINT_OPTIONS\fP
+Den här variabeln kan användas för att slå av/på olika härdningsbyggflaggor
+genom alternativet \fBhardening\fP. Se avsnittet \fBHÄRDNING\fP för mer
+information.
+.
+.SH HÄRDNING
+Du kan använda flera kompileringsflaggor (se detaljer nedan) för att härda
+den färdiga binären mot minnesfördärvningsangrepp, eller för att ge
+ytterligare varningsmeddelanden under kompileringen. Förutom det som anges
+nedan aktiveras dessa som standard för arkitekturer som stöder dem.
+.P
+Varje härdningsfunktion kan aktiveras och inaktiveras i miljövariabeln
+\fBDEB_BUILD_MAINT_OPTIONS\fP värde \fBhardening\fP med modifierarna "+" och
+"\-". Du kan till exempel aktivera och funktionen "pie" och inaktivera
+funktionen "fortify" genom att ange detta i \fBdebian/rules\fP:
+.P
+ export DEB_BUILD_MAINT_OPTIONS=hardening=+pie,\-fortify
+.P
+Den speciella funktionen \fBall\fP kan användas för att aktivera eller
+inaktivera alla härdningsfunktioner samtidigt. Du kan till exempel
+inaktivera allt och endast aktivera "format" och "fortify" med:
+.P
+ export DEB_BUILD_MAINT_OPTIONS=hardening=\-all,+format,+fortify
+.
+.TP
+\fBformat\fP
+This setting (enabled by default) adds \fB\-Wformat \-Werror=format\-security\fP
+to \fBCFLAGS\fP and \fBCXXFLAGS\fP. This will warn about improper format string
+uses, and will fail when format functions are used in a way that represent
+possible security problems. At present, this warns about calls to \fBprintf\fP
+and \fBscanf\fP functions where the format string is not a string literal and
+there are no format arguments, as in \fBprintf(foo);\fP instead of
+\fBprintf("%s", foo);\fP This may be a security hole if the format string came
+from untrusted input and contains "%n".
+.
+.TP
+\fBfortify\fP
+Inställningen (aktiverad som standard) lägger till \fB\-D_FORTIFY_SOURCE=2\fP
+till \fBCPPFLAGS\fP. Kompilatorn har under kodgenereringen kännedom om en hel
+del information om buffertstorlekar (där tillämpligt) och försöker ersätta
+osäkra funktionsanrop med obegränsade buffertlängder med längdbegränsade
+dito. Det här är speciellt användbart för gammal, skräpig kod. Dessutom
+blockeras formatsträngar i skrivbart minne som innehåller "%n". Om ett
+program är beroende av en sådan formatsträng måste det gås runt i kod.
+
+Observera att, för att den här flaggan skall ha någon effekt, måste
+källkoden också kompileras med \fB\-O1\fP eller högre.
+.TP
+\fBstackprotector\fP
+Inställningen (aktiverad som standard) lägger till \fB\-fstack\-protector
+\-\-param=ssp\-buffer\-size=4\fP till \fBCFLAGS\fP och \fBCXXFLAGS\fP. Detta lägger till
+säkerhetskontroller mot stacköverskrivningar, vilket gör att många möjliga
+kodinjiceringsangrepp istället avbryter programmet. I det bästa fallet gör
+det kodinjiceringsangrepp till överbelastnignsangrepp eller icke\-problem
+(beroende på programmet).
+
+Den här funktionen kräver länkning mot glibc (eller ett annat bibliotek som
+tillhandahåller \fB__stack_chk_fail\fP), så det måste inaktiveras när du bygger
+med \fB\-nostdlib\fP eller \fB\-ffreestanding\fP eller liknande.
+.
+.TP
+\fBrelro\fP
+Inställningen (aktiverad som standard) lägger till \fB\-Wl,\-z,relro\fP till
+\fBLDFLAGS\fP. Vid inläsning av programmet måste länkaren skriva till flera
+ELF\-minnessektioner. Den här inställningen flaggar till inläsaren att dessa
+sektioner skall göras skrivskyddade innan programmet får kontroll. Detta
+skyddar huvudsaklingen mot GOT\-överskrivningsangrepp. Om inställningen
+inaktiveras kommer även \fBbindnow\fP att inaktiveras.
+.
+.TP
+\fBbindnow\fP
+Inställningen (inaktiverad som standard) lägger till \fB\-Wl,\-z,bindnow\fP till
+\fBLDFLAGS\fP. Vid inläsning av programmet löses alla dynamiska symboler,
+vilket gör att hela PLT kan markeras som skrivskyddad (på grund av \fBrelro\fP
+ovan). Inställningen kan inte aktiveras om \fBrelro\fP inte är aktiverad.
+.
+.TP
+\fBpie\fP
+Inställningen (inaktiverad som standard) lägger till \fB\-fPIE\fP till \fBCFLAGS\fP
+och \fBCXXFLAGS\fP, samt \fB\-fPIE \-pie\fP till \fBLDFLAGS\fP. Positionsoberoende
+exekverbara program (PIE) behövs för att dra fördel av slumpmässig
+adressrymd (ASLR), vilket stöds av vissa versioner av kärnan. Medan ASLR
+redan kan användas för datautrymmen i stacken och heap:en (brk och mmap),
+måste kodområden först kompileras som positionsoberoende. Delade bibliotek
+gör redan detta (\-fPI C), så de drar automatiskt fördel av ASLR medan binära
+\&.text\-regioner måste byggas med PIE för att uppnå ASLR. När detta sker är
+ROP\-angrepp (Return Oriented Programming) mycket svårare eftersom det inte
+finns några statiska platser att studsa från i ett
+minnesfördärvningsangrepp.
+
+Detta är inte kompatibelt med \fB\-fPIC\fP så man måste vara försiktig när man
+bygger delade objekt.
+
+Eftersom PIE i tillägg implementeras med ett generellt register kan vissa
+arkitekturer (huvudsakligen i386) se prestandaförluster upp till 15% i
+väldigt textsegment\-tunga programs körning; de flesta körningar ser mindre
+än 1%. Arkitekturer med många generella register (t.ex amd64) ser inte en
+lika stor värsta falls\-förlust.
+.SH "ÖVERSÄTTNING"
+Peter Krefting och Daniel Nylander.