Provided by: dpkg-dev_1.21.9ubuntu1_all bug

NAAM

       dpkg-source - gereedschap voor het manipuleren van een Debian broncodepakket (.dsc)

OVERZICHT

       dpkg-source [optie...] commando

BESCHRIJVING

       dpkg-source pakt Debian broncodearchieven in en uit.

       Bij geen enkel van deze commando's is het toegelaten om meerdere opties tot één enkele
       optie te combineren of de waarde van een optie via een apart argument op te geven.

COMMANDO'S

       -x, --extract bestandsnaam.dsc [uitvoermap]
           Een broncodepakket extraheren (--extract sinds dpkg 1.17.14). Er moet één argument dat
           geen optie is, opgegeven worden, namelijk de naam van het controlebestand (.dsc) van
           de Debian broncode. Facultatief kan een tweede argument dat geen optie is, opgegeven
           worden om de map op te geven waarin het pakket geëxtraheerd moet worden. Die mag nog
           niet bestaan. Indien geen uitvoermap opgegeven werd, zal het broncodepakket uitgepakt
           worden in een map met als naam broncode-versie, die onder de huidige werkmap ligt.

           dpkg-source zal uit het controlebestand de namen van de andere bestanden lezen die
           samen het broncodepakket vormen. Er wordt van uitgegaan dat ze zich in dezelfde map
           bevinden als het .dsc-bestand.

           De permissies en het eigenaarschap van de bestanden uit het geëxtraheerde pakket
           zullen zodanig ingesteld worden dat ze beantwoorden aan wat men zou mogen verwachten
           mochten de bestanden en mappen gewoon aangemaakt zijn - mappen en uitvoerbare
           bestanden zullen 0777 zijn en gewone bestanden 0666 en beide zullen aangepast worden
           op basis van het umask van degene die het pakket uitpakt. Indien de bovenliggende map
           setgid is, zullen de geëxtraheerde mappen dat ook zijn en al de bestanden en mappen
           zullen dit groepseigenaarschap overerven.

           Indien het broncodepakket een niet-standaardindeling gebruikt (momenteel betekent dit
           alle indelingen behalve “1.0”), dan zal de naam ervan opgeslagen worden in
           debian/source/format, zodat standaard deze indeling gebruikt wordt bij de volgende
           malen dat het broncodepakket gebouwd wordt.

       -b, --build map [indelingsspecifieke-parameters]
           Een broncodepakket bouwen (--build sinds dpkg 1.17.14). Het eerste argument dat geen
           optie is, wordt gebruikt als de naam van de map die de voor Debian gereedgemaakte
           broncodeboom bevat (d.w.z. met een onderliggende map debian en eventuele veranderingen
           aan de originele bestanden). Afhankelijk van de broncodepakketindeling die men
           gebruikt om het broncodepakket te bouwen, kunnen bijkomende parameters opgegeven
           worden.

           dpkg-source zal het broncodepakket bouwen volgens de eerste indeling die gevonden
           wordt in de hierna volgende geordende lijst: de indeling opgegeven met de
           commandoregeloptie --format, de indeling aangegeven in debian/source/format, “1.0”.
           Het terugvallen op “1.0” word afgeschaft en zal op een bepaald moment in de toekomst
           weggelaten worden. U zou de gewenste broncode-indeling steeds moeten documenteren in
           debian/source/format. Zie het onderdeel INDELINGEN VAN BRONCODEPAKKETTEN voor een
           uitgebreide beschrijving van de verschillende indelingen voor broncodepakketten.

       --print-format map
           Weergeven welke indeling gebruikt zou worden om het broncodepakket te bouwen indien
           dpkg-source --build map aangeroepen werd (in dezelfde condities en met dezelfde
           parameters; sinds dpkg 1.15.5).

       --before-build map
           De overeenkomstige uitbreiding (hook) van de broncodepakketindeling uitvoeren (sinds
           dpkg 1.15.8). Deze uitbreiding wordt telkens aangeroepen voor het pakket gebouwd wordt
           (dpkg-buildpackage roept ze zeer vroeg aan, zelfs voor debian/rules clean). Dit
           commando is idempotent en kan meermaals aangeroepen worden. Niet alle broncode-
           indelingen implementeren iets in deze uitbreiding, en die welke dat wel doen bereiden
           gewoonlijk de broncodeboom voor op het bouwproces, bijvoorbeeld door ervoor te zorgen
           dat de Debian-patches toegepast worden.

       --after-build map
           De overeenkomstige uitbreiding (hook) van de broncodepakketindeling uitvoeren (sinds
           dpkg 1.15.8). Deze uitbreiding wordt telkens aangeroepen nadat het pakket gebouwd werd
           (dpkg-buildpackage roept ze als laatste aan). Dit commando is idempotent en kan
           meermaals aangeroepen worden. Niet alle broncode-indelingen implementeren iets in deze
           uitbreiding, en die welke dat wel doen gebruiken ze gewoonlijk om ongedaan te maken
           wat --before-build gedaan heeft.

       --commit [map] ...
           Veranderingen optekenen in de broncodeboom die in map uitgepakt werd (sinds dpkg
           1.16.1). Aan dit commando kunnen afhankelijk van de broncode-indeling bijkomende
           parameters opgegeven worden. Het zal een foutmelding geven bij indelingen waarvoor
           deze operatie geen betekenis heeft.

       -?, --help
           De gebruiksaanwijzing tonen en afsluiten. Met de optie --format kunnen de
           indelingsspecifieke bouw- en extractie-opties getoond worden.

       --version
           De versie tonen en afsluiten.

OPTIES

   Generieke bouwopties
       -ccontrol-bestand
           Duidt aan wat het belangrijkste controlebestand van de broncode is waaruit informatie
           gelezen moet worden. Standaard is dat debian/control. Indien het opgegeven wordt met
           een relatieve padnaam, dan wordt die geïnterpreteerd te beginnen bij de basismap van
           de broncodeboom.

       -lchangelog-bestand
           Duidt het changelog-bestand aan waaruit informatie gelezen moet worden. Standaard is
           dat debian/changelog. Indien het opgegeven wordt met een relatieve padnaam, dan wordt
           die geïnterpreteerd te beginnen bij de basismap van de broncodeboom.

       -Fchangelog-indeling
           Geeft de indeling van het bestand changelog aan. Zie dpkg-parsechangelog(1) voor
           informatie over alternatieve indelingen.

       --format=waarde
           De opgegeven indeling gebruiken om het broncodepakket te bouwen (sinds dpkg 1.14.17).
           Het vervangt een eventuele in debian/source/format opgegeven indeling.

       -Vnaam=waarde
           Een uitvoersubstitutievariabele instellen. Zie deb-substvars(5) voor een bespreking
           van uitvoersubstitutie.

       -Tsubstvars-bestand
           Substitutievariabelen lezen uit substvars-bestand. De standaard is om geen enkel
           bestand te lezen. Deze optie kan meermaals gebruikt worden om uit verschillende
           bestanden substitutievariabelen te lezen (sinds dpkg 1.15.6).

       -Dveld=waarde
           Een uitvoerveld uit het control-bestand overschrijven of toevoegen.

       -Uveld
           Een uitvoerveld uit het control-bestand verwijderen.

       -Zcompressie, --compression=compressie
           Het compressieniveau aanduiden dat gebruikt wordt bij het maken van tar-archieven en
           diff-bestanden (--compression sinds dpkg 1.15.5). Merk op dat deze optie niet tot
           effect heeft dat bestaande tar-archieven opnieuw gecomprimeerd worden. Ze heeft enkel
           invloed op nieuwe bestanden. Ondersteunde waarden zijn: gzip, bzip2, lzma en xz. De
           standaardwaarde is xz voor de indeling 2.0 en recentere indelingen en gzip voor de
           indeling 1.0. xz wordt enkel sinds dpkg 1.15.5 ondersteund.

       -zniveau, --compression-level=niveau
           Het te gebruiken compressieniveau (--compression-level sinds dpkg 1.15.5). Zoals dit
           het geval is bij -Z, beïnvloedt dit enkel nieuw aangemaakte bestanden. Ondersteunde
           waarden zijn: 1 tot 9, best, en fast. De standaardwaarde is 9 voor gzip en bzip2, 6
           voor xz en lzma.

       -i[regex], --diff-ignore[=regex]
           U kunt een perl reguliere expressie opgeven om bestanden die ermee overeenkomen weg te
           houden uit de lijst bestanden waarover de gemaakte diff (overzicht van ondergane
           wijzigingen) gaat (--diff-ignore sinds dpkg 1.15.6). (Deze lijst wordt gegenereerd
           door een find-opdracht.) (Als het broncodepakket gebouwd wordt als een versie 3
           broncodepakket dat gebruik maakt van een VCS (Version Control System -
           versiebeheersysteem), kan dit gebruikt worden om niet-toegepaste wijzigingen aan
           specifieke bestanden te laten negeren. Door -i.* te gebruiken zullen ze allemaal
           genegeerd worden.)

           De optie -i zelf schakelt deze instelling in met een standaard reguliere expressie
           (met behoud van eventuele wijzigingen aan de standaard reguliere expressie onder
           invloed van een eerder gebruikt --extend-diff-ignore) die zorgt voor het uitfilteren
           van controlebestanden en -mappen van de meest courante versiebeheersystemen, van back-
           upbestanden en wisselbestanden en van bouwuitvoermappen van Libtool. Er kan slechts
           één reguliere expressie actief zijn. Van meerdere -i-opties zal enkel de laatste
           uitwerking hebben.

           Dit is erg bruikbaar voor het wegknippen van vreemde bestanden die mee opgenomen
           geraken in de diff, bijvoorbeeld als u de broncode onderhoudt in een
           versiebeheersysteem en een werkkopie (checkout) wilt gebruiken om een broncodepakket
           te bouwen, zonder dat daarin ook de extra bestanden en mappen die ze meestal bevat
           (bijvoorbeeld CVS/, .cvsignore, .svn/), mee opgenomen worden. De standaard reguliere
           expressie is reeds zeer exhaustief, maar indien u ze moet vervangen, moet u ermee
           rekening houden dat ze standaard een overeenkomst kan opleveren met elk onderdeel van
           een pad. Indien u dus een overeenkomst zoekt met het begin van een bestandsnaam of
           enkel met volledige bestandsnamen, zult u zelf de nodige ankers (bijvoorbeeld ‘(^|/)’,
           ‘($|/)’) moeten opgeven.

       --extend-diff-ignore=regex
           De opgegeven perl reguliere expressie breidt de standaardwaarde die door --diff-ignore
           gebruikt wordt, uit en de huidige waarde ervan als die ingesteld werd (sinds dpkg
           1.15.6). Het doet dit door “|regex” samen te voegen met de bestaande waarde. Deze
           optie is handig om te gebruiken in debian/source/options om bepaalde automatisch
           gegenereerde bestanden uit te sluiten bij het automatisch genereren van patches.

       -I[bestandspatroon], --tar-ignore[=bestandspatroon]
           Indien deze optie opgegeven werd, wordt het patroon doorgegeven aan de optie --exclude
           van tar(1) wanneer dit commando ingeroepen wordt om een bestand .orig.tar of .tar aan
           te maken (--tar-ignore sinds dpkg 1.15.6). Bijvoorbeeld, -ICVS zal tar CVS-mappen doen
           overslaan bij het genereren van een .tar.gz-bestand. Deze optie kan meermaals herhaald
           worden om meerdere patronen die uitgesloten moeten worden op te sommen.

           -I zelf voegt standaard --exclude-opties toe die zorgen voor het uitfilteren van
           controlebestanden en -mappen van de meest courante versiebeheersystemen, van back-
           upbestanden en wisselbestanden en van bouwuitvoermappen van Libtool.

       Opmerking: hoewel zij vergelijkbare bedoelingen hebben, hebben -i en -I een heel
       verschillende syntaxis en semantiek. -i kan slechts eenmaal opgegeven worden en verwacht
       een reguliere expressie die perl-compatibel is en die vergeleken wordt met het volledige
       relatieve pad van elk bestand. -I kan meermaals opgegeven worden en verwacht een
       bestandsnaampatroon met shell-jokertekens. Het patroon wordt toegepast op het volledige
       relatieve pad maar ook op elk individueel onderdeel van het pad. De exacte semantiek van
       de optie --exclude van tar is enigszins gecompliceerd. Zie voor een volledige documentatie
       <https://www.gnu.org/software/tar/manual/tar.html#wildcards>.

       De standaard reguliere expressies en patronen voor beide opties zijn te zien in de uitvoer
       van het commando --help.

   Generieke extractieopties
       --no-copy
           De originele tar-archieven bij het geëxtraheerde broncodepakket niet kopiëren (sinds
           dpkg 1.14.17).

       --no-check
           Voor het uitpakken geen ondertekeningen en controlesommen controleren (sinds dpkg
           1.14.17).

       --no-overwrite-dir
           De extractiemap niet overschrijven als ze al bestaat (sinds dpkg 1.18.8).

       --require-valid-signature
           Weigeren het broncodepakket uit te pakken als het geen OpenPGP-ondertekening bevat die
           kan gecontroleerd worden (sinds dpkg 1.15.0) met ofwel de trustedkeys.gpg-sleutelbos
           van de gebruiker, één van de leveranciersspecifieke sleutelbossen of met één van de
           officiële sleutelbossen van Debian (/usr/share/keyrings/debian-keyring.gpg,
           /usr/share/keyrings/debian-nonupload.gpg en
           /usr/share/keyrings/debian-maintainers.gpg).

       --require-strong-checksums
           Weigeren het broncodepakket uit te pakken als het geen krachtige controlesommen bevat
           (sinds dpkg 1.18.7). Momenteel is SHA-256 de enige gekende controlesom die als
           krachtig aanzien wordt.

       --ignore-bad-version
           Als bij een controle het versienummer van het broncodepakket foutief blijkt te zijn,
           maakt deze instelling dat de gegeven waarschuwing geen fataal karakter heeft (sinds
           dpkg 1.17.7). Deze optie zou enkel nodig moeten zijn bij het extraheren van oude
           broncodepakketten met een defecte versie om neerwaartse compatibiliteit te verzekeren.

INDELINGEN VAN BRONCODEPAKKETTEN

       Indien u niet weet welke indeling te kiezen voor de broncode, zou u wellicht ofwel “3.0
       (quilt)” of “3.0 (native)” moeten kiezen. Zie <https://wiki.debian.org/Projects/DebSrc3.0>
       voor informatie over het in gebruik nemen van deze indelingen binnen Debian.

   Indeling: 1.0
       Een broncodepakket volgens deze indeling bestaat ofwel uit een .orig.tar.gz gekoppeld aan
       een .diff.gz of één enkele .tar.gz (in dat geval wordt van het pakket gezegd dat het
       native (eigen - van oorsprong van Debian) is). Optioneel mag bij het originele tar-archief
       een afzonderlijke handtekening van de toeleveraar .orig.tar.gz.asc gevoegd zijn. De
       extractie ervan wordt ondersteund sinds dpkg 1.18.5.

       Extracting

       Een Debian-eigen (native) pakket extraheren is een eenvoudige extractie van het enige tar-
       archief in de doelmap. Een niet-eigen pakket extraheren bestaat erin eerst het
       .orig.tar.gz uit te pakken en er dan de patch uit het bestand .diff.gz op toe te passen.
       Voor alle bestanden waarop een patch toegepast werd, wordt de tijdsaanduiding teruggezet
       op het tijdstip van extraheren van het broncodepakket (dit vermijdt scheeftrekkingen van
       de tijdsaanduiding wat tot problemen kan leiden wanneer automatisch gegenereerde bestanden
       gepatcht worden). Het diff-bestand kan nieuwe bestanden aanmaken (de volledige debian-map
       wordt op die manier aangemaakt), maar kan geen bestanden verwijderen (lege bestanden
       blijven achter) en kan geen symbolische koppelingen creëren of wijzigen.

       Bouwen

       Een Debian-eigen (native) pakket bouwen is gewoon een enkel tar-archief maken met daarin
       de broncodemap. Een niet-eigen pakket bouwen bestaat uit het extraheren van het originele
       tar-archief in een aparte map “.orig” en het opnieuw aanmaken van het bestand .diff.gz
       door de map van het broncodepakket te vergelijken met de .orig-map.

       Bouwopties (met --build):

       Indien een tweede argument opgegeven wordt dat geen optie is, moet het de naam van de
       originele broncodemap zijn of van het tar-archief of een lege tekenreeks als het pakket
       Debian-specifiek is en dus geen diffs bevat in verband met de debianisering. Indien geen
       tweede argument opgegeven werd, zal dpkg-source zoeken naar het tar-bestand met de
       originele broncode pakket_toeleveraarsversie.orig.tar.gz of naar de map met de originele
       broncode map.orig, afhankelijk van de argumenten -sX.

       -sa, -sp, -sk, -su en -sr zullen geen bestaande tar-bestanden of -mappen overschrijven.
       Indien dat wel gewenst wordt, dan moeten in de plaats daarvan -sA, -sP, -sK, -sU en -sR
       gebruikt worden.

       -sk Geeft aan dat verwacht mag worden dat de originele broncode in de vorm van een tar-
           bestand kan aangetroffen worden, wat standaard
           pakket_toeleveraarsversie.orig.tar.extensie is. Het zal deze originele broncode als
           een tar-bestand laten staan of ze naar de huidige map kopiëren als ze zich daar nog
           niet bevindt. Het tar-archief zal uitgepakt worden in map.orig met het oog op het
           genereren van het diff-bestand.

       -sp Zoals -sk maar dit zal naderhand de map weer verwijderen.

       -su Geeft aan dat verwacht mag worden dat de originele broncode in de vorm van een map kan
           aangetroffen worden, wat standaard pakket-toeleveraarsversie.orig is, en dpkg-source
           zal er een nieuw archief met de originele broncode mee maken.

       -sr Zoals -su, maar het zal die map na gebruik verwijderen.

       -ss Geeft aan dat de originele broncode zowel als een map als in de vorm van een tar-
           bestand te vinden is. dpkg-source zal de map gebruiken om het diff-bestand te creëren,
           maar het tar-bestand om het .dsc-bestand te maken. Gebruik deze optie met zorg -
           indien de map en het tar-bestand niet overeenkomen zal er een slecht broncodearchief
           gegenereerd worden.

       -sn Geeft aan dat er niet naar een originele broncode gezocht moet worden en dat er geen
           diff-bestand aangemaakt moet worden. Als er een tweede argument opgegeven wordt, moet
           het de lege tekenreeks zijn. Dit wordt gebruikt voor Debian-specifieke pakketten die
           geen afzonderlijke toeleveraarsbroncode hebben en om die reden ook geen
           debianiserings-diffs.

       -sa of -sA
           Geeft aan dat naar de originele broncode gezocht moet worden in de vorm van een tar-
           bestand of een map. Als er een tweede argument opgegeven wordt, mag dat een van die
           twee zijn of een lege tekenreeks (dit is het equivalent voor het gebruik van -sn).
           Indien er een tar-bestand gevonden wordt, zal het dat uitpakken om het diff-bestand
           aan te maken en het daarna verwijderen (dit is het equivalent voor -sp). Indien een
           map aangetroffen wordt, zal het die inpakken om de originele broncode te creëren en ze
           vervolgens verwijderen (dit is het equivalent voor -sr). Indien geen van beide
           gevonden wordt, zal het aannemen dat het pakket geen debianiserings-diffs heeft, maar
           enkel een eenvoudig broncodearchief (dit is het equivalent voor -sn). Indien beide
           aangetroffen worden, dan zal dpkg-source de map negeren, en ze overschrijven als -sA
           opgegeven werd (dit is het equivalent voor -sP) of een foutmelding geven als -sa
           opgegeven werd. -sa is de standaard.

       --abort-on-upstream-changes
           Het proces mislukt als het gegenereerde diff-bestand wijzigingen aan bestanden buiten
           de onderliggende debian-map bevat (sinds dpkg 1.15.8). Deze optie is in
           debian/source/options niet toegestaan, maar ze kan wel gebruikt worden in
           debian/source/local-options.

       Extractieopties (met --extract):

       In alle gevallen zal een eventuele bestaande originele broncodeboom verwijderd worden.

       -sp Als dit bij het extraheren gebruikt wordt, dan zal het de (eventuele) originele
           broncode in zijn vorm van tar-bestand laten. Indien dit zich nog niet in de huidige
           map bevindt, of indien er zich een bestaand maar verschillend bestand bevindt, zal het
           naar daar gekopieerd worden. (Dit is de standaard).

       -su Pakt de originele broncodeboom uit.

       -sn Zorgt ervoor dat de originele broncode noch naar de huidige map gekopieerd wordt noch
           uitgepakt wordt. Een eventuele originele broncodeboom die zich in de huidige map
           bevond, wordt nog steeds verwijderd.

       Al de -sX-opties sluiten elkaar wederzijds uit. Indien u er meer dan één opgeeft, dan zal
       enkel de laatste gebruikt worden.

       --skip-debianization
           Slaat het toepassen van de debian diff bovenop de broncode van de toeleveraar over
           (sinds dpkg 1.15.1).

   Indeling: 2.0
       Extraheren wordt sinds dpkg 1.13.9 ondersteund, bouwen sinds dpkg 1.14.8. Ook gekend als
       wig&pen. Deze indeling wordt niet aangeraden voor massaal gebruik, de indeling “3.0
       (quilt)” vervangt ze. Wig&pen was de eerste specificatie van een broncodepakketindeling
       van de nieuwe generatie.

       Het gedrag van deze indeling is hetzelfde als bij de indeling “3.0 (quilt)”, behalve dat
       het geen gebruik maakt van een expliciete lijst van patches. Alle bestanden in
       debian/patches/ die beantwoorden aan de reguliere expressie [\w-]+ moeten geldige patches
       zijn: zij worden op het moment van extraheren toegepast.

       Bij het bouwen van een nieuw broncodepakket worden eventuele wijzigingen aan de broncode
       van de toeleveraar opgeslagen in een patch met als naam zz_debian-diff-auto.

   Indeling: 3.0 (native) (d.w.z. debian-eigen)
       Wordt ondersteund sinds dpkg 1.14.17. Deze indeling is een uitbreiding van de native
       pakketindeling, zoals gedefinieerd in de indeling 1.0. Ze ondersteunt alle
       compressiemethodes en negeert standaard eventuele VCS-specifieke bestanden en mappen
       (bestanden en mappen die verband houden met het versiebeheersysteem) evenals vele
       tijdelijke bestanden (zie de uitvoer van de optie --help voor de standaardwaarde van de
       optie -I).

   Indeling: 3.0 (quilt)
       Wordt ondersteund sinds dpkg 1.14.17. Een broncodepakket volgens deze indeling bevat
       minstens een origineel tar-archief (.orig.tar.ext waarbij ext gz, bz2, lzma en xz kan
       zijn) en een debian tar-archief (.debian.tar.ext). Het kan ook bijkomende originele tar-
       archieven bevatten (.orig-component.tar.ext). component mag enkel alfanumerieke tekens
       (‘a-zA-Z0-9’) en koppeltekens (‘-’) bevatten. Optioneel mag bij elk origineel tar-archief
       een afzonderlijke handtekening van de toeleveraar (.orig.tar.ext.asc en
       .orig-component.tar.ext.asc), gevoegd worden. De extractie ervan wordt ondersteund sinds
       dpkg 1.17.20 en het bouwen sinds dpkg 1.18.5.

       Extracting

       Eerst wordt het belangrijkste originele tar-archief uitgepakt en nadien worden alle
       bijkomende originele tar-archieven uitgepakt in onderliggende mappen die genoemd worden
       naar het component-gedeelte van hun bestandsnaam (een eventuele reeds bestaande map wordt
       vervangen). Het debian tar-archief wordt bovenop de broncodemap geëxtraheerd nadat eerst
       een eventuele reeds bestaande debian-map verwijderd werd. Merk op dat het debian tar-
       archief een onderliggende map debian moet bevatten, maar dat het ook binaire bestanden kan
       bevatten buiten die map (zie de optie --include-binaries).

       Vervolgens worden alle patches toegepast die vermeld zijn in
       debian/patches/leverancier.series of debian/patches/series, waarbij leverancier de naam is
       in kleine letters van de huidige leverancier, of debian als geen leverancier gedefinieerd
       is. Indien het eerste bestand gebruikt wordt en het laatste niet bestaat (of een
       symbolische koppeling is), dan zal het laatste vervangen worden door een symbolische
       koppeling naar het eerste. Dit is bedoeld om het gebruik van quilt bij het beheer van het
       geheel van patches te vereenvoudigen. Leveranciersspecifieke series-bestanden hebben tot
       doel het serialiseren van meerdere leveranciersgebonden ontwikkelingstakken op een
       declaratieve manier mogelijk te maken, wat verkieslijker is boven een open codering van
       deze aanpak in debian/rules. Dit is in het bijzonder nuttig wanneer de broncode
       voorwaardelijk gepatched moet worden omdat de betrokken bestanden geen ingebouwde
       ondersteuning hebben voor conditionele occlusie. Merk nochtans op dat hoewel dpkg-source
       op correcte wijze de ontleding uitvoert van series-bestanden met expliciete opties die
       gebruikt worden voor het toepassen van patches (op elke regel opgeslagen na de
       bestandsnaam van de patch en één of meer spaties), het deze opties negeert en steeds
       patches verwacht die kunnen toegepast worden met de optie -p1 van patch. Het zal dus een
       waarschuwing geven als het dergelijke opties tegenkomt en het bouwen zal waarschijnlijk
       mislukken.

       Opmerking: indien leveranciers-series-bestanden gebruikt worden, geeft lintian(1)
       onvoorwaardelijke waarschuwingen als gevolg van een controversieel Debian-specifiek
       besluit. Extern gebruik zou hierdoor niet getroffen mogen worden. Om dergelijke
       waarschuwingen het zwijgen op te leggen kunt u het dpkg-profiel van lintian gebruiken door
       aan lintian(1) de optie «--profile dpkg» mee te geven.

       Voor alle bestanden waarop een patch toegepast werd, wordt de tijdsaanduiding teruggezet
       op het tijdstip van extraheren van het broncodepakket (dit vermijdt scheeftrekkingen van
       de tijdsaanduiding hetgeen tot problemen kan leiden wanneer automatisch gegenereerde
       bestanden gepatcht worden).

       In tegenstelling tot het standaardgedrag van quilt wordt verwacht dat patches zonder gedoe
       toegepast kunnen worden. Indien dat niet het geval is, zou u de patches moeten verversen
       met quilt, anders zal dpkg-source met een foutmelding afbreken terwijl het probeert ze toe
       te passen.

       Analoog aan het standaardgedrag van quilt kunnen patches ook bestanden verwijderen.

       Als tijdens het extraheren patches werden toegepast, wordt het bestand .pc/applied-patches
       aangemaakt.

       Bouwen

       Alle originele tar-archieven die in de huidige map gevonden worden, worden geëxtraheerd in
       een tijdelijke map en daarbij wordt dezelfde logica gevolgd als bij het uitpakken. De
       debian-map wordt naar de tijdelijke map gekopieerd en alle patches worden toegepast,
       behalve de automatische patch (debian-changes-versie of debian-changes, afhankelijk van
       --single-debian-patch). De tijdelijke map wordt vergeleken met de map van het
       broncodepakket. Indien de diff niet leeg is, zal het bouwen mislukken, tenzij
       --single-debian-patch of --auto-commit gebruikt werden en in dat geval wordt de diff
       opgeslagen in de automatische patch. Indien de automatische patch aangemaakt/verwijderd
       wordt, wordt hij toegevoegd aan/verwijderd van het bestand series en van de metadata van
       quilt.

       Een eventuele wijziging aan een binair bestand kan niet weergegeven worden in een diff en
       zal dus tot een mislukking leiden, tenzij de onderhouder bewust besloot dat gewijzigd
       binair bestand toe te voegen aan het Debian tar-archief (door het op te sommen in
       debian/source/include-binaries). Het bouwen zal ook mislukken als er binaire bestanden
       aangetroffen worden in de onderliggende map debian, tenzij dit toegestaan werd via
       debian/source/include-binaries.

       De bijgewerkte map debian en de lijst van gewijzigde binaire bestanden wordt dan gebruikt
       om het Debian tar-archief te genereren.

       De automatisch gegenereerde diff bevat geen wijzigingen aan VCS-specifieke bestanden
       (d.w.z. bestanden eigen aan het versiebeheersysteem) en aan veel tijdelijke bestanden
       (kijk in de uitvoer van --help voor de standaardwaarde die met de optie -i) verbonden is.
       In het bijzonder wordt de map .pc die door quilt gebruikt wordt, genegeerd tijdens het
       genereren van de automatische patch.

       Opmerking: dpkg-source --before-build (en --build) zal ervoor zorgen dat alle patches die
       in het bestand series opgesomd zijn, toegepast worden, zodat bij het bouwen van een pakket
       steeds alle patches toegepast zijn. Het doet dit door te zoeken naar niet-toegepaste
       patches (ze worden opgesomd in het bestand series maar niet in .pc/applied-patches) en
       indien de eerste patch uit die reeks foutloos toegepast kan worden, zal het ze allemaal
       toepassen. De optie --no-preparation kan gebruikt worden om dit gedrag uit te schakelen.

       Wijzigingen optekenen

       --commit [map] [patchnaam] [patchbestand]
           Genereert een patch in verband met de lokale wijzigingen die niet door het
           patchsysteem van quilt beheerd worden en integreert die in het patchsysteem onder de
           naam patchnaam. Indien de naam ontbreekt, zal er interactief om gevraagd worden.
           Indien patchbestand opgegeven werd, wordt dat gebruikt als de te integreren patch in
           verband met de lokale wijzigingen. Na de integratie wordt een editor opgestart, zodat
           u de meta-informatie in de koptekst van de patch kunt bewerken.

           Een patchbestand opgeven is vooral nuttig na een mislukte bouwpoging die dat bestand
           vooraf aanmaakte. Op grond daarvan wordt dat bestand na integratie verwijderd. Merk
           ook op dat de wijzigingen die het patch-bestand bevat, reeds toegepast moeten zijn op
           de boom en dat de bestanden die door de patch aangepast werden geen bijkomende niet-
           opgetekende wijzigingen mogen bevatten.

           Indien het genereren van de patch gewijzigde binaire bestanden opmerkt, zullen die
           automatisch toegevoegd worden aan debian/source/include-binaries, zodat die terecht
           komen in het debian tar-archief (exact op dezelfde manier als dpkg-source
           --include-binaries --build zou doen).

       Bouwopties

       --allow-version-of-quilt-db=versie
           dpkg-source toelaten het broncodepakket te bouwen als de versie van de metadata van
           quilt de opgegeven versie is, zelfs al kent dpkg-source die niet (sinds dpkg
           1.15.5.4). Dit zegt effectief dat de opgegeven versie van de quilt-metadata compatibel
           is met versie 2 die momenteel door dpkg-source ondersteund wordt. De versie van de
           metadata van quilt wordt opgeslagen in .pc/.version.

       --include-removal
           Verwijderde bestanden niet negeren en ze opnemen in de automatisch gegenereerde patch.

       --include-timestamp
           De tijdsaanduiding toevoegen in de automatisch gegenereerde patch.

       --include-binaries
           Alle gewijzigde binaire bestanden toevoegen aan het debian tar-archief. Ze ook
           toevoegen in debian/source/include-binaries: in erop volgende bouwactiviteiten zullen
           ze standaard toegevoegd worden en is deze optie dus niet meer nodig.

       --no-preparation
           Niet proberen de bouwboom voor te bereiden door patches toe te passen die blijkbaar
           niet toegepast zijn (sinds dpkg 1.14.18).

       --single-debian-patch
           debian/patches/debian-changes gebruiken in plaats van
           debian/patches/debian-changes-versie voor de naam van de tijdens het bouwen
           automatisch gegenereerde patch (sinds dpkg 1.15.5.4). Deze optie is in het bijzonder
           nuttig als het pakket wordt onderhouden in een VCS (versiebeheersysteem) en een reeks
           patches niet op een betrouwbare manier gegenereerd kan worden. De huidige verschillen
           (de diff) met de toeleveraarsversie moeten dan eerder in een enkele patch opgeslagen
           worden. Deze optie wordt geplaatst in debian/source/local-options en gaat samen met
           een bestand debian/source/local-patch-header waarin uitgelegd wordt hoe de door Debian
           aangebrachte wijzigingen best herzien kunnen worden, bijvoorbeeld in het
           versiebeheersysteem dat gebruikt wordt.

       --create-empty-orig
           Automatisch een leeg primair origineel tar-archief creëren als dat ontbreekt en er wel
           bijkomende originele tar-archieven zijn (sinds dpkg 1.15.6). Deze optie is bedoeld om
           gebruikt te worden als het broncodepakket slechts een bundel is van samengestelde
           toegeleverde software zonder een “centraal” programma.

       --no-unapply-patches, --unapply-patches
           Standaard zal dpkg-source de patches uit de uitbreiding (hook) --after-build
           automatisch terugdraaien als het die tijdens --before-build heeft toegepast
           (--unapply-patches sinds dpkg 1.15.8, --no-unapply-patches sinds dpkg 1.16.5). Deze
           opties laten u toe om het proces van automatisch terugdraaien van patches
           uitdrukkelijk in of uit te schakelen. Deze opties mogen enkel in
           debian/source/local-options gebruikt worden, zodat alle gegenereerde broncodepakketten
           standaard hetzelfde gedrag vertonen.

       --abort-on-upstream-changes
           Het proces mislukt als een automatische patch gegenereerd werd (sinds dpkg 1.15.8).
           Deze optie kan gebruikt worden om te verzekeren dat alle wijzigingen terdege
           geregistreerd worden in aparte quilt-patches vooraleer het broncodepakket gegenereerd
           wordt. Deze optie is niet toegestaan in debian/source/options, maar mag gebruikt
           worden in debian/source/local-options.

       --auto-commit
           Het proces mislukt niet als een automatische patch gegenereerd werd. In de plaats
           daarvan wordt hij onmiddellijk opgetekend in het bestand series van quilt.

       Extractieopties

       --skip-debianization
           Slaat het extraheren van het debian tar-archief bovenop de broncode van de toeleveraar
           over (sinds dpkg 1.15.1).

       --skip-patches
           Op het einde van de extractie geen patches toepassen (sinds dpkg 1.14.18).

   Indeling: 3.0 (custom) (d.w.z. aangepast)
       Ondersteund sinds dpkg 1.14.17. Deze indeling is bijzonder. Ze stelt eigenlijk geen echte
       broncodepakketindeling voor, maar kan gebruikt worden om broncodepakketten met arbitraire
       bestanden te maken.

       Bouwopties

       Alle argumenten die geen opties zijn, worden geïnterpreteerd als bestanden die
       geïntegreerd moeten worden in het gegenereerde broncodepakket. Ze moeten bestaan en zich
       bij voorkeur in de huidige map bevinden. Tenminste één bestand moet opgegeven worden.

       --target-format=waarde
           Verplicht. Definieert de echte indeling van het gegenereerde broncodepakket. Het
           gegenereerde .dsc-bestand zal in het veld Format deze waarde bevatten en niet “3.0
           (custom)”.

   Indeling: 3.0 (git)
       Ondersteund sinds dpkg 1.14.17. Dit is een experimentele indeling.

       Een broncodepakket volgens deze indeling bestaat uit een eenvoudige bundeling van een git-
       depot .git die de broncode van het pakket bevat. Er kan ook een bestand .gitshallow
       bestaan die de revisies vermeldt van een git shallow clone (een summiere kloon van een
       git-depot).

       Extracting

       De bundel wordt gekloond in de doelmap als een git-depot. Als er een bestand gitshallow
       bestaat, wordt het als .git/shallow geïnstalleerd binnenin het gekloonde git-depot.

       Merk op dat standaard het nieuwe depot dezelfde tak zal binnengehaald hebben die
       binnengehaald was in de originele broncode. (Meestal is dat “main”, maar dat kan om het
       even wat zijn). Eventuele andere takken zullen beschikbaar zijn onder remotes/origin/.

       Bouwen

       Vooraleer voort te gaan, worden een aantal controles uitgevoerd om zeker te zijn dat er
       geen niet-vastgelegde wijzigingen zijn die niet mogen genegeerd worden.

       git-bundle(1) wordt gebruikt om een bundel te genereren van het git-depot. Standaard
       worden alle takken en tags uit het depot in de bundel opgenomen.

       Bouwopties

       --git-ref=ref
           Laat toe om een git-referentie op te geven die in de git-bundel opgenomen moet worden.
           Daar gebruik van maken schakelt het standaardgedrag om alle takken en tags op te
           nemen, uit. Kan meermaals vermeld worden. De referentie kan de naam van een tak of een
           tag zijn die opgenomen moet worden. Het kan ook een parameter zijn die doorgegeven kan
           worden aan git-rev-list(1). Gebruik bijvoorbeeld --git-ref=main om enkel de hoofdtak
           op te nemen. Om alle takken en tags, behalve de tak persoonlijk op te nemen, gebruikt
           u --git-ref=--all --git-ref=^persoonlijk

       --git-depth=aantal
           Creëert een summiere (shallow) kloon met een geschiedenis die afgekapt werd bij het
           opgegeven aantal revisies.

   Indeling: 3.0 (bzr)
       Ondersteund sinds dpkg 1.14.17. Dit is een experimentele indeling. Ze genereert één enkel
       tar-archief met daarin het bzr-depot.

       Extracting

       Het tar-archief wordt uitgepakt en daarna wordt bzr gebruikt om een werkkopie van de
       huidige tak te maken.

       Bouwen

       Vooraleer voort te gaan, worden een aantal controles uitgevoerd om zeker te zijn dat er
       geen niet-vastgelegde wijzigingen zijn die niet mogen genegeerd worden.

       Daarna wordt het versiebeheerspecifieke deel van de broncodemap gekopieerd naar een
       tijdelijke map. Vooraleer deze tijdelijke map in een tar-archief ingepakt wordt, worden
       verschillende opruimtaken verricht om plaats te winnen.

DIAGNOSTIEK

   geen broncode-indeling opgegeven in debian/source/format
       Het bestand debian/source/format moet altijd bestaan en de gewenste broncode-indeling
       aangeven. Met het oog op neerwaartse compatibiliteit wordt indeling “1.0” verondersteld
       als het bestand niet bestaat, maar u zou hierop niet moeten betrouwen: ergens in de
       toekomst zal dpkg-source aangepast worden, zodat het zal mislukken als het bestand niet
       bestaat.

       De verantwoording is dat indeling “1.0” niet langer de aanbevolen indeling is. U zou
       gewoonlijk één van de recentere indelingen (“3.0 (quilt)”, “3.0 (native)”) moeten kiezen,
       maar dpkg-source zal dit niet automatisch voor u doen. Indien u de oude indeling wilt
       blijven gebruiken, moet u dat expliciet aangeven en “1.0” plaatsen in
       debian/source/format.

   de diff wijzigt de volgende bestanden van de toeleveraar
       Als u broncode-indeling “1.0” gebruikt, is het meestal geen goed idee om rechtstreeks
       wijzigingen aan te brengen in bestanden van de toeleveraar, vermits de wijzigingen
       verborgen en grotendeels niet-gedocumenteerd belanden in het bestand .diff.gz. U zou uw
       wijzigingen dan beter opslaan als patches in de map debian en ze dan op het ogenblik van
       het bouwen toepassen. Om deze complexe werkwijze te vermijden, kunt u ook de indeling “3.0
       (quilt)” gebruiken, die dit geïntegreerd aanbiedt.

   kan wijziging aan bestand niet representeren
       Wijzigingen aan de broncode van de toeleveraar worden gewoonlijk met patch-bestanden
       opgeslagen, maar niet alle wijzigingen kunnen met patches gerepresenteerd worden, omdat
       die enkel de inhoud van gewone tekstbestanden kunnen aanpassen. Indien u een bestand
       tracht te vervangen door iets van een ander type (bijvoorbeeld een gewoon bestand
       vervangen door een symbolische koppeling of een map), zult u deze foutmelding krijgen.

   nieuw gecreëerd leeg bestand bestand zal niet gerepresenteerd worden in de diff
       Lege bestanden kunnen niet met behulp van patch-bestanden aangemaakt worden. Deze
       wijziging wordt dus niet geregistreerd in het broncodepakket en u wordt daarover
       ingelicht.

   uitvoerbare modus toegangsrechten van bestand zal niet weergegeven worden in de diff
       Patch-bestanden registreren geen toegangsrechten van bestanden en dus wordt het feit dat
       een bestand uitvoerbaar is, niet in het broncodepakket opgeslagen. Deze waarschuwing
       brengt dit feit in herinnering.

   bijzondere modus toegangsrechten van bestand zal niet weergegeven worden in de diff
       Patch-bestanden registreren geen toegangsrechten van bestanden en dus worden wijzigingen
       aan toegangsrechten niet opgeslagen in het broncodepakket. Deze waarschuwing brengt dit
       feit in herinnering.

OMGEVING

       DPKG_COLORS
           Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt mogen
           worden zijn: auto (standaard), always en never.

       DPKG_NLS
           Indien dit ingesteld is, zal het gebruikt worden om te beslissen over het activeren
           van moedertaalondersteuning, ook gekend als internationaliseringsondersteuning (of
           i18n) (sinds dpkg 1.19.0). Geldige waarden zijn: 0 and 1 (standaard).

       SOURCE_DATE_EPOCH
           Indien dit ingesteld werd, zal het gebruikt worden als de tijdsaanduiding (timestamp)
           (in seconden sinds de epoch) om de mtime vast te zetten op de items uit het
           tar(5)-bestand.

       VISUAL
       EDITOR
           Gebruikt door de broncode-indelingmodules “2.0” en “3.0 (quilt)”.

       GIT_DIR
       GIT_INDEX_FILE
       GIT_OBJECT_DIRECTORY
       GIT_ALTERNATE_OBJECT_DIRECTORIES
       GIT_WORK_TREE
           Gebruikt door de broncode-indelingmodules “3.0 (git)”.

BESTANDEN

   debian/source/format
       Dit bestand bevat op één enkele regel de indeling die gebruikt moet worden om het
       broncodepakket te bouwen (mogelijke indelingen werden hierboven beschreven). Voorafgaande
       of nakomende witruimte is niet toegelaten.

   debian/source/include-binaries
       Dit bestand bevat een lijst van padnamen van binaire bestanden (één per regel) relatief
       ten opzichte van de broncodebasismap, welke opgenomen moeten worden in het debian tar-
       archief. Voorafgaande of nakomende spaties worden gestript. Regels die beginnen met ‘#’
       zijn commentaar en worden overgeslagen. Lege regels worden genegeerd.

   debian/source/options
       Dit bestand bevat een lijst met lange opties die automatisch voorgevoegd moeten worden aan
       de reeks commandoregelopties die gebruikt worden bij het inroepen van het commando dpkg-
       source --build of dpkg-source --print-format. Opties zoals --compression en
       --compression-level zijn zeer geschikt voor dit bestand.

       Elke optie moet op een aparte regel geplaatst worden. Lege regels en regels die beginnen
       met ‘#’ worden genegeerd. De ‘--’ vooraan moeten weggelaten worden en korte opties zijn
       niet toegelaten. Facultatieve witruimte rond het symbool ‘=’ en facultatieve
       aanhalingstekens rond de waarde zijn toegelaten. Hierna volgt een voorbeeld van een
       dergelijk bestand:

         # laat dpkg-source een bestand debian.tar.bz2 aanmaken met maximale compressie
         compression = "bzip2"
         compression-level = 9
         # gebruik debian/patches/debian-changes als automatische patch
         single-debian-patch
         # negeer wijzigingen aan config.{sub,guess}
         extend-diff-ignore = "(^|/)(config.sub|config.guess)$"

       Opmerking: --format-opties worden niet aanvaard in dit bestand. U moet daarvoor eerder
       debian/source/format gebruiken.

   debian/source/local-options
       Precies zoals debian/source/options, behalve dat het bestand niet opgenomen wordt in het
       gegenereerde broncodepakket. Dit kan nuttig zijn om een voorkeur op te slaan die eigen is
       aan de onderhouder of aan een bepaald depot van een versiebeheersysteem waarin het pakket
       onderhouden wordt.

   debian/source/local-patch-header
   debian/source/patch-header
       Vrij opgemaakte tekst die geplaatst wordt bovenaan de automatische patch die gegenereerd
       wordt bij de indelingen “2.0” en “3.0 (quilt)”. local-patch-header wordt niet toegevoegd
       aan het gegenereerde broncodepakket, terwijl dat met patch-header wel het geval is.

   debian/patches/leverancier.series
   debian/patches/series
       Dit bestand somt alle patches op die toegepast moeten worden (in de opgegeven volgorde)
       bovenop het broncodepakket van de toeleveraar. Spaties vooraan en achteraan worden
       weggehaald. leverancier is de naam in kleine letters van de huidige leverancier of debian
       als geen leverancier gedefinieerd werd. Indien het leveranciersspecifieke series-bestand
       niet bestaat, zal het leveranciersloze series-bestand gebruikt worden. Regels die beginnen
       met ‘#’ zijn commentaar en worden overgeslagen. Lege regels worden genegeerd. De overige
       regels beginnen met de bestandsnaam van een patch (relatief ten opzichte van de map
       debian/patches/) tot aan de eerste spatie of het einde van de regel. Facultatieve
       quilt-opties kunnen daarna komen tot aan het einde van de regel of tot aan het eerste
       ‘#’-teken dat voorafgegaan wordt door één of meer spaties (hetgeen het begin van een
       commentaarstuk aangeeft dat doorloopt tot het einde van de regel).

BUGS

       Het punt waarop de vervanging van velden plaats vindt, vergeleken met bepaalde
       standaardinstellingen voor uitvoervelden, is eerder onduidelijk.

ZIE OOK

       deb-src-control(5), deb-changelog(5), deb-substvars(5), dsc(5).