Man page - dpkg-source(1)

Packages contains this manual

Available languages:

en fr pt nl sv de

Manual

dpkg-source

NAMN
SYNOPS
BESKRIVNING
KOMMANDON
FLAGGOR
Generiska byggflaggor
Generiska extraheringsflaggor
Generiska generella flaggor
FORMAT PÅ KÄLLKODSPAKET
Format: 1.0
Format: 2.0
Format: 3.0 (eget)
Format: 3.0 (quilt)
Format: 3.0 (skrÀddarsytt)
Format: 3.0 (git)
Format: 3.0 (bzr)
DIAGNOSTIK
kÀllkodsformat ej angivet i debian/source/format
diffen modifierar följande uppströmsfiler
kan inte representera Àndringen för fil
den tomma filen fil som just skapats kommer inte representeras i diffen
exekveringslÀge lÀge pÄ fil kommer inte representeras i diffen
speciallÀget lÀge pÄ fil kommer inte representeras i diffen
MILJÖVARIABLER
FILER
debian/source/format
debian/source/include-binaries
debian/source/options
debian/source/local-options
debian/source/local-patch-header
debian/source/patch-header
debian/patches/ÄterförsÀljare.series
debian/patches/series
SÄKERHET
PROGRAMFEL
SE ÄVEN
ÖVERSÄTTNING

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

-c control-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 .

-V namn = vÀrde

StÀller in en utdatasubstitueringsvariabel. Se deb-substvars (5) för en beskrivning av utdatasubstituering.

-T substvars-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).

-D fÀlt = vÀrde

ErsÀtt eller lÀgg till ett fÀlt i den genererade control-filen.

-U fÀlt

Ta bort ett fÀlt ur den genererade control-filen.

-Z komprimering , --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.

-z nivÄ , --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 -I CVS 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 -s X -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-changes version 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.