summaryrefslogtreecommitdiffstats
path: root/man/sv/dpkg-source.pod
blob: f898223e6ebf00ac9137faefeecc4f2cff061196 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NAMN

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

=head1 SYNOPS

B<dpkg-source> [I<flagga>...] I<åtgärd>

=head1 BESKRIVNING

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

=head1 KOMMANDON

=over 

=item B<-x>, B<--extract> I<filename>.dsc [I<utdatakatalog>]

Extrahera ett källkodspaket (B<--extract> sedan dpkg 1.17.14). Ett argument
som inte är en flagga måste anges, namnet på debiankällkodsstyrfilen
(B<.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 I<källkod>-I<version> i den aktuella
arbetskatalogen.

B<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 B<.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
B<debian/source/format> så att det används som standard när källkodspaketet
byggs på nytt.

=item B<-b>, B<--build> I<directory> [I<formatspecifika-flaggor>]

Bygg ett källkodpaket (B<--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.

B<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 I<--format>, formatet som anges i
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 B<debian/source/format>. Se avsnittet B<FORMAT PÅ
KÄLLKODSPAKET> för en utförlig beskrivning av de olika
källkodspaketformaten.

=item B<--print-format> I<katalog>

Visa formatet som skulle användas för att bygga källkodspaketet om
B<dpkg-source --build> I<katalog> skulle köras (under samma förhållanden och
med samma parametrar; sedan dpkg 1.15.5).

=item B<--before-build> I<katalog>

Kör motsvarande krok för källkodspaketformatet (sedan dpkg 1.15.8). Kroken
anropas innan något från paketet byggs (B<dpkg-buildpakcage> anropar det
väldigt tidigt, till och med före B<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.

=item B<--after-build> I<katalog>

Kör motsvarande krok för källkodspaketformatet (sedan dpkg 1.15.8). Kroken
anropas efter att allt från paketet byggts (B<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 B<--before-build> har
gjort.

=item B<--commit> [I<katalog>] ...

Spara ändringar i källkodsträdet som har packats upp i 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.

=item B<-?>, B<--help>

Visar hjälpskärm och avslutar. De formatspecifika bygg- och
extraheringsflaggorna kan visas genom att använda flaggan B<--format>.

=item B<--version>

Visar version och avslutar.

=back

=head1 FLAGGOR

=head2 Generiska byggflaggor

=over 

=item B<-c>I<control-fil>

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

=item B<-l>I<ändringsloggfil>

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

=item B<-F>I<ändringsloggformat>

Anger format på ändringsloggen. Se B<dpkg-parsechangelog>(1) för information
om alternativa format.

=item B<--format=>I<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
B<debian/source/format>.

=item B<-V>I<namn>B<=>I<värde>

Ställer in en utdatasubstitueringsvariabel. Se B<deb-substvars>(5) för en
beskrivning av utdatasubstituering.

=item B<-T>I<substvars-fil>

Läs substitueringsvariabler från I<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).

=item B<-D>I<fält>B<=>I<värde>

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

=item B<-U>I<fält>

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

=item B<-Z>I<komprimering>, B<--compression>=I<komprimering>

Anger vilken komprimering som ska användas för de skapade tar-bollarna och
diff-filerna (B<--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: I<gzip>, I<bzip2>, I<lzma> samt I<xz>. Förvalet
är I<xz> för format 2.0 och senare, och I<gzip> för format 1.0. Stöd för
I<xz> finns bara från och med dpkg 1.15.5.

=item B<-z>I<nivå>, B<--compression-level>=I<nivå>

Komprimeringsnivå att använda (B<--compression-level> sedan dpkg
1.15.5). Som med B<-Z> påverkas bara filer som nyskapas. Värden som stöds
är: I<1> till I<9>, I<best> (bäst) och I<fast> (snabb). I<9> är förval för
gzip och bzip2, I<6> för xz och lzma.

=item B<-i>[I<reg.uttr>], B<--diff-ignore>[=I<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 (B<--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.)

B<-i> ensamt aktiverar inställningen, med ett standardvärde (bibehåller
modifieringar till standarduttrycket som gjorts med tidigare användning av
B<--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 B<-i>-flaggor är det den sista 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 ”(^|/)”,
”($|/)”).

=item B<--extend-diff-ignore>=I<reg.uttr>

Det reguljära uttrycket i perlformat som angavs utökar standardvärdet som
används av B<--diff-ignore> och dess nuvarande värde, om satt (sedan dpkg
1.15.6). Det gör så genom att lägga till ”B<|>I<reg.uttr>” efter
standarduttrycket. Flaggan är nyttig för B<debian/source/options> för att
exkludera en del automatiskt genererade filer från skapandet av automatiska
patchar.

=item B<-I>[I<filmönster>], B<--tar-ignore>[=I<filmönster>]

Om flaggan anges kommer filnamnet att sändas vidare till B<tar>(1):s
B<--exclude>-flagga när det anropas för att skapa en .orig.tar.gz eller
.tar.gz-fil (B<--tar-ignore> sedan dpkg 1.15.6). Till exempel kommer
B<-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.

B<-I> ensamt lägger till satandard B<--exclude>-flaggor som filtrerar ut
styrfiler och kataloger från de flesta vanliga versionshanteringssystem,
säkerhetskopior, växlingsfiler och Libtool-byggutdatakataloger.

=back

B<Observera:> Även om de används till liknande ändamål, så har B<-i> och
B<-I> väldigt olika syntax och semantik. B<-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. B<-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 B<--exclude>-flagga är något komplicerad, se
L<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 B<--help>-kommandot.

=head2 Generiska extraheringsflaggor

=over 

=item B<--no-copy>

Kopiera inte original-tarbollar i närheten av det uppackade källkodspaketet
(sedan dpkg 1.14.17).

=item B<--no-check>

Kontrollera inte signaturer och kontrollsummor före uppackning (sedan dpkg
1.14.17).

=item B<--no-overwrite-dir>

Skriv inte över uppackningskatalogen om den redan finns (sedan dpkg 1.18.8).

=item B<--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
I<trustedkeys.gpg>-nyckelring, en av de säljarspecifka nyckelringarna, eller
en av de officiella Debiannyckelringarna
(I</usr/share/keyrings/debian-keyring.gpg>,
I</usr/share/keyrings/debian-nonupload.gpg> och
I</usr/share/keyrings/debian-maintainers.gpg>).

=item B<--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 B<SHA-256>.

=item B<--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.

=back

=head1 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)”. L<Se
https://wiki.debian.org/Projects/DebSrc3.0> för information om hur dessa
format sätts i produktion i Debian.

=head2 Format: 1.0

Ett källkodspaket i detta format består antingen av en B<.orig.tar.gz>,
förbunden med en B<.diff.gz>, eller en ensam B<.tar.gz> (i så fall anses
paketet vara I<eget>, ”I<native>”). Original-tarbollen kan också valfritt
åtföljas av en friliggande uppströmssignatur B<.orig.tar.gz.asc>, uppackning
stöds sedan dpkg 1.18.5.

B<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 I<.orig.tar.gz>-filen och sedan genom att tillämpa patchen
som finns i B<.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.

B<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 B<.diff.gz>-filen
på nytt genom att jämföra källkodspaketets I<katalog> med .orig-katalogen.

B<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 B<dpkg-source>
att leta efter originalkällkodstarfilen
I<paket>B<_>I<uppströmsversion>B<.orig.tar.gz> eller
originalkällkodskatalogen I<paket>B<.orig> beroende på B<-sX>-flaggorna.

B<-sa>, B<-sp>, B<-sk>, B<-su> och B<-sr> skriver inte över befintliga
tar-filer och kataloger. Om det önskas bör  B<-sA>, B<-sP>, B<-sK>, B<-sU>
och B<-sR> anges i stället.

=over 

=item B<-sk>

Anger att den ursprungliga källkoden är en tar-fil, som standard
I<paket>B<_>I<uppströmsversion>B<.orig.tar.>I<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 I<katalog>B<.orig> för att generera diffen.

=item B<-sp>

Som B<-sk>, men tar bort katalogen igen efteråt.

=item B<-su>

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

=item B<-sr>

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

=item B<-ss>

Anger att originalkällkoden finns både som en katalog och en
tar-fil. Katalogen kommer att användas av B<dpkg-source> för att skapa
diffen, men tarfilen för att skapa B<.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.

=item B<-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.

=item B<-sa> eller B<-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 B<-sn>). Om en tarfil hittas kommer
programmet att packa upp den för att skapa en diff och ta bort den efteråt
(motsvarar B<-sp>). Om en katalog hittas kommer den att packas för att skapa
originalkällkoden och ta bort den efteråt (motsvarar B<-sn>). Om båda hittas
kommer B<dpkg-source> att ignorera katalogen, och skriva över den om B<-sA>
angavs (detta motsvarar B<-sP>) eller ge ett felmeddelande om B<-sa>
angavs. B<-sa> är standard.

=item B<--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 B<debian/source/options>, men kan användas i
B<debian/source/local-options>.

=back

B<Extraheringsflaggor (med --extract):>

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

=over 

=item B<-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. (B<Detta är standard.>)

=item B<-su>

Packar upp originalkällkodsträdet.

=item B<-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.

=back

Alla B<-s>I<X>-flaggor är ömsesidigt uteslutande. Om du anger mer än en
kommer endast den sista att användas.

=over 

=item B<--skip-debianization>

Hoppas över att tillämpa debian-diffen ovanpå uppströmskällkoden (sedan dpkg
1.15.1).

=back

=head2 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
B<debian/patches/> som motsvarar det Perl-reguljära uttrycket B<[\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 B<zz_debian-diff-auto>.

=head2 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 B<-i> i texten för B<--help>).

=head2 Format: 3.0 (quilt)

Stöds sedan dpkg 1.14.17. Ett källkodspaket i detta format innehåller
åtminstone en original-tarboll (B<.orig.tar.>I<ext>, där I<ext> kan vara
B<gz>, B<bz2>, B<lzma> eller B<xz>) och en Debiantarboll
(B<.debian.tar.>I<ext>). Den kan även innehålla ytterligare
original-tarbollar (B<.orig->I<komponent>B<.tar.>I<ext>). I<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 (B<.orig.tar.>I<ext>B<.asc> och
B<.orig->I<komponent>B<.tar.>I<ext>B<.asc>), uppackning stöds sedan dpkg
1.17.20, byggning stöds sedan dpkg 1.18.5.

B<Uppackning>

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

Alla patchar listade i B<debian/patches/>I<återförsäljare>B<.series> eller
B<debian/patches/series> tillämpas sedan, där I<återförsäljare> är namnet på
den aktuella återförsäljaren skrivet med små bokstäver, eller B<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
B<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 B<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
B<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 B<-p1> till B<patch>. Det kommer
därför visa en varning sådana flaggor upptäcks, och bygget kommer troligen
att misslyckas.

Oberbera att B<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 ”B<--profile dpkg>”
till B<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 B<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 B<quilt>, om inte kommer B<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 B<quilt> normalt fungerar.

Filen B<.pc/applied-patchers> skapas om patchar tillämpades vid
uppackningen.

B<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 (B<debian-changes>I<version> eller B<debian-changes>,
beroende på B<--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 B<--single-debian-patch> eller B<--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
B<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 B<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 B<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 B<-i> i texten för B<--help>). Detta gäller speciellt
katalogen B<.pc> som används av B<quilt>, katalogen kommer att ignoreras när
den automatiska patchen skapas.

B<Observera:> B<dpkg-source> B<--before-build> (och B<--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 B<series> men inte i B<.pc/applied-patches>), och
om den första patchen i listan kan tillämpas utan fel kommer samtliga att
tillämpas. Flaggan B<--no-preparation> kan användas för att slå av detta
beteende.

B<Lagra ändringar>

=over 

=item B<--commit> [I<katalog>] [I<patchnamn>] [I<patch-fil>]

Skapar en patch som motsvarar de lokala ändringar som inte hanteras av
B<quilt>-patch-systemet och integrerar dem i patch-systemet under namnet
I<patchnamn>. Om namnet saknas kommer programmet be om ett interaktivt. Om
I<patch-fil> anges används den som patch som motsvarar de lokala ändringar
som ska integreras. När patchen är integrerad startas ett redigeringsprogram
så att du kan ange metainformationen i patchhuvudet.

Det är oftast nyttigt att sända med I<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 B<debian/source/include-binaries> så att de
dyker upp i debian-tarbollen (precis som B<dpkg-source --include-binaries
--build> skulle gjort).

=back

B<Byggflaggor>

=over 

=item B<--allow-version-of-quilt-db=>I<version>

Tillåt B<dpkg-source> att bygga källkodspaketet om versionen av
B<quilt>-metadata är den som angavs, även om B<dpkg-source> inte känner till
den (sedan dpkg 1.15.5.4). Det betyder att den givna versionen av
B<quilt>-metadata är kompatibel med version 2 som B<dpkg-source> för
närvarande stöder. Versionen av B<quilt>-metadata lagras i B<.pc/.version>.

=item B<--include-removal>

Ignorera inte borttagna filer och ta med dem i den automatiskt genererade
patchen.

=item B<--include-timestamp>

Ta med tidsstämpel i den automatiskt genererade patchen.

=item B<--include-binaries>

Lägg till alla modifierade binärer i debian-tarbollen. Lägg även till dem i
B<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.

=item B<--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).

=item B<--single-debian-patch>

Använd B<debian/patches/debian-changes> istället för
B<debian/patches/debian-changes->I<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
B<debian/source/local-options> och följs av filen
B<debian/source/local-patch-header> som beskricer hur Debianändringarna bäst
kan ses, till exempel i det versionshanteringssystem som används.

=item B<--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.

=item B<--no-unapply-patches, --unapply-patches>

Som standard kommer B<dpkg-source> att automatiskt ta bort patchar i kroken
B<--after-build> om de applicerades under B<--before-build>
(B<--unapply-patches> sedan dpkg 1.15.8, B<--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
B<debian/source/local-options> så att alla genererade källkodspaket som
standard har samma beteende.

=item B<--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 B<quilt>-patchar innan källkodspaketet
byggts. Flaggan tillåts inte i B<debian/source/options>, men kan användas i
B<debian/source/local-options>.

=item B<--auto-commit>

Processen misslyckas inte om en automatisk patch har skapats, den läggs
istället direkt in i B<quilt>-serien.

=back

B<Extraheringsflaggor>

=over 

=item B<--skip-debianization>

Hoppar över att packa upp debian-tarbollen ovanpå uppströmskällkoden (sedan
dpkg 1.15.1).

=item B<--skip-patches>

Applicera inte patchar i slutet av uppackningen (sedan dpkg 1.14.18).

=back

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

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

=over 

=item B<--target-format=>I<värde>

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

=back

=head2 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 B<.git>, vilket innehåller paketets källkod. Filen B<.gitshallow>,
som innehåller revisioner för grunda git-kloner, kan även förekomma.

B<Uppackning>

Bunten klonas som ett git-arkiv till målkatalogen. Om filen gitshallow finns
installeras den som I<.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 ”master”, men kan vara vad som helst.) Eventuella
andra grenar kommer också att vara tillgängliga, under I<remotes/origin/>.

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

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

B<Byggflaggor>

=over 

=item B<--git-ref=>I<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. I<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 B<git-rev-list>(1). För att, till exempel, endast ta med
grenen ”master”, använd B<--git-ref=>master. För att ta med alla taggar och
grenar, förutom grenen private, använd B<--git-ref=>--all
B<--git-ref=>^private

=item B<--git-depth=>I<antal>

Skapar en grund klon med en historik som är avhuggen vid det angivna antalet
revisioner.

=back

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

B<Uppackning>

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

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

=head1 DIAGNOSTIK

=head2 källkodsformat ej angivet i debian/source/format

Filen B<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 B<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 B<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 B<debian/source/format>.

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

=head2 kan inte representera ändringen för I<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.

=head2 den tomma filen I<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.

=head2 exekveringsläge I<läge> på I<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.

=head2 specialläget I<läge> på I<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.

=head1 MILJÖVARIABLER

=over 

=item B<DPKG_COLORS>

Väljer färgläge (sedan dpkg 1.18.5). För närvarande godtas följande värden:
B<auto> (förval), B<always> och B<never>.

=item B<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: B<0> och B<1> (förval).

=item B<SOURCE_DATE_EPOCH>

Om satt kommer det användas som tidsstämpel (som sekunder sedan epoken) för
att tvinga mtime i B<tar>(5)-filposterna.

=item B<VISUAL>

=item B<EDITOR>

Används av källkodsformatmodulerna ”2.0” och ”3.0 (quilt)”.

=item B<GIT_DIR>

=item B<GIT_INDEX_FILE>

=item B<GIT_OBJECT_DIRECTORY>

=item B<GIT_ALTERNATE_OBJECT_DIRECTORIES>

=item B<GIT_WORK_TREE>

Används av källkodsformatmodulen ”3.0 (git)”.

=back

=head1 FILER

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

=head2 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 ”B<#>” är kommentarer och hoppas över. Tomma rader ignoreras.

=head2 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 B<dpkg-source --build> eller
B<dpkg-source --print-format>. Flaggor som B<--compression> och
B<--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
”B<#>” ignoreras. Inledande ”B<-->” ska tas bort och korta flaggor är inte
tillåtna. Blanksteg tillåts runt ”B<=>”-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.

=head2 debian/source/local-options

Precis som B<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.

=head2 debian/source/local-patch-header

=head2 debian/source/patch-header

Friformstext som läggs in på toppen av den automatiskt genererade patchen i
formaten ”2.0” eller ”3.0 (quilt)”. B<local-patch-header> tas inte med i det
genererade källkodspaketet medan B<patch-header> tas med.

=head2 debian/patches/I<återförsäljare>.series

=head2 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. I<å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 ”B<#>” är kommentarer och ignoreras. Tomma rader ignoreras. De rader som
är kvar inleds med filnamnet på en patchfil (relativt till
B<debian/patches/>-katalogen) upp till det första blankstegstecknet eller
slutet på raden. Valfria flaggor till B<quilt> kan följa fram till slutet av
raden eller det första ”B<#>” som följer på ett eller flera blanksteg
(vilket anger början på en kommentar fram till slutet av raden).

=head1 PROGRAMFEL

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

=head1 SE ÄVEN

B<deb-src-control>(5), B<deb-changelog>(5), B<dsc>(5).


=head1 ÖVERSÄTTNING

Peter Krefting och Daniel Nylander.