dpkg-source(1)

名前
dpkg-source - Debian ソースパッケージ (.dsc) 操作ツール

書式
dpkg-source [option...] command

説明
dpkg-source は、Debian ソースアーカイブの作成、展開を行う。 これらの command では複数のオプションを 1 つに結合することはできず、オプションの値をオプション名から分離した引数として指定することもできない。

コマンド

-x, --extract filename.dsc [output-directory]
    Extract a source package. The --extract alias was added in dpkg 1.17.14. One non-option argument must be supplied, the name of the Debian source control file (.dsc). An optional second non-option argument may be supplied to specify the directory to extract the source package to, this must not exist. If no output directory is specified, the source package is extracted into a directory named source-version under the current working directory. dpkg-source は制御ファイルからソースパッケージの設定を行うためのファイル名を取得する。これらは .dsc ファイルと同じディレクトリに配置されているものとみなされる。 展開されたパッケージのファイルには、ファイルやディレクトリを単に作成したときに設定されるであろうものと同様のパーミッションや所有者が設定される。ディレクトリ及び実行ファイルのパーミッションは 0777 に、普通のファイルは 0666 に設定されるが、展開したユーザの umask の影響を受ける。親ディレクトリが setgid されていた場合、展開されたディレクトリもそれに従い、ファイルやディレクトリには、グループの所有者情報が引き継がれる。 ソースパッケージが標準以外の形式 (現在のところ "1.0" 以外のすべての形式を意味する) を使用している場合、形式の名称は debian/source/format に格納され、以降のソースパッケージのビルドでは、デフォルトで同じ形式が使用される。

-b, --build directory [format-specific-parameters]
    Build a source package. The --build alias was added in dpkg 1.17.14. The first non-option argument is taken as the name of the directory containing the debianized source tree (i.e. with a debian sub-directory and maybe changes to the original files). Depending on the source package format used to build the package, additional parameters might be accepted. dpkg-source は、コマンドライン引数の --format で指定した形式、debian/source/format で指定した形式、"1.0" の順で形式を確認し、最初に確認できた形式にに基づいてソースパッケージをビルドする。"1.0" は廃止予定であり、将来的には削除されるため、常に debian/source/format でソースパッケージ形式を指定するようにすべきである。ソースパッケージ形式についての詳細な解説は、ソースパッケージ形式セクションを参照のこと。

--print-format directory
    Print the source format that would be used to build the source package if dpkg-source --build directory was called (in the same conditions and with the same parameters).

--before-build directory
    ソースパッケージ形式に合致するフックを実行する。このフックはパッケージのビルド開始前に呼び出される (dpkg-buildpackage は、debian/rules clean 実行前の非常に早い段階でこれを呼び出す)。このコマンドは冪等であり、複数回呼び出されてもよい。すべてのソース形式がこのフックを実装しているわけではない。実装される場合は、通常、Debian のパッチが適用されていることを確認するといったビルド前のソースツリーの準備に用いられる。

--after-build directory
    ソースパッケージ形式に合致するフックを実行する。このフックはパッケージのビルド完了後に呼び出される (dpkg-buildpackage は、これを最後に呼び出す) このコマンドは冪等であり、複数回呼び出されてもよい。すべてのソース形式がこのフックを実装しているわけではない。実装される場合は、通常、--before-build が行った変更を元に戻すために用いられる。

--commit [directory] ...
    directory に展開されたソースツリーの変更を記録する。このコマンドはソース形式に応じて追加の引数を取ることができる。この操作が意味を持たない形式については、エラーとなる。

-?, --help
    利用方法を表示して終了する。

--version
    バージョン情報を表示して終了する。

オプション

  Generic build options

-ccontrol-file
    情報の読み取り元となるメインのソース制御ファイルを指定する。デフォルトは debian/control である。相対パス名で指定された場合は、ソースツリーのトップのディレクトリを起点として解釈される。

-lchangelog-file
    情報の読み取り元となる changelog ファイルを指定する。デフォルトは debian/changelog である。相対パス名で指定された場合は、ソースツリーのトップのディレクトリを起点として解釈される。

-Fchangelog-format
    changelog ファイルのフォーマットを指定する。指定可能なフォーマットについての情報は、dpkg-parsechangelog(1) を参照のこと。

--format=value
    ソースパッケージのビルドに指定した形式を使用する。これは debian/source/format で指定された形式に優先する。

-Vname=value
    変数を設定する。出力時の置換に関する詳細は、deb-substvars(5) を参照のこと。

-Tsubstvars-file
    substvars-file にある変数を読み込む。デフォルトではいかなるファイルも読み込まれない。このオプションは複数のファイルから変数を読み取るために複数回指定することができる。

-Dfield=value
    出力制御ファイルのフィールドを上書きもしくは追加する。

-Ufield
    出力制御ファイルのフィールドを削除する。

-Zcompression, --compression=compression
    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. The default is xz for formats 2.0 and newer, and gzip for format 1.0. xz is only supported since dpkg 1.15.5.

-zlevel, --compression-level=level
    使用する圧縮レベル。-Z と併せて指定する。これは新規の圧縮時にのみ適用される。指定可能な値は次のとおり: 1 から 9, best, fast。デフォルトは gzip および bzip2 の場合 9、xz および lzma の場合 6 である。

-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[file-pattern], --tar-ignore[=file-pattern]
    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
    展開されたソースパッケージ以外に、オリジナルの tar アーカイブをコピーしない。

--no-check
    展開前に、署名やチェックサムの検証を行わない。

--require-valid-signature
    展開するユーザの trustedkeys.gpg keyring、ベンダ固有の keyring のいずれか、official Debian keyring (/usr/share/keyrings/debian-keyring.gpg もしくは/usr/share/keyrings/debian-maintainers.gpg) のいずれかによって検証可能な OpenPGP の署名が含まれない場合に、ソースパッケージの展開を拒否する。

--ignore-bad-version
    Turns the bad source package version check into a non-fatal warning. This option should only be necessary when extracting ancient source packages with broken versions, just for backwards compatibility.

ソースパッケージ形式
使用しているソース形式が分からない場合は、"3.0 (quilt)" もしくは "3.0 (native)" のいずれかであろう。Debian においてこれらの形式を使用するための情報については、https://wiki.debian.org/Projects/DebSrc3.0 を参照のこと。

  1.0 形式
この形式のソースパッケージには、.diff.gz と対応する .orig.tar.gz、もしくは.tar.gz のみ (この形態を ネイティブ と称する) が含まれる。 展開 ネイティブパッケージの展開は、単一の tar アーカイブをターゲットディレクトリに単に展開するだけである。非ネイティブなパッケージの展開は、先に .orig.tar.gz を展開した上で、.diff.gz ファイルに含まれるパッチを適用する。パッチされたファイルのタイムスタンプは、ソースパッケージを展開した時刻に再設定される (これにより、自動生成されたファイルにパッチする際に、タイムスタンプが逆転してしまうことによる問題の発生を回避する)。diff により新しいファイルを作成することもできる (debian ディレクトリ自体も、これにより作成される) が、ファイルを削除することはできない (空ファイルはそのまま残される)。 ビルド ネイティブパッケージのビルドは、ソースディレクトリに単一の tar アーカイブを作成するだけである。非ネイティブパッケージのビルドは、オリジナルの tar アーカイブを ".orig" ディレクトリに展開し、 directory にあるソースパッケージと .orig ディレクトリを比較して .diff.gz ファイルを再生成することにより行われる。 Build options (with --build): 2 番目のオプションでない引数が存在する場合は、オリジナルのソースディレクトリか tar ファイル名を意味する。ただし、パッケージが Debian 固有のものであり、Debian 化するための diff が存在しない場合は空文字列となる。2 番目の引数が存在する場合、dpkg-source は -sX 引数に応じて、オリジナルのソース tar ファイル package_upstream-version.orig.tar.gz もしくはオリジナルのソースディレクトリ directory.orig を検索する。 -sa, -sp, -sk, -su, -sr は、既存の tar ファイルやディレクトリを上書きしない。上書きさせたい場合は、代わりに -sA, -sP, -sK, -sU, -sR を使用すること。

-sk オリジナルのソースが、デフォルトでは package_upstream-version.orig.tar.extension という名前の tar ファイルであることを指示する。このオリジナルのソースは適切な場所にtar ファイルのまま残され、カレントディレクトリに存在していない場合はそこにコピーされる。tar ファイルは diff を生成するために、directory.orig に展開される。

-sp -sk と同様だが、最後にディレクトリを削除する。

-su オリジナルのソースが、デフォルトでは package-upstream-version.orig という名前のディレクトリにあることを指示する。dpkg-source は、ここから新しいソースアーカイブを作成する。

-sr -su と同様だが、使用後にディレクトリを削除する。

-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 オリジナルのソースを参照せず、diff も生成しないことを指示する。2 番目の引数が存在する場合、それは空文字列である必要がある。これは、アップストリームのソースが存在せず、Debian 化するための差分が存在しない Debian 固有のパッケージに用いられる。

-sa もしくは -sA
    オリジナルのソースアーカイブが tar ファイルもしくはディレクトリであることを指示する。2 番目の引数が指定されている場合、それは上記のいずれであってもよいし、空文字列でもよい (その場合は、-sn (訳注: -sp の誤りと思われる) と同等である)。tar ファイルが存在した場合は、diff 生成のために展開され、最後に削除される (これは -sp と同等である)。ディレクトリが存在した場合は、オリジナルのソースを作成するためにアーカイブ化され最後に削除される (これは、-sr と同等である)。いずれも存在しなかった場合、パッケージは Debian 化の diff を持たず、ソースアーカイブのみが存在すると見なされる (これは、 -sn と同等である)。いずれも存在した場合、dpkg-source はディレクトリの存在を無視して、-sA が指定されていた場合はこれを上書きし (これは -sP と同等である)、-sa が指定されていた場合はエラーを発生させる。デフォルトは -sA である。

--abort-on-upstream-changes
    生成された diff に Debian サブディレクトリ外にあるファイルへの変更が含まれていた場合、処理を失敗させる。このオプションは debian/source/options で指定できない。debian/source/local-options で指定することは可能である。

Extract options (with --extract): いずれの場合も、既存のオリジナルのソースツリーはすべて削除される。

-sp オリジナルのソースを tar ファイルとして残す (存在する場合)。カレントディレクトリに配置されていない場合や、存在しているが異なるファイルである場合は、オリジナルのソースがコピーされる (これはデフォルトの挙動である)。

-su オリジナルのソースツリーを展開する。

-sn オリジナルのソースをカレントディレクトリにコピーさせず、展開もさせない。カレントディレクトリに存在するオリジナルのソースツリーは削除される。

-sX オプションは相互排他である。複数回指定された場合、最後に指定されたものが使用される。

--skip-debianization
    アップストリームのソースのトップに存在する Debian 化の diff を適用しない。

  2.0 形式
wig&pen という名称でも知られている。この形式は広範な使用を推奨されておらず、"3.0 (quilt)" が代替している。wig&pen は新世代のソースパッケージ形式の最初の仕様である。 この形式の挙動は、明示的なパッチ一覧を使用しない点を除き、"3.0 (quilt)" 形式と同等である。perl 形式の正規表現 [\w-]+ にマッチする debian/patches/ に存在するすべてのファイルは、適切なパッチである必要がある。これらは展開時に適用される。 新しいソースパッケージをビルドする際にアップストリームのソースに対する変更が発生した場合、zz_debian-diff-auto という名前のパッチとして保存する。

  3.0 (native) 形式
この形式は 1.0 形式で定義されたネイティブパッケージ形式の拡張版である。これはすべての圧縮方式をサポートし、デフォルトでは、多くの一時ファイル (デフォルト値は --help 出力の -I オプションを参照のこと) やバージョン管理システム固有のファイルやディレクトリを無視する。

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

展開

主たるオリジナルの tar アーカイブが最初に展開され、ついで追加のオリジナル tar アーカイブが、ファイル名の component からとった名前のサブディレクトリに展開される (既存のディレクトリがあった場合、上書きされる)。debian tar アーカイブは、既存の debian ディレクトリの削除後、ソースディレクトリのトップに展開される。debian tar アーカイブには、debian サブディレクトリが必要だが、ディレクトリ外にバイナリファイルを含めることもできる (--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.

展開の際にパッチが適用された場合、.pc/applied-patches ファイルが作成される。

ビルド

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. バイナリファイルに対する変更は diff では表現できないため、メンテナが修正されたバイナリファイルを debian tar アーカイブに (debian/source/include-binaries に格納することで) 含めておくことを熟考の上決定しない限り、処理の失敗を引き起こす。debian サブディレクトリ内にバイナリファイルがあった場合も、debian/source/include-binaries によりホワイトリスト設定されていない限り、ビルドの失敗を引き起こす。 設定を行うことで、debian tar アーカイブを生成する際に、更新された 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. Note: dpkg-source --before-build (and --build) will ensure that all patches listed in the series file are applied so that a package build always has all patches applied. It does this by finding unapplied patches (they are listed in the series file but not in .pc/applied-patches), and if the first patch in that set can be applied without errors, it will apply them all. The option --no-preparation can be used to disable this behavior.

変更の記録

--commit [directory] [patch-name] [patch-file]
    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. patch-file の指定は、予め生成されたパッチファイルを用いたビルドに失敗した際に有用であり、そのため、指定されたファイルは統合後に削除される。パッチファイルに含まれている変更点は、ツリーに予め適用されている必要があり、パッチによって修正されるファイルは、その他の記録されていない変更が行われていてはならない点にも留意すること。 If the patch generation detects modified binary files, they will be automatically added to debian/source/include-binaries so that they end up in the debian tarball (exactly like dpkg-source --include-binaries --build would do).

ビルドオプション

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

--include-removal
    削除されたファイルを無視せず、それらを自動生成されたパッチに含める。

--include-timestamp
    タイムスタンプを自動生成されたパッチに含める。

--include-binaries
    debian tar アーカイブに修正されたバイナリをすべて追加し、併せて debian/source/include-binaries にも追加する。これらはその後のビルドの際にデフォルトで追加されるため、このオプションは不要である。

--no-preparation
    明らかに適用されていないパッチを適用することによるビルドツリーの準備を行わない。

--single-debian-patch
    ビルドの際に生成される自動パッチの名前として、debian/patches/debian-changes-version の代わりに debian/patches/debian-changes を使用する。このオプションは、パッケージがバージョン管理システムで維持されているために、パッチセットが安定して生成できない場合特に有用であり、アップストリームと現状との差分を単一のパッチに格納する。このオプションをdebian/source/local-options に設定した上で、例えば使用しているバージョン管理システムなどで Debian における変更点を確認するのに最適な方法を説明する debian/source/local-patch-header ファイルを添付しておく。

--create-empty-orig
    主たるオリジナルの tar アーカイブについて、作成できない場合や補助のものが存在する場合であっても、空のファイルを自動的に生成する。このオプションは、ソースパッケージに複数のアップストリームのソフトウェアを単に集めたものであり、"主たる" ソフトウェアが存在しない場合に用いられることを想定している。

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

展開オプション

--skip-debianization
    アップストリームのソース上に、debian tar アーカイブの上書き展開を行わない。

--skip-patches
    展開の最後に、パッチの適用を行わない。

  3.0 (custom) 形式
これは特別な形式である。特定のソースパッケージ形式を示すものではなく、任意のファイルを用いてソースパッケージを作成する際に使用する形式である。

ビルドオプション

すべてのオプション形式ではない引数は、生成されたソースパッケージに統合するファイルとみなされる。ファイルはあらかじめ存在している必要があり、カレントディレクトリに存在していることが望ましい。最低 1 つのファイルを指定すること。

--target-format=value
    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)".

  3.0 (git) 形式
この形式は実験段階のものである。

この形式のソースパッケージは、パッケージのソースを保持する単一の git bundle である、git リポジトリ .git から構成される。shallow git clone がリビジョン保持に使用する .gitshallow ファイルも含まれる場合がある。

展開

この git bundle は git リポジトリとしてターゲットディレクトリに複製される。gitshallow ファイルがある場合は、複製された git リポジトリ内に `.git/shallow` としてインストールされる。

デフォルトで、新しいリポジトリはオリジナルのソースがチェックアウトされたものと同じブランチとなっている。(通常は "master" だが、それに限らない。) それ以外のブランチは `remotes/origin` から利用することができる。

ビルド

先に進む前に、無視すべきもの以外でコミットされていない変更がないことを担保するためのチェックが行われる。

git リポジトリの bundle を生成する際には git-bundle(1) が使用される。デフォルトで、リポジトリ内のすべてのブランチとタグが bundle に含められる。

ビルドオプション

--git-ref=ref
    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=number
    shallow clone を作成する。作成の際、ヒストリを指定したリビジョン数に切り詰める。

  3.0 (bzr) 形式
この形式は実験段階である。これは bzr リポジトリを含む単一の tar アーカイブを生成する。

展開

tar アーカイブを展開した上で、現在のブランチをチェックアウトするために bzr が使用される。

ビルド

先に進む前に、無視すべきもの以外でコミットされていない変更がないことを担保するためのチェックが行われる。

その後、ソースディレクトリ内のバージョン管理システム固有のファイルが一時ディレクトリにコピーされる。一時ディレクトリが tar アーカイブにされる前に、領域を節約するために、様々なクリーンアップ処理が行われる。

診断メッセージ

  no source format specified in debian/source/format
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. "1.0" 形式は既に推奨される形式から外れており、新しい形式 ("3.0 (quilt)", "3.0 (native)") のいずれかを使用すべきであるが、dpkg-source は、これを自動的には行わない。古い形式の使用を継続する場合、debian/source/format 中で "1.0" を明示すべきである。

  the diff modifies the following upstream files
ソース形式として "1.0" を使用する場合、アップストリームのファイルを直接修正することは通常勧められない。これは変更点が隠蔽され、diff.gz ファイル内でドキュメント化されないままとなってしまうためである。変更点については、 debian ディレクトリ内にパッチとして保存し、ビルド時にこれを適用することが勧められる。複雑化を避ける意味では、この処理が組み込まれている "3.0 (quilt)" 形式を使用してもよい。

  cannot represent change to file
アップストリームのソースに対する変更は、通常パッチファイルに保存されるが、パッチでは、すべての変更を保持できるわけではない。パッチは平文テキストファイルの内容しか変更できない。これ以外の形式のファイルの内容を変更しようとすると (例えば普通のファイルをシンボリックリンクやディレクトリに変更するなど) 、このエラーメッセージが表示される。

  newly created empty file file will not be represented in diff
パッチファイルでは空ファイルを作成することができないため、この変更はソースパッケージに保持されない。そのため警告が表示される。

  executable mode perms of file will not be represented in diff
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.

  special mode perms of file will not be represented in diff
パッチファイルにファイルのパーミッション情報は保存されないため、パーミッションの変更はソースパッケージに保持されない。そのため警告が表示される。

ファイルフォーマット

  debian/source/format
このファイルはソースパッケージのビルドの際に使用される形式を記載した 1 行からなる (指定可能な形式は前述のとおり)。前後に空白を入れてはならない。

  debian/source/include-binaries
このファイルには、debian tar アーカイブに含まれるバイナリファイルが (1 行に 1 ファイルずつ) リストされる。前後の空白は削除される。"#" で始まる行はコメント行と見なされスキップされる。空行も無視される。

  debian/source/options
This file contains a list of long options that should be automatically prepended to the set of command line options of a dpkg-source --build or dpkg-source --print-format call. Options like --compression and --compression-level are well suited for this file.

各オプションは別々の行に記載する。空行や "#" から始まる行は無視される。記載の際に、先頭の "--" は省略する必要がある。また短いオプションは指定できない。"=" の前後に空白を入れることは可能である。また値を囲むためにクオートを行うこともできる。以下にファイルへの設定例を示す:

  # let dpkg-source create a debian.tar.bz2 with maximal compression
  compression = "bzip2"
  compression-level = 9
  # use debian/patches/debian-changes as automatic patch
  single-debian-patch
  # ignore changes on config.{sub,guess}
  extend-diff-ignore = "(^|/)(config.sub|config.guess)$"

注記: format オプションをこのファイルで設定することはできない。代わりに debian/source/format を使用すること。

  debian/source/local-options
ファイルが生成されたソースパッケージに含まれない点を除き、debian/source/options とまったく同等である。これはメンテナ固有の設定や、ソースパッケージを管理しているバージョン管理システム固有の設定を保持する際に有用である。

  debian/source/local-patch-header and debian/source/patch-header
"2.0" もしくは "3.0 (quilt)" 形式で生成される自動パッチのトップに配置する、フリーフォーマットのテキスト。local-patch-header は生成されたソースパッケージに含まれないが、patch-header は含まれる。

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

バグ
標準の出力フィールドの設定と比較すると、フィールドの上書きが発生する箇所は混乱を引き起こす。

関連項目
dpkg-deb(1), dpkg(1), dselect(1).

翻訳者
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto-inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.

翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.