Provided by: dpkg-dev_1.17.5ubuntu5.8_all 

NAZWA
dpkg-source - narzędzia do zarządzania źródłowymi pakietami Debiana (.dsc)
SKŁADNIA
dpkg-source [opcja...] polecenie
OPIS
dpkg-source tworzy i rozpakowuje źródłowe archiwa (pakiety) Debiana.
Żadne z tych poleceń nie pozwala na łączenie wielu opcji w jedną, nie pozwalają również na podawanie
wartości opcji jako oddzielnego parametru.
POLECENIA
-x nazwa-pliku.dsc [katalog-wyjściowy]
Rozpakowanie pakietu źródłowego. Wymagane jest podanie jednego argumentu nie będącego opcją, nazwy
pliku kontrolny pakietu źródłowego (.dsc). Ponadto może być podany drugi opcjonalny argument
niebędący opcją, określający katalog, do którego pakiet źródłowy ma zostać rozpakowany (katalog
ten nie może istnieć). Jeśli nie podano katalogu wyjściowego, pakiet źródłowy jest rozpakowywany
do katalogu o nazwie źródło-wersja w ramach bieżącego katalogu roboczego.
dpkg-source odczyta nazwy innych plików tworzących pakiet źródłowy z pliku kontrolnego; zakładane
jest, że są one w tym samym katalogu co .dsc.
Pliki w rozpakowanym pakiecie będą mieć uprawnienia i właściciela zgodnie z typowymi, oczekiwanymi
wartościami jak przy zwykłym tworzeniu plików i katalogów - katalogi i pliki wykonywalne będą mieć
prawa 0777, zaś zwykłe pliki będą mieć prawa 0666 (w obu przypadkach modyfikowane przez umask
rozpakowującego). Ponadto jeśli katalog nadrzędny ma ustawiony bit setgid, rozpakowane katalogi
także będą go mieć, zaś wszystkie pliki i katalogi przejmą ustawienia grupy katalogu nadrzędnego.
Jeśli pakiet źródłowy używa niestandardowego formatu (aktualnie oznacza to wszystkie formaty poza
"1.0"), jego nazwa będzie umieszczona w pliku debian/source/format. Dzięki temu przy następnych
budowach pakietu źródłowego będzie domyślnie używany ten sam format.
-b, katalog [parametry-zależne-od-formatu]
Budowanie pakietu źródłowego. Pierwszy argument nie będący opcją przyjmowany jest jako nazwa
katalogu zdebianizowanego drzewa ze źródłami (czyli zawierającego podkatalog "debian" i być może
zmiany w stosunku do oryginalnych plików). Zależnie od formatu pakietu źródłowego używanego przy
budowaniu pakietu, mogą być również akceptowane dodatkowe parametry.
dpkg-source będzie budować pakiet źródłowy z użyciem pierwszego znalezionego formatu z
następującej listy, w kolejności: format(y) określony(e) za pomocą opcji --format, format
określony w pliku debian/source/format, "1.0". Powrót do "1.0" jest uważany za przestarzały i
kiedyś zostanie usunięty, dlatego należy zawsze dokumentować żądany format źródła w pliku
debian/source/format. W sekcji FORMATY PAKIETÓW ŹRÓDŁOWYCH można znaleźć wyczerpujący opis różnych
formatów pakietów źródłowych.
--print-format katalog
Wyświetla format źródłowy, który będzie użyty do zbudowania pakietu źródłowego, jeśli zostanie
wywołane dpkg-source -b katalog (z tymi samymi warunkami i parametrami).
--before-build katalog
Uruchamia odpowiedni zaczep formatu pakietu źródłowego. Zaczep jest wywoływany przed pierwszym
zbudowaniem pakietu (dpkg-buildpackage wywołuje go bardzo wcześnie, nawet przed debian/rules
clean). Polecenie to jest idempotentne i może być wywołane wielokrotnie. Nie wszystkie formaty
źródłowe zaimplementowały coś w tym zaczepie, a te które to zrobiły, wykorzystują je z reguły do
przygotowania drzewa źródeł do budowania upewniając się na przykład, że zaaplikowano łatki
Debiana.
--after-build katalog
Uruchamia odpowiedni zaczep formatu pakietu źródłowego. Zaczep jest wywoływany po ostatnim
zbudowaniu pakietu (dpkg-buildpackage wywołuje go jako ostatni). Polecenie to jest idempotentne i
może być wywołane wielokrotnie. Nie wszystkie formaty źródłowe zaimplementowały coś w tym
zaczepie, a te które to zrobiły, wykorzystują je z reguły do cofnięcia tego, co zostało wykonane
podczas --before-build.
--commit [katalog] ...
Zapisuje zmiany w drzewie źródłowym rozpakowanym w katalogu. Polecenie to może przyjąć argumenty
uzupełniające, w zależności od formatu źródeł. Zwróci błąd, w przypadku formatów, w których ta
operacja nic nie znaczy.
-?, --help
Wyświetla informację o użytkowaniu i kończy działanie.
--version
Wyświetla informację o wersji i pomyślnie kończy działanie.
OPCJE
Generic build options
-cplik-kontrolny
Określa główny plik kontrolny źródeł, z którego będą czytane informacje. Domyślnie jest to
debian/control. Jeśli podano względną ścieżkę, to jest ona interpretowana od najwyższego poziomu
katalogu drzewa ze źródłami.
-lplik-dziennika-zmian
Określa dziennik zmian, z którego będą czytane informacje. Domyślnie jest to debian/changelog.
Jeśli podano względną ścieżkę, to jest ona interpretowana od najwyższego poziomu katalogu drzewa
ze źródłami.
-Fformat-dziennika-zmian
Określa format dziennika zmian. Więcej informacji o alternatywnych formatach można znaleźć w
dpkg-parsechangelog(1).
--format=wartość
Do budowy pakietu źródłowego używany jest podany format. Nadpisuje to każdy format podany w pliku
debian/source/format.
-Vnazwa=wartość
Ustawia zmienną podstawienia wyjścia. Szczegółowy opis podstawiania zmiennych wyjściowych znajduje
się w deb-substvars(5).
-Tplik-zmiennych-podst
Odczytuje zmienne podstawiania z pliku-zmiennych-podst; domyślnie nie czyta żadnego pliku. Opcja
może być użyta wielokrotnie, aby odczytać podstawiania z wielu plików.
-Dpole=wartość
Nadpisuje lub dodaje wyjściowe pole pliku kontrolnego.
-Upole Usuwa wyjściowe pole pliku kontrolnego.
-Zkompresja, --compression=kompresja
Specify the compression to use for created files (tarballs and diffs). Note that this option will
not cause existing tarballs to be recompressed, it only affects new files. Supported values are:
gzip, bzip2, lzma and xz. gzip is the default. xz is only supported since dpkg 1.15.5.
-zpoziom, --compression-level=poziom
Używany poziom kompresowania. Podobnie jak w wypadku -Z, dotyczy tylko nowo tworzonych plików.
Obsługiwane wartości: 1 do 9, best oraz fast. 9 jest wartością domyślną w przypadku gzip i bzip2,
6 w przypadku xz i lzma.
-i[regex], --diff-ignore[=regex]
You may specify a perl regular expression to match files you want filtered out of the list of
files for the diff. (This list is generated by a find command.) (If the source package is being
built as a version 3 source package using a VCS, this can be used to ignore uncommited changes on
specific files. Using -i.* will ignore all of them.)
The -i option by itself enables this setting with a default regex (preserving any modification to
the default regex done by a previous use of --extend-diff-ignore) that will filter out control
files and directories of the most common revision control systems, backup and swap files and
Libtool build output directories. There can only be one active regex, of multiple -i options only
the last one will take effect.
This is very helpful in cutting out extraneous files that get included in the diff, e.g. if you
maintain your source in a revision control system and want to use a checkout to build a source
package without including the additional files and directories that it will usually contain (e.g.
CVS/, .cvsignore, .svn/). The default regex is already very exhaustive, but if you need to replace
it, please note that by default it can match any part of a path, so if you want to match the begin
of a filename or only full filenames, you will need to provide the necessary anchors (e.g.
'(^|/)', '($|/)') yourself.
--extend-diff-ignore=regex
The perl regular expression specified will extend the default value used by --diff-ignore and its
current value (if set). It does this by concatenating "|regex" to the existing value. This option
is convenient to use in debian/source/options to exclude some auto-generated files from the
automatic patch generation.
-I[wzorzec-pliku], --tar-ignore[=wzorzec-pliku]
If this option is specified, the pattern will be passed to tar(1)'s --exclude option when it is
called to generate a .orig.tar or .tar file. For example, -ICVS will make tar skip over CVS
directories when generating a .tar.gz file. The option may be repeated multiple times to list
multiple patterns to exclude.
-I by itself adds default --exclude options that will filter out control files and directories of
the most common revision control systems, backup and swap files and Libtool build output
directories.
Note: While they have similar purposes, -i and -I have very different syntax and semantics. -i can only
be specified once and takes a perl compatible regular expression which is matched against the full
relative path of each file. -I can specified multiple times and takes a filename pattern with shell
wildcards. The pattern is applied to the full relative path but also to each part of the path
individually. The exact semantic of tar's --exclude option is somewhat complicated, see
https://www.gnu.org/software/tar/manual/tar.html#wildcards for a full documentation.
The default regex and patterns for both options can be seen in the output of the --help command.
Generic extract options
--no-copy
Nie kopiuje oryginalnych archiwów obok rozpakowanego pakietu źródłowego.
--no-check
Bez weryfikacji podpisów i sprawdzania sum kontrolnych przed rozpakowaniem.
--require-valid-signature
Powoduje odmowę rozpakowania pakietu źródłowego, jeśli nie zawiera on podpisu OpenPGP, który
mógłby być zweryfikowany przez klucze użytkownika z pliku trustedkeys.gpg, jeden z kluczy twórców
pakietu, lub jeden z oficjalnych kluczy Debiana (/usr/share/keyrings/debian-keyring.gpg oraz
/usr/share/keyrings/debian-maintainers.gpg).
FORMATY PAKIETÓW ŹRÓDŁOWYCH
Jeśli nie wiadomo którego formatu źródeł użyć, powinno się wybrać prawdopodobnie "3.0 (quilt)" lub "3.0"
(native)". Więcej informacji o wdrażaniu tych formatów w Debianie można znaleźć na stronie
https://wiki.debian.org/Projects/DebSrc3.0.
Format: 1.0
Pakiet źródłowy w tym formacie składa się z pliku .orig.tar.gz powiązanego z plikiem różnic .diff.gz, lub
z pojedynczego pliku .tar.gz (w takim przypadku mówi się, że pakiet jest natywny).
Rozpakowywanie
Rozpakowanie pakietu natywnego to proste rozpakowanie pojedynczego pliku archiwum w katalogu docelowym.
Rozpakowanie pakietu w stylu Debiana (non-native) odbywa się poprzez najpierw rozpakowanie pliku
.orig.tar.gz a następnie nałożenia łatek zawartych w pliku .diff.gz. Czasy modyfikacji wszystkich
łatanych plików są ustawiane na wartość odpowiadającą czasowi rozpakowania pakietu źródłowego (zapobiega
to przesunięciom czasów, które prowadzą do problemów przy łataniu plików generowanych automatycznie).
Plik różnic (diff) może tworzyć nowe pliki (cały katalog "debian" jest tak tworzony), ale nie może usuwać
plików (pozostawiane są puste pliki o zerowej długości).
Budowanie
Budowanie pakietu natywnego to proste stworzenie pojedynczego pliku archiwum z katalogu źródeł. Budowanie
pakietu w stylu Debiana (non-native) obejmuje rozpakowanie oryginalnego archiwum do oddzielnego katalogu
z przyrostkiem ".orig" i regenerację pliku .diff.gz poprzez porównanie katalogu pakietu źródłowego z
katalogiem ".orig".
Opcje budowania (z -b):
Buduje pakiet źródłowy. Należy podać jeden lub dwa argumenty, nie będące opcjami. Pierwszym z nich jest
nazwa katalogu zawierającego rozpakowane źródła. Jeżeli podano drugi argument, to powinien on być nazwą
oryginalnego katalogu ze źródłami lub archiwum tar albo pustym łańcuchem znaków, jeśli pakiet jest
specyficzny dla Debiana i nie ma pliku różnic. Jeżeli nie podano drugiego argumentu, to dpkg-source - w
zależności od argumentów -sX - będzie szukał albo archiwum tar z oryginalnymi źródłami
pakiet_wersja_upstream.orig.tar.rozszerzenie (gdzie rozszerzenie jest jednym z gz,bz2 lub lzma), albo
katalogu z oryginalnymi źródłami katalog.orig.
-sa, -sp, -sk, -su oraz -sr nie nadpiszą istniejących archiwów tar lub katalogów. Jeśli jest to wymagane,
należy użyć -sA, -sP, -sK, -sU i -sR.
-sk Określa, że należy spodziewać się oryginalnych źródeł w postaci archiwum tar, domyślnie
pakiet_wersja-autora-pakietu.orig.tar.rozszerzenie. Pozostawia oryginalne źródła w tym samym
miejscu jako plik tar lub kopiuje je do bieżącego katalogu jeśli jeszcze ich tam nie ma. Archiwum
będzie rozpakowane do katalogu.orig w celu utworzenia pliku różnic (diff).
-sp Jak -sk, ale ponownie usunie katalog po zakończeniu.
-su Określa, że należy spodziewać się oryginalnych źródeł w postaci katalogu, domyślnie
pakiet-wersja-autora-pakietu.orig, na podstawie którego dpkg-source utworzy nowe archiwum
oryginalnych źródeł.
-sr Jak -su, jednakże usunie katalog po jego użyciu.
-ss Specifies that the original source is available both as a directory and as a tarfile. dpkg-source
will use the directory to create the diff, but the tarfile to create the .dsc. This option must
be used with care - if the directory and tarfile do not match a bad source archive will be
generated.
-sn Określa aby nie szukać żadnych oryginalnych źródeł, ani nie generować pliku różnic. Jeśli jest
podany drugi argument, musi on być pustym ciągiem znaków. Jest to używane dla pakietów
specyficznych dla Debiana, które nie mają oddzielnych źródeł i w związku z tym nie mają
debianizujących plików różnic (diff).
-sa lub -sA
Określa, że należy szukać oryginalnych źródeł w postaci archiwum tar lub katalogu. Jeśli podano
drugi argument może wskazywać on plik lub katalog, albo być pustym ciągiem znaków (co jest
równoważne użyciu -sn). Jeśli znaleziony zostanie plik tar, będzie on rozpakowany w celu
utworzenia pliku różnic, po czym zostanie on usunięty (co jest równoważne -sp). Jeśli zostanie
znaleziony katalog, będzie on spakowany w celu utworzenia archiwum źródłowego, po czym zostanie on
usunięty (co jest równoważne -sr).
--abort-on-upstream-changes
Proces zwróci błąd, jeśli wygenerowany plik różnic zawiera zmiany w plikach spoza podkatalogu
debian. Opcja ta nie może być użyta w debian/source/options, lecz może być użyta w
debian/source/local-options.
Opcje rozpakowywania (z -x):
We wszystkich przypadkach, istniejące oryginalne drzewo ze źródłami będzie usunięte.
-sp Jeśli zostanie użyta przy wypakowywaniu, wtedy oryginalne źródła (jeśli są) pozostaną w formie
archiwum tar. Jeśli archiwum nie ma jeszcze w bieżącym katalogu, lub gdy istnieje ale jest to inny
plik, zostanie tam skopiowane. (Jest to zachowanie domyślne).
-su Rozpakowuje oryginalne drzewo źródeł programu.
-sn Zapewnia, że oryginalne źródła nie będą kopiowane do bieżącego katalogu ani rozpakowywane. We
wszystkich przypadkach, istniejący katalog ze źródłami będzie usunięty z bieżącego katalogu.
Wszystkie spośród opcji -s-X się wzajemnie wykluczają. Jeśli zostanie podana więcej niż jedna, to
zostanie użyta ostatnia z nich.
--skip-debianization
Pomija wykorzystanie różnic Debiana (debian diff) do nałożenia łatek na oryginalne źródła.
Format: 2.0
Znany również jako wig&pen. Ten format nie jest zalecany do szerokiego stosowania, zastępuje go format
"3.0 (quilt)". Wig&pen był pierwszą specyfikacją nowej generacji formatu pakietów źródłowych.
Zachowanie dla tego formatu jest takie samo jak dla "3.0 (quilt)" z tą różnicą, że nie używa jawnej listy
łatek. Wszystkie pliki w katalogu debian/patches/ pasujące do wyrażenia regularnego Perla [\w-]+ muszą
być prawidłowymi łatkami: są one nakładane podczas rozpakowywania.
Podczas budowania nowego pakietu źródłowego, wszystkie zmiany w stosunku do kodu źródłowego pochodzącego
od autorów programu są zapisywane w łatce o nazwie zz_debian-diff-auto.
Format: 3.0 (native)
Ten format jest rozszerzeniem natywnego formatu pakietów zdefiniowanego w formacie w wersji 1.0.
Obsługuje wszystkie metody kompresji i domyślnie ignoruje pliki i katalogi specyficzne dla systemów
kontroli wersji, jak również wiele typów plików tymczasowych (proszę sprawdzić opis domyślnej wartości
opcji -I w informacjach uzyskiwanych poleceniem --help).
Format: 3.0 (quilt)
A source package in this format contains at least an original tarball (.orig.tar.ext where ext can be gz,
bz2, lzma and xz) and a debian tarball (.debian.tar.ext). It can also contain additional original
tarballs (.orig-component.tar.ext). component can only contain alphanumeric characters and hyphens
("-").
Rozpakowywanie
Najpierw rozpakowywane jest główne oryginalne archiwum tar, następnie rozpakowywane są dodatkowe
oryginalne archiwa tar do podkatalogów nazwanych od części komponent z ich nazwy pliku (istniejące
katalogi o takich nazwach są zamieniane). Na końcu rozpakowywane jest archiwum debian, po uprzednim
usunięciu katalogu debian (jeśli taki istniał). Należy zauważyć, że archiwum debian musi zawierać
podkatalog debian, ale może również zawierać pliki binarne poza tym katalogiem (proszę sprawdzić opcję
--include-binaries).
All patches listed in debian/patches/debian.series or debian/patches/series are then applied. If the
former file is used and the latter one doesn't exist (or is a symlink), then the latter is replaced with
a symlink to the former. This is meant to simplify usage of quilt to manage the set of patches. Note
however that while dpkg-source parses correctly series files with explicit options used for patch
application (stored on each line after the patch filename and one or more spaces), it does ignore those
options and always expect patches that can be applied with the -p1 option of patch. It will thus emit a
warning when it encounters such options, and the build is likely to fail.
Contrary to quilt's default behaviour, patches are expected to apply without any fuzz. When that is not
the case, you should refresh such patches with quilt, or dpkg-source will error out while trying to apply
them.
Similarly to quilt's default behaviour, the patches can remove files too.
Jeśli podczas rozpakowywania zostały nałożone jakieś łatki, tworzony jest plik .pc/applied-patches.
Budowanie
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.
When the diff is non-empty, the build fails unless --single-debian-patch or --auto-commit has been used,
in which case the diff 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.
Żadne zmiany w jakimkolwiek pliku binarnym nie mogą być odwzorowane w pliku zmian, co doprowadzi do
niepowodzenia - chyba, że opiekun pakietu rozmyślnie zdecydował o włączeniu tak zmodyfikowanego pliku
binarnego do archiwum debian (wskazując go w debian/source/include-binaries). Proces budowania nie
powiedzie się także jeśli zostaną znalezione pliki binarne w podkatalogu debian, chyba że zostały one
uprzednio wymienione w debian/source/include-binaries.
Zaktualizowany katalog debian oraz lista zmodyfikowanych plików binarnych są następnie używane do
powtórnego wygenerowania archiwum debian.
The automatically generated diff doesn't include changes on VCS specific files as well as many temporary
files (see default value associated to -i option in the --help output). In particular, the .pc directory
used by quilt is ignored during generation of the automatic patch.
Uwaga: dpkg-source --before-build (i -b) upewni się, że drzewo ze źródłami będzie mieć nałożone wszystkie
łatki określone w pliku series podczas generowania pakietu źródłowego. Czyni to odnajdując
niezaaplikowane łatki (są one wypisane w pliku series, lecz nie są w .pc/applied-patches), a jeśli
pierwsza łatka z tego zestawu może być zaaplikowana bez błędów, zostaną zaaplikowane wszystkie. Opcja
--no-preparation może być użyta, aby wyłączyć to zachowanie.
Zapisywanie zmian
--commit [katalog] [nazwa-łatki] [plik-łatki]
Generates a patch corresponding to the local changes that are not managed by the quilt patch
system and integrates it in the patch system under the name patch-name. If the name is missing, it
will be asked interactively. If patch-file is given, it is used as the patch corresponding to the
local changes to integrate. Once integrated, an editor is launched so that you can edit the
meta-information in the patch header.
Podanie pliku-łatki jest przydatne głównie po nieudanym budowaniu, które pre-wygenerowało ten plik
i na tej podstawie podany plik jest usuwany po integracji. Proszę zauważyć, że zmiany zawarte w
pliku łatki muszą być już zaaplikowane w drzewie i że pliki zmodyfikowane przez łatkę nie mogą
zawierać uzupełniających, niezapisanych zmian.
Jeśli przy generowaniu łatki wykryte zostaną zmodyfikowane pliki binarne, zostaną one
automatycznie dodane do debian/source/include-binaries, przez co znajdą się one w archiwum debian
(dokładnie jak zrobiłoby dpkg-source --include-binaries -b).
Opcje budowania
--allow-version-of-quilt-db=wersja
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
Usunięte pliki nie będą ignorowane, ale będą włączone do automatycznie generowanej łatki.
--include-timestamp
Włączenie czasu modyfikacji w automatycznie generowanej łatce.
--include-binaries
Dodanie wszystkich zmodyfikowanych plików binarnych do archiwum debian. Są one również dodawane do
debian/source/include-binaries: dzięki temu będą domyślnie dodawane przy następnych budowach
pakietu, zaś ta opcja nie będzie już więcej potrzebna.
--no-preparation
Nie próbuje przygotowywać drzewa budowania poprzez nakładanie łatek, które wyraźnie nie są
nałożone.
--single-debian-patch
Używa debian/patches/debian-changes zamiast debian/patches/debian-changes-wersja dla nazwy
automatycznej łatki generowanej przy budowaniu. Opcja ta jest szczególnie użyteczna, jeśli pakiet
jest zarządzany w VCS, a zestaw łatek nie może być wygenerowana w sposób pewny. Bieżącego plik
różnic z wersją projektu macierzystego powinien być w zamian przechowywany w pojedynczej łatce.
Opcja powinna być prawdopodobnie umieszczona w debian/source/local-options razem z plikiem
debian/source/local-patch-header, wyjaśniającym w jaki sposób najlepiej przejrzeć zmiany Debiana,
np. w używanym VCS.
--create-empty-orig
Automatycznie tworzy główne oryginalne archiwum jako puste, jeśli go nie ma, a są dodatkowe
archiwa uzupełniające. Opcja ta jest przeznaczona do pakietów źródłowych, będących po prostu
zbiorem oprogramowania różnego pochodzenia bez programu "głównego".
--no-unapply-patches, --unapply-patches
By default, dpkg-source will automatically unapply the patches in the --after-build hook if it did
apply them during --before-build. Those options allow you to forcefully disable or enable the
patch unapplication process. Those options are only allowed in debian/source/local-options so that
all generated source packages have the same behavior by default.
--abort-on-upstream-changes
The process fails if an automatic patch has been generated. This option can be used to ensure that
all changes were properly recorded in separate quilt patches prior to the source package build.
This option is not allowed in debian/source/options but can be used in
debian/source/local-options.
--auto-commit
The process doesn't fail if an automatic patch has been generated, instead it's immediately
recorded in the quilt series.
Opcje rozpakowywania
--skip-debianization
Pomija rozpakowanie archiwum debian z włączeniem jego zawartości na oryginalne źródła.
--skip-patches
Nie nakłada łatek po skończeniu rozpakowywania.
Format: 3.0 (custom)
Ten format jest szczególny. Nie jest prawdziwym formatem pakietu źródłowego, ale może być użyty do
utworzenia pakietu źródłowego zawierającego dowolne pliki.
Opcje budowania
Wszystkie argumenty nie będące opcjami są uważane za pliki, które mają być zintegrowane z generowanym
pakietem źródłowym. Pliki te muszą istnieć i najlepiej powinny być w bieżącym katalogu. Musi być podany
przynajmniej jeden plik.
--target-format=wartość
Required. Defines the real format of the generated source package. The generated .dsc file will
contain this value in its Format field and not "3.0 (custom)".
Format: 3.0 (git)
Jest to format eksperymentalny.
Pakiet źródłowy w tym formacie składa się z pojedynczej kopii repozytorium git .git, przechowującego
źródła pakietu. Może zawierać również plik .gitshallow, wypisujący wersje do płytkiej kopii gita.
Rozpakowywanie
Kopia jest tworzona jako repozytorium git do katalogu docelowego. Jeśli istnieje plik gitshallow, to jest
instalowany jako ".git/shallow" wewnątrz sklonowanego repozytorium git.
Proszę zauważyć, że domyślnie nowe repozytorium będzie przełączone na tę samą gałąź co oryginalne źródło
(zwykle jest to "master", ale może być również coś innego). Wszystkie inne gałęzie będą dostępne jako
"remotes/origin/".
Budowanie
Nie zagłębiając się dalej, wykonywane są pewne testy aby upewnić się, czy nie ma żadnych
niezatwierdzonych zmian, które nie są ignorowane.
git-bundle(1) jest używany do utworzenia kopii repozytorium git. Domyślnie dołączane są wszystkie gałęzie
i tagi.
Opcje budowania
--git-ref=odniesienie
Allows specifying a git ref to include in the git bundle. Use disables the default behavior of
including all branches and tags. May be specified multiple times. The ref can be the name of a
branch or tag to include. It may also be any parameter that can be passed to git-rev-list(1). For
example, to include only the master branch, use --git-ref=master. To include all tags and
branches, except for the private branch, use --git-ref=--all --git-ref=^private
--git-depth=liczba
Tworzy płytką kopię (ang. shallow clone) z historią ograniczoną do podanej liczby wersji.
Format: 3.0 (bzr)
Ten format jest eksperymentalny. Generuje pojedyncze archiwum zawierające repozytorium bzr.
Rozpakowywanie
Archiwum tar jest rozpakowywane i używany jest bzr aby pobrać aktualną gałąź kodu.
Budowanie
Nie zagłębiając się dalej, wykonywane są pewne testy aby upewnić się, czy nie ma żadnych
niezatwierdzonych zmian, które nie są ignorowane.
Następnie część katalogu źródeł specyficzna dla systemu kontroli wersji jest kopiowana do katalogu
tymczasowego. Przed tym katalog tymczasowy jest pakowany do archiwum tar i wykonywane są różne czynności
porządkowe, aby zaoszczędzić miejsce.
DIAGNOSTYKA
w debian/source/format nie podano formatu źródeł,
The file debian/source/format should always exist and indicate the desired source format. For backwards
compatibility, format "1.0" is assumed when the file doesn't exist but you should not rely on this: at
some point in the future dpkg-source will be modified to fail when that file doesn't exist.
Powodem jest to, że format "1.0" nie jest już formatem rekomendowanym; należy z reguły wybrać któregoś z
nowszych formatów ("3.0 (quilt)", "3.0 (native)"), lecz dpkg-source nie zrobi tego automatycznie za
opiekuna. Aby wciąż używać starego formatu, należy wyrażnie tego zażądać umieszczając "1.0" w
debian/source/format.
łatka modyfikuje następujące pliki macierzyste
Jeżeli używa się formatu "1.0" źródeł, to zwykle złym pomysłem jest bezpośrednie modyfikowanie plików
macierzystych, jako że na końcu zmiany będą ukryte i w większości nieudokumentowane w pliku .diff.gz.
Zamiast tego należy przechowywać swe zmiany jako łatki w katalogu debian i aplikować je w trakcie
budowania. Aby zapobiec temu złożonemu procesowi, można również użyć formatu "3.0 (quilt), który oferuje
to natywnie.
niereprezentowalna zmiana w pliku
Zmiany w źródłach macierzystych są zwykle przechowywane w postaci łatek, lecz nie wszystkie zmiany mogą
być tak reprezentowane: łatki mogą zmieniać zawartość jedynie plików tekstowym. Jeśli próbuje się
zastąpić plik czymś innego typu (np. zastąpić czysty plik dowiązaniem symbolicznym lub katalogiem),
otrzyma się ten komunikat o błędzie.
nowo utworzony pusty plik plik nie będzie dołączony do pliku łatki
Puste pliki nie mogą być tworzone za pomocą plików łatek. W związku z tym, ta zmiana nie jest
przechowywana w pakiecie źródłowym, a to ostrzeżenie o tym przypomina.
prawa dostępu prawo pliku plik nie będą dołączone do pliku łatki
Patch files do not record permissions of files and thus executable permissions are not stored in the
source package. This warning reminds you of that fact.
specjalne prawa dostępu prawa pliku plik nie będą dołączone do pliku łatki
Pliki łatek nie przechowują informacji o uprawnieniach plików i w związku z tym, zmodyfikowane
uprawnienia nie są przechowywane w pakiecie źródłowym. To ostrzeżenie przypomina o tym fakcie.
FORMATY PLIKÓW
debian/source/format
Plik ten zawiera w pojedynczej linii określenie formatu, który powinien zostać użyty do zbudowania
pakietu źródłowego (dostępne formaty opisane są wyżej). Niedozwolone są początkowe i końcowe znaki
spacji.
debian/source/include-binaries
Plik ten zawiera listę plików binarnych (po jednym w każdej linii), które powinny być zawarte w archiwum
debian. Początkowe i końcowe znaki spacji są usuwane. Linie rozpoczynające się od "#" są traktowane jak
komentarze i są pomijane, puste linie są ignorowane.
debian/source/options
Plik zawiera listę długich opcji, które powinny być automatycznie dodawane na początku zestawu opcji
wiersza polecenia wywołania dpkg-source -b lub dpkg-source --print-format. Do tego pliku świetnie nadają
się opcje takie jak --compression i --compression-level.
Każda opcja powinna być umieszczona w osobnym wierszu. Puste wiersze i wiersze zaczynające się od znaku
"#" są ignorowane. Początkowe "--" powinno być usunięte, niedozwolone są opcje któtkie. Wokół symbolu "="
dozwolone są opcjonalne spacje, a wokół wartości dozwolone są opcjonalne cudzysłowy. Oto przykład takiego
pliku:
# 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
# ignore changes on config.{sub,guess}
extend-diff-ignore = "(^|/)(config.sub|config.guess)$"
Uwaga: opcje format nie są akceptowane w tym pliku, należy w zamian używać debian/source/format.
debian/source/local-options
Dokładnie jak debian/source/options z tym wyjątkiem, że plik nie jest dołączany do wygenerowanego pakietu
źródłowego. Może być przydatny aby przechować preferencje opiekuna lub repozytorium VCS, gdzie pakiet
źródłowy jest zarządzany.
debian/source/local-patch-header and debian/source/patch-header
Tekst w dowolnej postaci, który zostanie umieszczony na górze łatki wygenerowanej automatycznie, w
formacie "2.0" lub "3.0 (quilt). local-patch-header nie jest dołączone w generowanym pakiecie źródłowym,
natomiast patch-header jest.
debian/patches/series
This file lists all patches that have to be applied (in the given order) on top of the upstream source
package. Leading and trailing spaces are stripped. Lines starting with "#" are comments and are skipped.
Empty lines are ignored. Remaining lines start with a patch filename (relative to the debian/patches/
directory) up to the first space character or the end of line. Optional quilt options can follow up to
the end of line or the first "#" preceded by one or more spaces (which marks the start of a comment up to
the end of line).
BŁĘDY
Punkt, w którym następuje nadpisywanie pól w porównaniu do pewnych standardowych ustawień pól wyjściowych
jest dość zagmatwany.
ZOBACZ TAKŻE
dpkg-deb(1), dpkg(1), dselect(1).
TŁUMACZE
Piotr Roszatycki <dexter@debian.org>, 1999
Bartosz Feński <fenio@debian.org>, 2004-2005
Robert Luberda <robert@debian.org>, 2006-2008
Wiktor Wandachowicz <siryes@gmail.com>, 2008
Michał Kułach <michal.kulach@gmail.com>, 2012
Projekt Debian 2013-12-05 dpkg-source(1)