Provided by: dpkg-dev_1.22.11ubuntu1_all 

NAMN
dpkg-source - Verktyg för att manipulera Debiankällkodspaket (.dsc)
SYNOPS
dpkg-source [flagga...] å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, --extract filename.dsc [utdatakatalog]
Extrahera ett källkodspaket (--extract sedan dpkg 1.17.14). 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 ska 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ällkodspaketet 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, --build directory [formatspecifika-flaggor]
Bygg ett källkodpaket (--build sedan dpkg 1.17.14). 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 denna lista i denna
ordning: formatet som anges med kommandoradsflaggan --format, formatet som anges i
debian/source/format, ”1.0”. Standardvärdet ”1.0” rekommenderas ej och kommer att tas bort en gång i
framtiden, du bör alltid dokumentera det önskade källkodsformatet i debian/source/format. Se
avsnittet "FORMAT PÅ KÄLLKODSPAKET" för en utförlig beskrivning av de olika källkodspaketformaten.
--print-format katalog
Visa formatet som skulle användas för att bygga källkodspaketet om dpkg-source --build katalog skulle
köras (under samma förhållanden och med samma parametrar; sedan dpkg 1.15.5).
--before-build katalog
Kör motsvarande krok för källkodspaketformatet (sedan dpkg 1.15.8). Kroken anropas innan något från
paketet byggs (dpkg-buildpakcage anropar det väldigt tidigt, till och med före debian/rules clean).
Kommandot är idempotent och kan anropas flera gånger. Det är inte alla källkodsformat som
implementerar något i den här kroken, och de som gör det förbereder oftast källkodsträdet för att
byggas, till exempel genom att se till att Debianpatchar har applicerats.
--after-build katalog
Kör motsvarande krok för källkodspaketformatet (sedan dpkg 1.15.8). Kroken anropas efter att allt
från paketet byggts (dpkg-buildpakcage anropar det sist). Kommandot är idempotent och kan anropas
flera gånger. Det är inte alla källkodsformat som implementerar något i den här kroken, och de som
gör det använder den normalt för att återställa det som --before-build har gjort.
--commit [katalog] ...
Spara ändringar i källkodsträdet som har packats upp i katalog (sedan dpkg 1.16.1). Kommandot kan ta
ytterligare parametrar beroende på källkodsformatet. Ett fel kommer rapporteras för format där
operationen inte har någon betydelse.
-?, --help
Visar hjälpskärm och avslutar. De formatspecifika bygg- och extraheringsflaggorna kan visas genom att
använda flaggan --format.
--version
Visar version och avslutar.
FLAGGOR
Generiska byggflaggor
-ccontrol-fil
Anger huvudkällkodsstyrfil som information ska 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 ska 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. Se dpkg-parsechangelog(1) för information om alternativa format.
--format=värde
Använd det givna formatet för att bygga källkodspaketet (sedan dpkg 1.14.17). Det överstyr ett
eventuellt format som anges i debian/source/format.
-Vnamn=värde
Ställer in en utdatasubstitueringsvariabel. Se deb-substvars(5) för en beskrivning av
utdatasubstituering.
-Tsubstvars-fil
Läs substitueringsvariabler från substvarfil; standardvärde är att inte läsa någon fil. Flaggan kan
användas flera gånger för att läsa substitueringsvariabler från flera filer (sedan dpkg 1.15.6).
-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.
-Zkomprimering, --compression=komprimering
Anger vilken komprimering som ska användas för de skapade tar-bollarna och diff-filerna
(--compression sedan dpkg 1.15.5). 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, lzma samt xz. Förvalet är xz
för format 2.0 och senare, och gzip för format 1.0. Stöd för xz finns bara från och med dpkg 1.15.5.
-znivå, --compression-level=nivå
Komprimeringsnivå att använda (--compression-level sedan dpkg 1.15.5). 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 för gzip och
bzip2, 6 för xz och lzma.
-i[reg.uttr], --diff-ignore[=reg.uttr]
Du kan ange ett reguljärt uttryck i perlformat för att matcha filer som du vill ska filtreras ut ur
listan över filer för diffen (--diff-ignore sedan dpkg 1.15.6). (Listan skapas av ett find-kommando.)
(Om källkodspaketet byggs som ett version 3-paket med ett VCS kan detta användas för att ignorera
ändringar som inte har checkats in på de angivna filerna. -i.* kommer att ignorera samtliga.)
-i ensamt aktiverar inställningen, med ett standardvärde (bibehåller modifieringar till
standarduttrycket som gjorts med tidigare användning av --extend-diff-ignore) 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 som gäller.
Flaggan är mycket användbar för att utesluta extrafiler som kommer med i diffen, till exempel 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
”(^|/)”, ”($|/)”).
--extend-diff-ignore=reg.uttr
Det reguljära uttrycket i perlformat som angavs utökar standardvärdet som används av --diff-ignore
och dess nuvarande värde, om satt (sedan dpkg 1.15.6). Det gör så genom att lägga till ”|reg.uttr”
efter standarduttrycket. Flaggan är nyttig för debian/source/options för att exkludera en del
automatiskt genererade filer från skapandet av automatiska patchar.
-I[filmönster], --tar-ignore[=filmö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 (--tar-ignore sedan dpkg 1.15.6). 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 ska uteslutas.
-I ensamt lägger till standard --exclude-flaggor som filtrerar ut styrfiler och kataloger från de
flesta vanliga versionshanteringssystemen, 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
<https://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.
Generiska extraheringsflaggor
--no-copy
Kopiera inte original-tarbollar i närheten av det uppackade källkodspaketet (sedan dpkg 1.14.17).
--no-check
Kontrollera inte signaturer och kontrollsummor före uppackning (sedan dpkg 1.14.17).
--no-overwrite-dir
Skriv inte över uppackningskatalogen om den redan finns (sedan dpkg 1.18.8).
--require-valid-signature
Vägra packa upp källkodspaketet om det inte innehåller en OpenPGP-signatur som kan verifieras (sedan
dpkg 1.15.0) antingen med användarens trustedkeys.gpg-nyckelring, en av de säljarspecifka
nyckelringarna, eller en av de officiella Debiannyckelringarna
(/usr/share/keyrings/debian-keyring.gpg, /usr/share/keyrings/debian-nonupload.gpg och
/usr/share/keyrings/debian-maintainers.gpg).
--require-strong-checksums
Vägra packa upp källkodspaketet om det inte innehåller några starka kontrollsummor (sedan dpkg
1.18.7). Den enda kända kontrollsumma som anses stark är för närvarande SHA-256.
--ignore-bad-version
Ändrar testet för felaktig källkodspaketversion till en icke-ödesdiger varning (sedan dpkg 1.17.7).
Flaggan är endast nödvändig vid uppackning av väldigt gamla källkodspaket med trasiga versioner, bara
för bakåtkompatibilitet.
Generiska generella flaggor
--threads-max=trådar
Anger det maximala antalet trådar som tillåts för komprimerare som stöder flertrådad körning (sedan
dpkg 1.21.14).
-q Väljer tyst läge för att dölja varningar.
FORMAT PÅ KÄLLKODSPAKET
Om du inte vet vilket källkodspaketformat du ska använda, bör du antagligen välja antingen ”3.0 (quilt)”
eller ”3.0 (native)”. "/wiki.debian.org/Projects/DebSrc3.0" in Se https: för information om hur dessa
format sätts i produktion i Debian.
Format: 1.0
Ett källkodspaket 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”). Original-tarbollen kan också valfritt
åtföljas av en friliggande uppströmssignatur .orig.tar.gz.asc, uppackning stöds sedan dpkg 1.18.5.
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 patchade 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) och kan inte skapa eller ändra
symboliska länkar.
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 --build):
Om ett andra argument som inte är en flagga anges ska 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 ska 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 ska leta efter något källkodsarkiv och att ingen diff ska 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.
--abort-on-upstream-changes
Processen misslyckas om den genererade diffen innehåller ändringar av filer utanför underkatalogen
debian (sedan dpkg 1.15.8). Den här flaggan tillåts inte i debian/source/options, men kan användas i
debian/source/local-options.
Extraheringsflaggor (med --extract):
Oavsett kommer ett befintligt källkodsträd att tas bort.
-sp Används när originalkällkoden som extraheras (om sådan finns) ska 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.
--skip-debianization
Hoppas över att tillämpa debian-diffen ovanpå uppströmskällkoden (sedan dpkg 1.15.1).
Format: 2.0
Uppackning stöds sedan dpkg 1.13.9, byggning stöds sedan dpkg 1.14.8. Ä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)
Stöds sedan dpkg 1.14.17. 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)
Stöds sedan dpkg 1.14.17. Ett källkodspaket i detta format innehåller åtminstone en original-tarboll
(.orig.tar.ext, där ext kan vara gz, bz2, lzma eller xz) och en Debiantarboll (.debian.tar.ext). Den kan
även innehålla ytterligare original-tarbollar (.orig-komponent.tar.ext). komponent kan endast innehålla
alfanumeriska (”a-zA-Z0-9”) tecken och bindestreck (”-”). Varje original-tarboll kan också valfritt
åtföljas av en friliggande uppströmssignatur (.orig.tar.ext.asc och .orig-komponent.tar.ext.asc),
uppackning stöds sedan dpkg 1.17.20, byggning stöds sedan dpkg 1.18.5.
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/återförsäljare.series eller debian/patches/series tillämpas sedan,
där återförsäljare är namnet på den aktuella återförsäljaren skrivet med små bokstäver, eller debian om
ingen har angivits. 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. Återförsäljarspecifika series-filer är
tänkta att göra det möjligt att serialisera flera utvecklingsgrenar baserade på återförsäljaren, på ett
deklarativt sätt, istället för att öppet koda den här hanteringen i debian/rules. Detta är speciellt
användbart när källkoden behöver patchas olika eftersom de rörda filerna inte stöder inbyggd villkorlig
tillämpning. 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.
Oberbera att lintian(1) kommer skapa ovillkorliga varningar när återförsäljarserier används på grund av
en kontroversiell Debian-specifik dom, vilket inte bör påverka extern användning; för att tysta dessa kan
dpkg:s lintianprofil användas genom att ge parametern ”--profile dpkg” till lintian(1).
Tidsstämplarna för alla patchade 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).
Till skillnad mot quilt:s originalbeteende förväntas det att patchar kan appliceras utan någon ”fuzz”.
När så inte är fallet bör du uppdatera patcharna med hjälp av quilt, om inte kommer dpkg-source
rapportera ett felmeddelande när det försöker tillämpa dem.
Patchar kan även ta bort filer, på samma sätt som quilt normalt fungerar.
Filen .pc/applied-patchers 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 den automatiska patchen (debian-changesversion eller debian-changes, beroende på
--single-debian-patch) tillämpas. Temporärkatalogen jämförs därefter mot källkodskatalogen. Om diffen
inte är tom misslyckas bygget, såvida inte --single-debian-patch eller --auto-commit använts, i vilket
fall diffen lagras i den automatiska patchen. Om den automatiska patchen skapas/tas bort, läggs den
till/tas bort från series-filen och från quilt-metadata.
Eventuella ändringar på binärfiler kan inte representeras i en diff 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 tillåtits i
debian/source/include-binaries.
Den uppdaterade debiankatalogen, och listan över modifierade binärer, används sedan för att skapa 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 --before-build (och --build) ser till att alla patchar som anges i seriefilen
tillämpas så att paketbygget alltid har alla patchar tillämpade. Detta görs genom att hitta alla
icke-tillämpade patchar (som anges i filen series men inte i .pc/applied-patches), och om den första
patchen i listan kan tillämpas utan fel kommer samtliga att tillämpas. Flaggan --no-preparation kan
användas för att slå av detta beteende.
Lagra ändringar
--commit [katalog] [patchnamn] [patch-fil]
Skapar en patch som motsvarar de lokala ändringar som inte hanteras av quilt-patch-systemet och
integrerar dem i patch-systemet under namnet patchnamn. Om namnet saknas kommer programmet be om ett
interaktivt. Om patch-fil anges används den som patch som motsvarar de lokala ändringar som ska
integreras. När patchen är integrerad startas ett redigeringsprogram (det första som hittas av
sensible-editor, $VISUAL, $EDITOR, vi) så att du kan ange metainformationen i patchhuvudet.
Det är oftast nyttigt att sända med patchfil efter att ett bygge där filen skapats i förväg
misslyckas, och att patchfilen därför ska tas bort efter integrering. Observera även att ändringarna
som finns i patchfilen redan måste ha applicerats på trädet och att filerna som modifieras av patchen
inte får innehålla ytterligare ej beskrivna ändringar.
Om genereringen av patchar upptäcker ändringar i binärfiler kommer de automatiskt att läggas in i
debian/source/include-binaries så att de dyker upp i debian-tarbollen (precis som dpkg-source
--include-binaries --build skulle gjort).
Byggflaggor
--allow-version-of-quilt-db=version
Tillåt dpkg-source att bygga källkodspaketet om versionen av quilt-metadata är den som angavs, även
om dpkg-source inte känner till den (sedan dpkg 1.15.5.4). Det betyder att den givna versionen av
quilt-metadata är kompatibel med version 2 som dpkg-source för närvarande stöder. Versionen av
quilt-metadata lagras i .pc/.version.
--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 (sedan dpkg 1.14.18).
--single-debian-patch
Använd debian/patches/debian-changes istället för debian/patches/debian-changes-version som namn på
den automatiska patch som genereras vid bygget (sedan dpkg 1.15.5.4). Denna flagga är speciellt
nyttig när paketet hanteras i ett versionshanteringssystem och en patch inte kan skapas på ett
pålitligt sätt. Den aktuella diffen mot uppströms lagras istället i en ensam patch. Flaggan bör anges
i debian/source/local-options och följs av filen debian/source/local-patch-header som beskricer hur
Debianändringarna bäst kan ses, till exempel i det versionshanteringssystem som används.
--create-empty-orig
Skapa huvud-originaltarbollen som tom automatiskt om den saknas och om det finns
tilläggs-originaltarbollar (sedan dpkg 1.15.6). Flaggan är tänkt att användas när källkodspaketet
bara är en samling av flera uppströmsprogram och där det inte finns något ”huvud”-program.
--no-unapply-patches, --unapply-patches
Som standard kommer dpkg-source att automatiskt ta bort patchar i kroken --after-build om de
applicerades under --before-build (--unapply-patches sedan dpkg 1.15.8, --no-unapply-patches sedan
dpkg 1.16.5). De här flaggorna låter dig överstyra om du vill inaktivera eller aktivera proceduren
för borttagning av patchar. Flaggorna tillåts endast i debian/source/local-options så att alla
genererade källkodspaket som standard har samma beteende.
--abort-on-upstream-changes
Processen misslyckas om en automatisk patch har genererats (sedan dpkg 1.15.8). Flaggan kan användas
för att se till att alla ändringar har lagrats undan korrekt i separata quilt-patchar innan
källkodspaketet byggts. Flaggan tillåts inte i debian/source/options, men kan användas i
debian/source/local-options.
--auto-commit
Processen misslyckas inte om en automatisk patch har skapats, den läggs istället direkt in i
quilt-serien.
Extraheringsflaggor
--skip-debianization
Hoppar över att packa upp debian-tarbollen ovanpå uppströmskällkoden (sedan dpkg 1.15.1).
--skip-patches
Applicera inte patchar i slutet av uppackningen (sedan dpkg 1.14.18).
Format: 3.0 (skräddarsytt)
Stöds sedan dpkg 1.14.17. 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 ska 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)
Stöds sedan dpkg 1.14.17. Formatet är experimentellt.
Ett källkodspaket i detta format består av en ensam bunt (”bundle”) från ett git-arkiv .git, vilket
innehåller paketets källkod. Filen .gitshallow, som innehåller revisioner för grunda git-kloner, kan även
förekomma.
Uppackning
Bunten klonas som ett git-arkiv till målkatalogen. Om filen gitshallow finns installeras den som
.git/shallow i det klonade git-arkivet.
Observera att det nya arkivet som standard kommer att ha samma gren utcheckad som den som var utcheckad i
det ursprungliga källkodsträdet. (Typiskt ”main”, men kan vara vad som helst.) Eventuella andra grenar
kommer också att vara tillgängliga, under remotes/origin/.
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.
git-bundle(1) används för att generera en bunt från git-arkivet. Som standard tas alla grenar och taggar
i arkivet med i bunten.
Byggflaggor
--git-ref=ref
Gör det möjligt att ange en git-referens som ska tas med i bunten. Om den anges överstyr den
standardbeteendet som är att ta med alla grenar och taggar. Kan anges flera gånger. ref kan vara
namnet på en gren eller tagg som ska tas med. Den kan även vara vilken som helst annan parameter som
kan sändas med till git-rev-list(1). För att, till exempel, endast ta med grenen ”main”, använd
--git-ref=main. För att ta med alla taggar och grenar, förutom grenen ”private”, använd
--git-ref=--all --git-ref=^private
--git-depth=antal
Skapar en grund klon med en historik som är avhuggen vid det angivna antalet revisioner.
Format: 3.0 (bzr)
Stöds sedan dpkg 1.14.17. Detta format är experimentellt. Det genererar en ensam tarboll som innehåller
bzr-arkivet.
Uppackning
Tarbollen packas upp och bzr 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.
DIAGNOSTIK
källkodsformat ej angivet i debian/source/format
Filen debian/source/format bör alltid finnas och ange det önskade källkodsformatet. För
bakåtkompatibilitet antar formatet ”1.0” om filen inte finns, men du bör inte förlita dig på detta: vid
någon punkt i framtiden kommer dpkg-source att justeras så att det misslyckas om filen inte finns.
Resonemanget bakom detta är att formatet ”1.0” inte längre är det rekommenderade formatet, du bör normalt
välja ett av de nyare formaten (”3.0 (quilt)”, ”3.0 (native)”), men dpkg-source gör inte detta
automatiskt åt dig. Om du vill fortsätta använda det gamla formatet bör du ange det explicit genom att
skriva ”1.0” i debian/source/format.
diffen modifierar följande uppströmsfiler
När du använder källkodsformatet ”1.0” är det oftast inte någon bra idé att modifiera uppströmsfiler
direkt eftersom ändringarna döljs och i huvudsak är odokumenterade i diff.gz-filen. Du bör istället spara
dina ändringar som patchar i debian-katalogen och applicera dem när paketet ska byggas. För att undvika
den här komplexiteten kan du även använda formatet ”3.0 (quilt)” som låter dig göra det här automatiskt.
kan inte representera ändringen för fil
Ändringar på uppströmsfiler sparas normalt som patchfiler, men inte alla ändringar kan representeras med
patchar: de kan endast ändra innehållet i vanliga textfiler. Om du försöker ersätta en fil med något som
har en annan typ (till exempel ersätta en vanlig fil med en symbolisk länk eller en katalog) får du det
här felmeddelandet.
den tomma filen fil som just skapats kommer inte representeras i diffen
Tomma filer kan inte skapas med patchfiler. Ändringen kommer därmed inte att sparas i källkodspaketet och
du får en varning om det.
exekveringsläge läge på fil kommer inte representeras i diffen
Patchfiler beskriver inte läget på filer och exekveringsbehörigheter sparas därmed inte i
källkodspaketet. Den här varningen påminner dig om detta.
specialläget läge på fil kommer inte representeras i diffen
Patchfiler beskriver inte läget på filer och ändrade lägen sparas inte i källkodspaketet. Den här
varningen påminner dig om detta.
MILJÖVARIABLER
DPKG_COLORS
Väljer färgläge (sedan dpkg 1.18.5). För närvarande godtas följande värden: auto (förval), always och
never.
DPKG_NLS
Om satt, används för att bestämma om lokalt språkstöd ska aktiveras, även känt som
internationaliseringsstöd (eller i18n) (sedan dpkg 1.19.0). Tillåtna värden är: 0 och 1 (förval).
SOURCE_DATE_EPOCH
Om satt kommer det användas som tidsstämpel (som sekunder sedan epoken) för att tvinga mtime i
tar(5)-filposterna.
Sedan dpkg 1.18.11.
VISUAL
EDITOR
Används av källkodsformatmodulerna ”2.0” och ”3.0 (quilt)”.
GIT_DIR
GIT_INDEX_FILE
GIT_OBJECT_DIRECTORY
GIT_ALTERNATE_OBJECT_DIRECTORIES
GIT_WORK_TREE
Används av källkodsformatmodulen ”3.0 (git)”.
FILER
debian/source/format
Filen innehåller på en ensam rad det format som ska användas för att bygga källkodspaketet (möjliga
format beskrivs ovan). Varken ledande eller avslutande blanksteg tillåts.
debian/source/include-binaries
Filen innehåller en förteckning med sökvägsnamn för binärfiler (en per rad) relativt till
källkods-rotkatalogen som ska tas med i debian-tarbollen. Inledande och avslutande blanksteg tas bort.
Rader som börjar med ”#” är kommentarer och hoppas över. Tomma rader ignoreras.
debian/source/options
Filen innehåller en lista över långa flaggor som automatiskt sätts in före kommandoradsflaggorna som
anges i ett anrop til dpkg-source --build eller dpkg-source --print-format. Flaggor som --compression och
--compression-level är passande att lägga in i den här filen.
Ange varje flagga på en egen rad. Tomma rader och rader som börjar med ”#” ignoreras. Inledande ”--” ska
tas bort och korta flaggor är inte tillåtna. Blanksteg tillåts runt ”=”-tecknet och citattecken tillåts
runt värdet. Här är ett exempel på en sådan fil:
# låt dpkg-source skapa en debian.tar.bz2 med maximal komprimering
compression = "bzip2"
compression-level = 9
# använd debian/patches/debian-changes som en automatisk patch
single-debian-patch
# ignorera ändringar i config.{sub,guess}
extend-diff-ignore = "(^|/)(config.sub|config.guess)$"
B<Observera>: B<format>-flaggor tillåts inte i den här filen, du bör använda filen B<debian/source/format> istället.
debian/source/local-options
Precis som debian/source/options förutom att filen inte inkluderas i det genererade källkodspaketet. Det
kan vara användbart för att spara ett val som gäller för paketansvariga eller VCS-systemet
källkodspaketet hanteras i.
debian/source/local-patch-header
debian/source/patch-header
Friformstext som läggs in på toppen av den automatiskt genererade patchen i formaten ”2.0” eller ”3.0
(quilt)”. local-patch-header tas inte med i det genererade källkodspaketet medan patch-header tas med.
debian/patches/återförsäljare.series
debian/patches/series
Listar alla patchar som måste tillämpas (i den givna ordningen) ovanpå uppströmskällkodspaketet.
Inledande och avslutande blanksteg tas bort. återförsäljare är namnet på aktuell återförsäljare skrivet
med små bokstäver. Om den återförsäljarspecifika series-filen inte existerar, kommer den
återförsäljarlösa series-filen att användas istället. Rader som börjar med ”#” är kommentarer och
ignoreras. Tomma rader ignoreras. De rader som är kvar inleds med filnamnet på en patchfil (relativt till
debian/patches/-katalogen) upp till det första blankstegstecknet eller slutet på raden. Valfria flaggor
till quilt kan följa fram till slutet av raden eller det första ”#” som följer på ett eller flera
blanksteg (vilket anger början på en kommentar fram till slutet av raden).
SÄKERHET
Att utforska obetrodda källkodspaket eller att packa upp dem till en mellanstation kan anses som en
säkerhetsgräns, och eventuellt brytande av gränser som uppstår av dessa operationer bör anses som en
säkerhetssårbarhet. Men hantering av obetrodda källkodspaket bör inte tas lätt på, eftersom den
exponerade ytan innehåller eventuella stödda komprimeringskommandon, kommandon för att hantera specifika
dataformat (såsom tar(1) eller patch(1)) i tillägg till själva källkodformatet och styrfilerna. Att
utföra dessa operationer på obetrodda data som root avråds å det bestämdaste från.
Bygga källkodspaket bör endast utföras över betrodda data.
PROGRAMFEL
Tidpunkten på fältöverstyrning inträffar jämfört med inställning av vissa standardutdatafält är ganska
förvirrad.
SE ÄVEN
deb-src-control(5), deb-changelog(5), deb-substvars(5), dsc(5).
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.
1.22.11 2024-08-05 dpkg-source(1)