diff options
Diffstat (limited to 'man/sv/dpkg-buildflags.1')
-rw-r--r-- | man/sv/dpkg-buildflags.1 | 293 |
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. |