Man page - dpkg-source(1)
Packages contains this manual
- deb822(5)
- dpkg-vendor(1)
- deb-symbols(5)
- deb-src-rules(5)
- dpkg-mergechangelogs(1)
- dsc(5)
- deb-src-control(5)
- dpkg-shlibdeps(1)
- dpkg-genbuildinfo(1)
- dpkg-scanpackages(1)
- deb-substvars(5)
- dpkg-parsechangelog(1)
- dpkg-architecture(1)
- deb-triggers(5)
- deb-changelog(5)
- deb-extra-override(5)
- deb-buildinfo(5)
- dpkg-buildpackage(1)
- dpkg-distaddfile(1)
- dpkg-gencontrol(1)
- dpkg-buildtree(1)
- deb-postrm(5)
- deb-version(7)
- deb-prerm(5)
- deb-preinst(5)
- deb-src-files(5)
- dpkg-buildapi(1)
- dpkg-checkbuilddeps(1)
- deb-src-symbols(5)
- deb-old(5)
- dpkg-source(1)
- deb-changes(5)
- deb-origin(5)
- dpkg-buildflags(1)
- deb-override(5)
- deb(5)
- dpkg-scansources(1)
- deb-control(5)
- deb-split(5)
- deb-shlibs(5)
- dpkg-build-api(7)
- deb-postinst(5)
- deb-conffiles(5)
- dpkg-genchanges(1)
- dpkg-gensymbols(1)
- dpkg-name(1)
- deb-md5sums(5)
apt-get install dpkg-dev
Available languages:
en fr pt nl sv deManual
dpkg-source
NAMNSYNOPS
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.