dpkg-source(1)

NAMN
dpkg-source - Verktyg för att manipulera Debiankällkodspaket (.dsc)

SYNOPS
dpkg-source [flaggor] åtgärd

BESKRIVNING
dpkg-source packar och packar upp Debiankällkodsarkiv. Inga av dessa kommandon tillåter att flera flaggor kombineras till ett, och de tillåter inte att värdet på en flagga anges som ett separat argument.

KOMMANDON

-x filnamn.dsc [utdatakatalog]
    Extrahera ett källkodspaket. Ett argument som inte är en flagga måste anges, namnet på debiankällkodsstyrfilen (.dsc). Ett valfritt andra argument som inte är en flagga kan anges för att bestämma vilken katalog källkoden skall packas upp i, det får inte existera. Om du inte anger någon utdatakatalog extraheras källkodspaketet till en katalog som heter källkod-version i den aktuella arbetskatalogen. dpkg-source läser namnen på de övriga filer som ingår i källkodspaketet från styrfilen; de antas vara i samma katalog som .dsc-filen. Filerna i det extraherade paketet kommer att ha behörighet och ägare satta till det som kunde förväntas om filerna och katalogerna bara hade skapats - kataloger och körbara filer kommer ha 0777 och enkla filer 0666, båda modifierade av uppackarens umask; om föräldrakatalogen är setgid kommer de extraherade katalogerna också att vara det, och samtliga filer och kataloger kommer ärva dess gruppägarskap. Om källkoden använder ett annat format än standardformatet (gäller för närvarande alla format förutom "1.0"), kommer dess namn att lagras som debian/source/format så att det används som standard när källkodspaketet byggs på nytt.

-b katalog [formatspecifika-flaggor]
    Bygg ett källkodpaket. Det första argumentet som inte är en flagga tas som namn på katalogen som innehåller det debianiserade källkodsträdet (dvs. med underkatalogen "debian" och kanske ändringar på originalfilerna). Beroende på vilket källkodspaketformat som används för att bygga formatet kan ytterligare parametrar kanske godtas. dpkg-source will build the source package with the first format that works from this ordered list: the format(s) indicated with the --format command-line option(s), the format indicated in debian/source/format, "1.0", "3.0 (quilt)", "3.0 (native)". See section SOURCE PACKAGE FORMATS for an extensive description of the various source package formats.

--print-format katalog
    Print the source format that would be used to build the source package if dpkg-source -b directory was called (in the same conditions and with the same parameters). In particular it's important that the upstream tarball (if any) can be found in the current directory.

-h, --help
    Visar hjälpskärm och avslutar.

--version
    Visar version och avslutar.

ALLMÄNNA BYGGFLAGGOR

-ccontrol-fil
    Anger huvudkällkodsstyrfil som information skall läsas från. Standardvärde är debian/control. Om ett relativt sökvägsnamn anges tolkas det från källkodsträdets toppnivåkatalog.

-ländringsloggfil
    Anger ändringsloggsfil som information skall läsas från. Standardvärde är debian/changelog. Om ett relativt sökvägsnamn anges tolkas det från källkodsträdets toppnivåkatalog.

-Fändringsloggformat
    Anger format på ändringsloggen. Som standard läses formatet från en speciell rad nära slutet av ändringsloggen, eller så används Debians standardformat om ingen information hittas.

--format=värde
    Försök det första givna formatet för att bygga källkodspaketet. Om det används flera gånger kommer de att försöka användas i den ordning de angavs. Det överstyr inte ett 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.

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

-Zcompression, --compression=compression
    Anger vilken komprimering som skall användas för de skapade filerna (tar-bollar och diffar). Observera att flaggan inte gör att befintliga tar-bollar packas om, utan enbart påverkar nya filer. Värden som stöds är: gzip, bzip2, lzma samt xz. gzip är förvalet. Stöd för xz finns bara från och med dpkg-dev 1.15.5.

-zlevel, --compression-level=level
    Komprimeringsnivå att använda. Som med -Z påverkas bara filer som nyskapas. Värden som stöds är: 1 till 9, best (bäst) och fast (snabb). 9 är förval.

-i[reguljärt-uttryck]
    Du kan ange ett reguljärt uttryck i perlformat för att matcha filer som du vill skall filtreras ut ur listan över filer för diffen. (Listan skapas av ett find-kommando.) (Om källkodspaketet byggs som ett version 3-paket med ett VCS 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 funktionen, med ett standardvärde som filtrerar ut styrfiler och kataloger från de flesta vanliga versionshanteringssystem, säkerhetskopior, växlingsfiler och Libtool-byggutdatakataloger. Endast ett reguljärt kan vara aktivt, om du anger flera -i-flaggor är det den sista på kommandoraden som gäller. Flaggan är mycket användbar för att utesluta extrafiler som kommer med i diffen, t.ex om du underhåller din källkod i ett versionshanteringssystem och vill använda en utcheckning för att bygga ett källkodspaket utan att ta med de ytterligare filer och det normalt innehåller (t.ex CVS/, .cvsignore, .svn/). Det förvalda reguljära uttrycket täcker redan in många av dessa, men om du ändrar det, kom ihåg att det som standard kan träffa alla delar av filnamnet. Så, om du träffa bara början av ett filnamn eller hela filnamn måste du själv lägga till de förankringar som är nödvändiga (t.ex '(^|/)', '($|/)').

-I[filnamnsmönster]
    Om flaggan anges kommer filnamnet att sändas vidare till tar(1):s --exclude-flagga när det anropas för att skapa en .orig.tar.gz eller .tar.gz-fil. Till exempel kommer -ICVS att hoppa över CVS-kataloger när tar.gz-filen skapas. Flaggan kan upprepas flera gånger för att lista flera filnamn som skall uteslutas. -i ensamt aktiverar funktionen, med ett standardvärde som filtrerar ut styrfiler och kataloger från de flesta vanliga versionshanteringssystem, säkerhetskopior, växlingsfiler och Libtool-byggutdatakataloger.

Observera: Även om de används till liknande ändamål, så har -i och -I väldigt olika syntax och semantik. -i kan endast anges en gång och tar ett perl-kompatibelt reguljärt uttryck, vilket matchas mot den kompletta relativa sökvägen för varje fil. -I kan anges flera gånger och tar ett filnamnssökmänster med skaljokertecken. Mönstret matchas mot den kompletta relativa sökvägen, men även individuellt mot varje komponent i sökvägen. Den exakta semantiken för tar:s --exclude-flagga är något komplicerad, se http://www.gnu.org/software/tar/manual/tar.html#wildcards för fullständig dokumentation. Förvalt reguljärt uttryck och sökmönster för de bägge flaggorna kan ses i utdata för --help-kommandot.

ALLMÄNNA UPPACKNINGSFLAGGOR

--no-copy
    Kopiera inte original-tarbollar i närheten av det uppackade källkodspaketet.

--no-check
    Kontrollera inte signaturer och kontrollsummor före uppackning.

--require-valid-signature
    Vägra packa upp källkodspaketet om det inte innehåller en OpenPGP-signatur som kan verifieras 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 och /usr/share/keyrings/debian-maintainers.gpg).

FORMAT PÅ KÄLLKODSPAKET
Om du inte vet vilket källkodspaketformat du skall använda, bör du antagligen välja antingen "3.0 (quilt)" eller "3.0 (native)". De kommer bli standardformaten inom en nära förestående framtid. Se http://wiki.debian.org/Projects/DebSrc3.0 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"). Uppackning Att packa upp ett Debianeget paket innebär att packa upp den ensamma tarbollen i målkatalogen. Att packa upp ett icke-eget paket innebär att först packa upp .orig.tar.gz-filen och sedan genom att tillämpa patchen som finns i .diff.gz-filen. Tidsstämplarna för alla filer nollställs till den tidpunkt då källkodspaketet extraherades (vilket undviker tidsstämpelförskjutningar som kunde leda till problem när autogenererade filer patchas). Diffen kan skapa nya filer (hela debian-katalogen skapas på det sättet), men kan inte ta bort filer (tomma filer kommer lämnas kvar). Bygga Att bygga ett Debianeget paket innebär bara att skapa en ensam tarboll med källkodskatalogen. Att bygga ett icke-eget paket innefattar att extrahera original-tarbollen i en separat ".orig"-katalog och skapa .diff.gz-filen på nytt genom att jämföra källkodspaketets katalog med .orig-katalogen.

Byggflaggor (med -b):

Om ett andra argument som inte är en flagga anges skall det vara namnet på originalkällkodskatalogen eller -tarfilen eller den tomma strängen om paketet är Debianspecifikt och därför inte har några Debianiserings-diffar. Om inget andra argument anges kommer dpkg-source att leta efter originalkällkodstarfilen paket_uppströmsversion.orig.tar.gz eller originalkällkodskatalogen paket.orig beroende på -sX-flaggorna. -sa, -sp, -sk, -su och -sr skriver inte över befintliga tar-filer och kataloger. Om det önskas bör -sA, -sP, -sK, -sU och -sR anges i stället.

-sk Anger att den ursprungliga källkoden är en tar-fil, som standard paket_uppströmsversion.orig.tar.filändelse. Den kommer låta originalkällkodsfilen ligga kvar som en tarfil, eller kopiera den till den aktuella katalogen om den inte redan är där. Tarbollen kommer att packas upp i katalog.orig för att generera diffen.

-sp Som -sk, men tar bort katalogen igen efteråt.

-su Anger att originalkällkoden är en katalog, som standard paket-uppströmsversion.orig och att dpkg-source skall skapa ett nytt originalkällkodsarkiv från den.

-sr Som -su, men tar bort katalogen när den har använts.

-ss Anger att originalkällkoden finns både som en katalog och en tar-fil. Katalogen kommer att användas av dpkg-source för att skapa diffen, men tarfilen för att skapa .dsc-filen. Flaggan måste användas med tillförsikt - om katalogen och tarfilen inte stämmer överens kommer ett trasigt källkodsarkiv att skapas.

-sn Anger att dpkg-source inte skall leta efter något källkodsarkiv och att ingen diff skall skapas. Det andra argumentet, om det anges, måste vara den tomma strängen. Flaggan används för Debianspecifika paket som inte har en separat uppströmskällkod och därför inte har någon debianiseringsdiff.

-sa eller -sA
    Anger att originalkällkoden finns som en katalog eller en tarfil - det andra argumentet, om det anges, kan vara det ena eller det andra, eller den tomma strängen (motsvarar att använda -sn). Om en tarfil hittas kommer programmet att packa upp den för att skapa en diff och ta bort den efteråt (motsvarar -sp). Om en katalog hittas kommer den att packas för att skapa originalkällkoden och ta bort den efteråt (motsvarar -sn). Om båda hittas kommer dpkg-source att ignorera katalogen, och skriva över den om -sA angavs (detta motsvarar -sP) eller ge ett felmeddelande om -sa angavs. -sA är standard.

Extraheringsflaggor (med -x):

Oavsett kommer ett befintligt källkodsträd att tas bort.

-sp Används när originalkällkoden som extraheras (om sådan finns) skall lämnas kvar som en tarfil. Om den inte redan finns i den aktuella katalogen, eller om en befintlig men annan fil finns där, kommer den att kopieras dit. (Detta är standard.)

-su Packar upp originalkällkodsträdet.

-sn Försäkrar att originalkällkoden varken kopieras till en aktuella katalogen eller packas upp. Eventuella originalkällkodsträd som finns i den aktuella katalogen tas fortfarande bort.

Alla -sX-flaggor är ömsesidigt uteslutande. Om du anger mer än en kommer endast den sista att användas.

--skip-debianization
    Hoppas över att tillämpa debian-diffen ovanpå uppströmskällkoden.

  Format: 2.0
Även känt som wig&pen. Detta format rekommenderas inte för allmän användning, formatet "3.0 (quilt)" ersätter det. Wig&pen var den första specifikationen av en ny generation av källkodspaketformat. Beteendet för detta format är detsamma som för "3.0 (quilt)"-formatet, förutom att det inte använder en explicit förteckning patchar. Alla filer i debian/patches/ som motsvarar det Perl-reguljära uttrycket [\w-]+ måste vara giltiga patchar: de appliceras när paketet packas upp. När du bygger ett nytt källkodspaket kommer eventuella ändringar på uppströmskällkoden att lagras i en patch som kallas zz_debian-diff-auto.

  Format: 3.0 (eget)
Detta format är en utökning av det egna paketformatet som anges av 1.0-formatet. Det stöder alla komprimeringsmetoder och kommer att som standard ignorera alla VCS-specifika filer och kataloger, samt många temporärfiler (se standardvärdet som är knutet till flaggan -i i texten för --help).

  Format: 3.0 (quilt)
Ett källkodspaket i detta format innehåller åtminstone en original-tarboll (.orig.tar.ext, där ext kan vara gz, bz2, 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 tecken och bindestreck ("-").

Uppackning

Huvud-originaltarbollen packas upp först, därefter packas alla ytterligare originaltarbollar upp i underkataloger med namn efter komponent-delen i sitt filnamn (eventuella redan befintliga kataloger ersätts). Debian-tarbollen packas sedan upp ovanpå källkodskatalogen efter att en redan befintlig debian-katalog har tagits bort först. Observera att debian-tarbollen måste bestå av en debian-underkatalog, men att den även kan innehålla binärfiler utanför den katalogen (se flaggan --include-binaries).

Alla patchar listade i debian/patches/debian.series eller debian/patches/series tillämpas sedan. Om den förstnämnda filen används och den sistnämnda inte existerar (eller är en symbolisk länk), kommer den senare att ersättas av en symbolisk länk till den första. Tanken är att göra det enklare att använda quilt till att hantera patchuppsättningen. Observera att, även om dpkg-source korrekt tolkar series-filer som använder explicita flaggor till patch-programmet (lagrade på kommandoraden efter patch-filnamnet och ett eller flera blanksteg), så ignoreras dessa flaggor och det förväntar sig att patchar kan tillämpas med flaggan -p1 till patch. Det kommer därför visa en varning sådana flaggor upptäcks, och bygget kommer troligen att misslyckas.

Patchar kan även ta bort filer, på ungfär samma sätt som quilt normalt fungerar.

The file .pc/applied-patches is created if some patches have been applied during the extraction.

Bygga

All original tarballs found in the current directory are extracted in a temporary directory by following the same logic as for the unpack, the debian directory is copied over in the temporary directory, and all patches except the automatic patch (debian-changes-version or debian-changes, depending on --single-debian-patch) are applied. The temporary directory is compared to the source package directory and the diff (if non-empty) is stored in the automatic patch. If the automatic patch is created/deleted, it's added/removed from the series file and from the quilt metadata. Any change on a binary file is not representable in a diff and will thus lead to a failure unless the maintainer deliberately decided to include that modified binary file in the debian tarball (by listing it in debian/source/include-binaries). The build will also fail if it finds binary files in the debian sub-directory unless they have been whitelisted through 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. Note: dpkg-source expects the source tree to have all patches listed in the series file applied when you generate the source package. This is not the case when the source tree has been obtained by unpacking a source package using the Format: 1.0 for instance. To mitigate the problem, dpkg-source will apply the patches by itself if it believes that they have not yet been applied. To detect this situation, it uses the following heuristic: it finds the list of supposedly unapplied patches (they are listed in the series file but not in .pc/applied-patches), and if the first patch in that set can be applied without errors, it will apply them all. The option --no-preparation can be used to disable this behaviour.

Byggflaggor

--allow-version-of-quilt-db=version
    Allow dpkg-source to build the source package if the version of the quilt metadata is the one specified, even if dpkg-source doesn't know about it. Effectively this says that the given version of the quilt metadata is compatible with the version 2 that dpkg-source currently supports. The version of the quilt metadata is stored in .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.

--single-debian-patch
    Use debian/patches/debian-changes instead of debian/patches/debian-changes-version for the name of the automatic patch generated during build. This option is particularly useful when the package is maintained in a VCS and a patch set can't reliably be generated. Instead the current diff with upstream should be stored in a single patch. When using this option, it is recommended to create a debian/source/patch-header file explaining how the Debian changes can be best reviewed, for example in the VCS that is used.

Extraheringsflaggor

--skip-debianization
    Hoppas över att packa upp debian-tarbollen ovanpå uppströmskällkoden.

--skip-patches
    Applicera inte patchar i slutet av uppackningen.

  Format: 3.0 (skräddarsytt)
Detta formatet är speciellt. Det anger inte ett riktigt källkodspaketformat, utan kan användas för att skapa källkodspaket med godtyckliga filer.

Byggflaggor

Alla argument som inte är flaggor tas som filer som skall integreras i det skapade källkodspaketet. De måste finnas, och helst i aktuell katalog. Åtminstone en fil måste anges.

--target-format=värde
    Krävs. Anger det riktiga formatet på det genererade källkodspaketet. Den skapade .dsc-filen kommer innehålla detta värde i sitt Format-fält och inte "3.0 (custom)".

  Format: 3.0 (git) och 3.0 (bzr)
Dessa format är experimentella. De genererar en ensam tarboll som innehåller motsvarande VCS-arkiv.

Uppackning

Tarbollen packas upp och VCS-verktyget används sedan för att hämta ut den aktuella grenen.

Bygga

Innan uppackningen fortsätter kommer en del tester att utföras för att se till att vi inte har några ej ignorerade ej incheckade ändringar.

De VCS-specifika delarna av källkodskatalogen kommer därefter att kopieras över till en temporär katalog. Innan den temporära katalogen packas i en tarboll utförs viss städning för att spara plats.

FILFORMAT

  debian/source/format
Filen innehåller på en ensam rad det format som skall 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 över binärfiler (en per rad) som skall 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
This file contains a list of long options that should be automatically prepended to the set of command line options of a dpkg-source -b or dpkg-source --print-format call. Options like --compression and --compression-level are well suited for this file.

Each option should be put on a separate line. Empty lines and lines starting with "#" are ignored. The leading "--" should be stripped and short options are not allowed. Optional spaces are allowed around the "=" symbol and optional quotes are allowed around the value. Here's an example of such a file:

  # let dpkg-source create a debian.tar.bz2 with maximal compression
  compression = "bzip2"
  compression-level = 9
  # use debian/patches/debian-changes as automatic patch
  single-debian-patch

Note: format options are not accepted in this file, you should use debian/source/format instead.

  debian/source/patch-header
Free form text that is put on top of the automatic patch generated in formats "2.0" or "3.0 (quilt)".

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

PROGRAMFEL
Tidpunkten på fältöverstyrning inträffar jämfört med inställning av vissa standardutdatafält är ganska förvirrad.

SE ÄVEN
dpkg-deb(1), dpkg(1), dselect(1).

FÖRFATTARE
Upphovsrättsskyddat © 1995-1996 Ian Jackson
Upphovsrättsskyddat © 2000 Wichert Akkerman
Upphovsrättsskyddat © 2007-2009 Raphaël Hertzog

Detta är fri programvara; se GNU General Public License version 2 eller senare för kopieringsvillkor. Det finns INGEN GARANTI.

ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.