Provided by:
dpkg-dev_1.14.20ubuntu6_all 
NAMN
dpkg-source - Verktyg för att manipulera Debiankällkodspaket (.dsc)
SYNOPS
dpkg-source [flaggor] åtgärd
BESKRIVNING
dpkg-source packar och packar upp Debiankällkodsarkiv.
Inga av dessa kommandon tillåter att flera flaggor kombineras till ett,
och de tillåter inte att värdet på en flagga anges som ett separat
argument.
KOMMANDON
-x filnamn.dsc [utdatakatalog]
Extrahera ett källkodspaket. Ett argument som inte är en flagga
måste anges, namnet på debiankällkodsstyrfilen (.dsc). Ett
valfritt andra argument som inte är en flagga kan anges för att
bestämma vilken katalog källkoden skall packas upp i, det får
inte existera. Om du inte anger någon utdatakatalog extraheras
källkodspaketet till en katalog som heter källkod-version i den
aktuella arbetskatalogen.
dpkg-source läser namnen på de övriga filer som ingår i
källkodspaketet från styrfilen; de antas vara i samma katalog
som .dsc-filen.
Filerna i det extraherade paketet kommer att ha behörighet och
ägare satta till det som kunde förväntas om filerna och
katalogerna bara hade skapats - kataloger och körbara filer
kommer ha 0777 och enkla filer 0666, båda modifierade av
uppackarens umask; om föräldrakatalogen är setgid kommer de
extraherade katalogerna också att vara det, och samtliga filer
och kataloger kommer ärva dess gruppägarskap.
Om källkoden använder ett annat format än standardformatet
(gäller för närvarande alla format förutom "1.0"), kommer dess
namn att lagras som debian/source/format så att det används som
standard när källkodspaketet byggs på nytt.
-b katalog [formatspecifika-flaggor]
Bygg ett källkodpaket. Det första argumentet som inte är en
flagga tas som namn på katalogen som innehåller det
debianiserade källkodsträdet (dvs. med underkatalogen "debian"
och kanske ändringar på originalfilerna). Beroende på vilket
källkodspaketformat som används för att bygga formatet kan
ytterligare parametrar kanske godtas.
dpkg-source kommer bygga källkodspaketet med det första format
som fungerar från en lista i denna ordning: formatet som anges i
Format-fältet i debian/control, formatet som anges med
kommandoradsflaggan/-orna --format, formatet som anges i
debian/source/format, "1.0", "3.0 (eget)". Se nedan för en
omfattande beskrivning av de olika källkodspaketformaten.
-h, --help
Visar hjälpskärm och avslutar.
--version
Visar version och avslutar.
ALLMÄNNA BYGGFLAGGOR
-ccontrol-fil
Anger huvudkällkodsstyrfil som information skall läsas från.
Standardvärde är debian/control. Om ett relativt sökvägsnamn
anges tolkas det från källkodsträdets toppnivåkatalog.
-ländringsloggfil
Anger ändringsloggsfil som information skall läsas från.
Standardvärde är debian/changelog. Om ett relativt sökvägsnamn
anges tolkas det från källkodsträdets toppnivåkatalog.
-Fändringsloggformat
Anger format på ändringsloggen. Som standard läses formatet från
en speciell rad nära slutet av ändringsloggen, eller så används
Debians standardformat om ingen information hittas.
--format=värde
Försök det första givna formatet för att bygga källkodspaketet.
Om det används flera gånger kommer de att försöka användas i den
ordning de angavs. Det överstyr inte ett explicit Format-fält i
debian/control, men det kommer att överstyra ett eventuellt
format som anges i debian/source/format.
-Vnamn=värde
Rekommenderas ej. Ställer in en utdatasubstitueringsvariabel. Se
deb-substvars(5) för en beskrivning av utdatasubstituering.
-Tsubstvars-fil
Rekommenderas ej. Läser substitueringsvariabler från
substvarfil; standardvärde är att inte läsa någon fil.
-Dfält=värde
Ersätt eller lägg till ett fält i den genererade control-filen.
-Ufält Ta bort ett fält ur den genererade control-filen.
-Zkomprimeringstyp
Anger vilken komprimering som skall användas för de skapade
filerna (tar-bollar och diffar). Observera att flaggan inte gör
att befintliga tar-bollar packas om, utan enbart påverkar nya
filer. Värden som stöds är: gzip, bzip2 samt lzma. gzip är
förvalet.
-zkomprimeringsnivå
Komprimeringsnivå att använda. Som med -Z påverkas bara filer
som nyskapas. Värden som stöds är: 1 till 9, best (bäst) och
fast (snabb). 9 är förval.
-i[reguljärt-uttryck]
Du kan ange ett reguljärt uttryck i perlformat för att matcha
filer som du vill skall filtreras ut ur listan över filer för
diffen. (Listan skapas av ett find-kommando.) (Om
källkodspaketet byggs som ett version 3-paket med ett VCS
används detta istället för att ignorera filer som inte har
checkats in). -i ensamt aktiverar funktionen, med ett
standardvärde som filtrerar ut styrfiler och kataloger från de
flesta vanliga versionshanteringssystem, säkerhetskopior,
växlingsfiler och Libtool-byggutdatakataloger. Endast ett
reguljärt kan vara aktivt, om du anger flera -i-flaggor är det
den sista på kommandoraden som gäller.
Flaggan är mycket användbar för att utesluta extrafiler som
kommer med i diffen, t.ex om du underhåller din källkod i ett
versionshanteringssystem och vill använda en utcheckning för att
bygga ett källkodspaket utan att ta med de ytterligare filer och
det normalt innehåller (t.ex CVS/, .cvsignore, .svn/). Det
förvalda reguljära uttrycket täcker redan in många av dessa, men
om du ändrar det, kom ihåg att det som standard kan träffa alla
delar av filnamnet. Så, om du träffa bara början av ett filnamn
eller hela filnamn måste du själv lägga till de förankringar som
är nödvändiga (t.ex ’(^|/)’, ’($|/)’).
-I[filnamnsmönster]
Om flaggan anges kommer filnamnet att sändas vidare till
tar(1):s --exclude-flagga när det anropas för att skapa en
.orig.tar.gz eller .tar.gz-fil. Till exempel kommer -ICVS att
hoppa över CVS-kataloger när tar.gz-filen skapas. Flaggan kan
upprepas flera gånger för att lista flera filnamn som skall
uteslutas.
-i ensamt aktiverar funktionen, med ett standardvärde som
filtrerar ut styrfiler och kataloger från de flesta vanliga
versionshanteringssystem, säkerhetskopior, växlingsfiler och
Libtool-byggutdatakataloger.
Observera: Även om de används till liknande ändamål, så har -i och -I
väldigt olika syntax och semantik. -i kan endast anges en gång och tar
ett perl-kompatibelt reguljärt uttryck, vilket matchas mot den
kompletta relativa sökvägen för varje fil. -I kan anges flera gånger
och tar ett filnamnssökmänster med skaljokertecken. Mönstret matchas
mot den kompletta relativa sökvägen, men även individuellt mot varje
komponent i sökvägen. Den exakta semantiken för tar:s --exclude-flagga
är något komplicerad, se
http://www.gnu.org/software/tar/manual/tar.html#wildcards för
fullständig dokumentation.
Förvalt reguljärt uttryck och sökmönster för de bägge flaggorna kan ses
i utdata för --help-kommandot.
ALLMÄNNA UPPACKNINGSFLAGGOR
--no-copy
Kopiera inte original-tarbollar i närheten av det uppackade
källkodspaketet.
--no-check
Kontrollera inte signaturer och kontrollsummor före uppackning.
KÄLLKODSPAKETFORMAT
Format: 1.0
Ett källkod i detta format består antingen av en .orig.tar.gz,
förbunden med en .diff.gz, eller en ensam .tar.gz (i så fall anses
paketet vara eget, "native").
Uppackning
Att packa upp ett Debianeget paket innebär att packa upp den ensamma
tarbollen i målkatalogen. Att packa upp ett icke-eget paket innebär att
först packa upp .orig.tar.gz-filen och sedan genom att tillämpa patchen
som finns i .diff.gz-filen. Tidsstämplarna för alla filer nollställs
till den tidpunkt då källkodspaketet extraherades (vilket undviker
tidsstämpelförskjutningar som kunde leda till problem när
autogenererade filer patchas). Diffen kan skapa nya filer (hela
debian-katalogen skapas på det sättet), men kan inte ta bort filer
(tomma filer kommer lämnas kvar).
Bygga
Att bygga ett Debianeget paket innebär bara att skapa en ensam tarboll
med källkodskatalogen. Att bygga ett icke-eget paket innefattar att
extrahera original-tarbollen i en separat ".orig"-katalog och skapa
.diff.gz-filen på nytt genom att jämföra källkodspaketets katalog med
.orig-katalogen.
Byggflaggor (med -b):
Om ett andra argument som inte är en flagga anges skall det vara namnet
på originalkällkodskatalogen eller -tarfilen eller den tomma strängen
om paketet är Debianspecifikt och därför inte har några
Debianiserings-diffar. Om inget andra argument anges kommer dpkg-source
att leta efter originalkällkodstarfilen
paket_uppströmsversion.orig.tar.gz eller originalkällkodskatalogen
paket.orig beroende på -sX-flaggorna.
-sa, -sp, -sk, -su och -sr skriver inte över befintliga tar-filer och
kataloger. Om det önskas bör -sA, -sP, -sK, -sU och -sR anges i
stället.
-sk Anger att den ursprungliga källkoden är en tar-fil, som standard
paket_uppströmsversion.orig.tar.filändelse. Den kommer låta
originalkällkodsfilen ligga kvar som en tarfil, eller kopiera
den till den aktuella katalogen om den inte redan är där.
Tarbollen kommer att packas upp i katalog.orig för att generera
diffen.
-sp Som -sk, men tar bort katalogen igen efteråt.
-su Anger att originalkällkoden är en katalog, som standard
paket-uppströmsversion.orig och att dpkg-source skall skapa ett
nytt originalkällkodsarkiv från den.
-sr Som -su, men tar bort katalogen när den har använts.
-ss Anger att originalkällkoden finns både som en katalog och en
tar-fil. Katalogen kommer att användas av dpkg-source för att
skapa diffen, men tarfilen för att skapa .dsc-filen. Flaggan
måste användas med tillförsikt - om katalogen och tarfilen inte
stämmer överens kommer ett trasigt källkodsarkiv att skapas.
-sn Anger att dpkg-source inte skall leta efter något källkodsarkiv
och att ingen diff skall skapas. Det andra argumentet, om det
anges, måste vara den tomma strängen. Flaggan används för
Debianspecifika paket som inte har en separat uppströmskällkod
och därför inte har någon debianiseringsdiff.
-sa eller -sA
Anger att originalkällkoden finns som en katalog eller en tarfil
- det andra argumentet, om det anges, kan vara det ena eller det
andra, eller den tomma strängen (motsvarar att använda -sn). Om
en tarfil hittas kommer programmet att packa upp den för att
skapa en diff och ta bort den efteråt (motsvarar -sp). Om en
katalog hittas kommer den att packas för att skapa
originalkällkoden och ta bort den efteråt (motsvarar -sn). Om
båda hittas kommer dpkg-source att ignorera katalogen, och
skriva över den om -sA angavs (detta motsvarar -sP) eller ge ett
felmeddelande om -sa angavs. -sA är standard.
Extraheringsflaggor (med -x):
Oavsett kommer ett befintligt källkodsträd att tas bort.
-sp Används när originalkällkoden som extraheras (om sådan finns)
skall lämnas kvar som en tarfil. Om den inte redan finns i den
aktuella katalogen, eller om en befintlig men annan fil finns
där, kommer den att kopieras dit. (Detta är standard.)
-su Packar upp originalkällkodsträdet.
-sn Försäkrar att originalkällkoden varken kopieras till en aktuella
katalogen eller packas upp. Eventuella originalkällkodsträd som
finns i den aktuella katalogen tas fortfarande bort.
Alla -sX-flaggor är ömsesidigt uteslutande. Om du anger mer än en
kommer endast den sista att användas.
Format: 2.0
Även känt som wig&pen. Detta format rekommenderas inte för allmän
användning, formatet "3.0 (quilt)" ersätter det. Wig&pen var den första
specifikationen av en ny generation av källkodspaketformat.
Beteendet för detta format är detsamma som för "3.0 (quilt)"-formatet,
förutom att det inte använder en explicit förteckning patchar. Alla
filer i debian/patches/ som motsvarar det Perl-reguljära uttrycket
[\w-]+ måste vara giltiga patchar: de appliceras när paketet packas
upp.
När du bygger ett nytt källkodspaket kommer eventuella ändringar på
uppströmskällkoden att lagras i en patch som kallas
zz_debian-diff-auto.
Format: 3.0 (eget)
Detta format är en utökning av det egna paketformatet som anges av
1.0-formatet. Det stöder alla komprimeringsmetoder och kommer att som
standard ignorera alla VCS-specifika filer och kataloger, samt många
temporärfiler (se standardvärdet som är knutet till flaggan -i i texten
för --help).
Format: 3.0 (quilt)
Ett källkodspaket i detta format innehåller åtminstone en
original-tarboll (.orig.tar.ext, där ext kan vara gz, bz2 och lzma) och
en Debiantarboll (.debian.tar.ext). Den kan även innehålla ytterligare
original-tarbollar (.orig-komponent.tar.ext).
Uppackning
Huvud-originaltarbollen packas upp först, därefter packas alla
ytterligare originaltarbollar upp i underkataloger med namn efter
komponent-delen i sitt filnamn (eventuella redan befintliga kataloger
ersätts). Debian-tarbollen packas sedan upp ovanpå källkodskatalogen
efter att en redan befintlig debian-katalog har tagits bort först.
Observera att debian-tarbollen måste bestå av en debian-underkatalog,
men att den även kan innehålla binärfiler utanför den katalogen (se
flaggan --include-binaries).
Alla patchar listade i debian/patches/debian.series eller
debian/patches/series tillämpas sedan. Om den förstnämnda filen används
och den sistnämnda inte existerar (eller är en symbolisk länk), kommer
den senare att ersättas av en symbolisk länk till den första. Tanken är
att göra det enklare att använda quilt till att hantera
patchuppsättningen. Observera att, även om dpkg-source korrekt tolkar
series-filer som använder explicita flaggor till patch-programmet
(lagrade på kommandoraden efter patch-filnamnet och ett eller flera
blanksteg), så ignoreras dessa flaggor och det förväntar sig att
patchar kan tillämpas med flaggan -p1 till patch. Det kommer därför
visa en varning sådana flaggor upptäcks, och bygget kommer troligen att
misslyckas.
Patchar kan även ta bort filer, på ungfär samma sätt som quilt normalt
fungerar.
Filen debian/patches/.dpkg-source-applied skapas om patchar tillämpades
vid uppackningen.
Bygga
Alla original-tarbollar som finns i den aktuella katalogen packas upp i
en temporär katalog med samma logik som i uppackningen,
debian-katalogen kopieras över i den temporära katalogen och alla
patchar, förutom debian-changes-version tillämpas. Temporärkatalogen
jämförs därefter mot källkodskatalogen och diffen (om den inte är tom)
lagras i debian/patches/debian-changes-version. Eventuella ändringar på
binärfiler kan inte representeras i diffen och kommer därmed att leda
till ett felmeddelande, såvida inte paketansvariga medvetet väljer att
inkludera den modifierade binärfilen i debian-tarbollen (genom att
lista den i debian/source/include-binaries). Byggningen kommer även att
misslyckas om binärfiler upptäcks i debian-underkatalogen, såvida de
inte har vitlistats i debian/source/include-binaries.
Den uppdaterade debiankatalogen, och listan över modifierade binärer,
används sedan för att omskapa debian-tarbollen.
Den automatiskt genererade diff-filen innehåller inte ändringar för
VCS-specifika filer eller för många temporära filer (se standardvärdet
som är knutet till flaggan -i i texten för --help). Detta gäller
speciellt katalogen .pc som används av quilt, katalogen kommer att
ignoreras när den automatiska patchen skapas.
Observera: dpkg-source förväntar att källkodspaketet har alla patchar
tillämpade när källkodspaketet genereras. Detta gäller inte när
källkodsträdet har hämtats genom att packa upp ett källkodspaket med
till exempel Format: 1.0. För att motverka detta problem kommer
dpkg-source att tillämpa patchar innan byggprocessen startas, såvida
det inte hittar debian/patches/.dpkg-source-applied. Om katalogen .pc
finns kommer även det att tolkas som ett tecken på att patchar har
applicerats, och i så fall kommer quilt unapplied att köras för att
verifiera att alla patchar har tillämpats. Flaggan --no-preparation kan
användas för att slå av detta beteende.
Byggflaggor
--include-removal
Ignorera inte borttagna filer och ta med dem i den automatiskt
genererade patchen.
--include-timestamp
Ta med tidsstämpel i den automatiskt genererade patchen.
--include-binaries
Lägg till alla modifierade binärer i debian-tarbollen. Lägg även
till dem i debian/source/include-binaries: de kommer att läggas
till som standard i följande byggen och du behöver inte längre
ange den här flaggan.
--no-preparation
Försök inte att förbereda byggträdet genom att tillämpa patchar
som inte verkar ha tillämpas för närvarande.
Extraheringsflaggor
--skip-patches
Applicera inte patchar i slutet av uppackningen.
--without-quilt
Använd inte quilt för att tillämpa patchar, utan dpkg-source:s
egen kod. Det kommer inte vara möjligt att använda quilt direkt
på den uppackade katalogen, men den kommer i tillägg att slippa
quilts temporära filer.
Format: 3.0 (skräddarsytt)
Detta formatet är speciellt. Det anger inte ett riktigt
källkodspaketformat, utan kan användas för att skapa källkodspaket med
godtyckliga filer.
Byggflaggor
Alla argument som inte är flaggor tas som filer som skall integreras i
det skapade källkodspaketet. De måste finnas, och helst i aktuell
katalog. Åtminstone en fil måste anges.
--target-format=värde
Krävs. Anger det riktiga formatet på det genererade
källkodspaketet. Den skapade .dsc-filen kommer innehålla detta
värde i sitt Format-fält och inte "3.0 (custom)".
Format: 3.0 (git) och 3.0 (bzr)
Dessa format är experimentella. De genererar en ensam tarboll som
innehåller motsvarande VCS-arkiv.
Uppackning
Tarbollen packas upp och VCS-verktyget används sedan för att hämta ut
den aktuella grenen.
Bygga
Innan uppackningen fortsätter kommer en del tester att utföras för att
se till att vi inte har några ej ignorerade ej incheckade ändringar.
De VCS-specifika delarna av källkodskatalogen kommer därefter att
kopieras över till en temporär katalog. Innan den temporära katalogen
packas i en tarboll utförs viss städning för att spara plats.
PROGRAMFEL
Tidpunkten på fältöverstyrning inträffar jämfört med inställning av
vissa standardutdatafält är ganska förvirrad.
SE ÄVEN
dpkg-deb(1), dpkg(1), dselect(1).
FÖRFATTARE
Upphovsrättsskyddad © 1995-1996 Ian Jackson
Upphovsrättsskyddat © 2000 Wichert Akkerman
Upphovsrättsskyddat © 2008 Raphaël Hertzog
Detta är fri programvara; se GNU General Public License version 2 eller
senare för kopieringsvillkor. Det finns INGEN GARANTI.
ÖVERSÄTTNING
Peter Karlsson och Daniel Nylander.