Manpages

名 前

dh − debhelper コ マ ン ド シ ー ケ ン サ ー

書 式

dh sequence [−−with addon[,addon ...]] [−−list] [debhelper オ プ シ ョ ン ]

説 明

dh は 一 連 の debhelper コ マ ン ド を 実 行 し ま す 。 debian/rules フ ァ イ ル に 記 載 さ れ た タ ー ゲ ッ ト に 対 応 す る sequenceを サ ポ ー ト し ま す 。 サ ポ ー ト す る タ ー ゲ ッ ト : build-arch, build-indep, build, clean, install-indep, install-arch, install, binary-arch, binary-indep, binary で す 。

override タ ー ゲ ッ ト

dh が 利 用 す る debian/rules に て 、 override タ ー ゲ ッ ト を 指 定 す る こ と で 、 呼 び 出 さ れ る 一 連 の 処 理 途 中 で 動 作 を 変 更 で き ま す 。 タ ー ゲ ッ ト dh_command を 変 更 す る た め に は 、 override_dh_command と い う タ ー ゲ ッ ト を rule フ ァ イ ル に 記 載 し ま す 。 こ ち ら が 指 定 さ れ て い る と 、 dh_command が 動 作 す る 代 わ り に override_dh_command タ ー ゲ ッ ト を 呼 び 出 し ま す 。 override タ ー ゲ ッ ト で は 、 コ マ ン ド に オ プ シ ョ ン を 追 加 し た り 、 コ マ ン ド 全 て を 置 き 換 え た り で き ま す 。 後 に 例 を 挙 げ ま す 。 ア ー キ テ ク チ ャ 依 存 パ ッ ケ ー ジ を 作 る と き の み 、 あ る い は ア ー キ テ ク チ ャ 非 依 存 パ ッ ケ ー ジ を 作 る と き の み 動 作 す る よ う に override タ ー ゲ ッ ト を 定 義 す る こ と も で き ま す 。 そ の 場 合 、 override_dh_command−arch や 、 override_dh_command−indep を 使 っ て く だ さ い (な お 、 こ の 機 能 を 使 う に は 、 Build−Depends 行 で debhelper バ ー ジ ョ ン 8.9.7 以 上 を 指 定 す る 必 要 が あ り ま す )。

オ プ シ ョ ン

−−with addon[,addon ...] 一 連 の コ マ ン ド 中 の 適 切 な 位 置 で 実 行 す る ア ド オ ン を 、 debhelper コ マ ン ド へ 指 定 し ま す 。 こ の オ プ シ ョ ン は 繰 り 返 し 指 定 す る こ と も で き ま す し 、 複 数 の ア ド オ ン を カ ン マ 区 切 り で 列 挙 し て 指 定 で き ま す 。 こ の オ プ シ ョ ン は debhelper コ マ ン ド を 提 供 す る サ ー ド パ ー テ ィ 製 パ ッ ケ ー ジ と 共 に 利 用 す る 時 に 使 い ま す 。 PROGRAMMING フ ァ イ ル に 、 一 連 の ア ド オ ン 用 イ ン タ ー フ ェ ー ス に つ い て の ド キ ュ メ ン ト が あ り ま す 。

A Build-Depends relation on the package dh−sequence−addon implies a −−with addon. This avoids the need for an explicit −−with in debian/rules that only duplicates what is already declared via the build dependencies in debian/control. Note that only relations in the Build-Depends field are considered (i.e. Build-Depends-Indep and Build-Depends-Arch are deliberately unsupported). Please keep in mind that dh insists on "simple" relations (e.g. a relation like "dh−sequence−addon | some-other-pkg" will not imply −−with addon).

−−without addon

−−with と は 逆 に 、 指 定 さ れ た ア ド オ ン を 無 効 に し ま す 。 こ の オ プ シ ョ ン は 繰 り 返 し 指 定 す る こ と も で き ま す し 、 ア ド オ ン 名 を カ ン マ 区 切 り で 指 定 も で き ま す 。

−−list, −l 利 用 可 能 な ア ド オ ン 一 覧 を 表 示 す る 。

When called only with this option, dh can be called from any directory (i.e. it does not need access to files from a source package).

−−no−act 指 定 さ れ た 一 連 の 処 理 で の コ マ ン ド を 表 示 し ま す が 、 表 示 だ け し て 実 際 に は コ マ ン ド は 実 行 し ま せ ん 。 通 常 、 dh は 何 も 実 行 し な い で あ ろ う と わ か っ て い る 動 作 コ マ ン ド を ス キ ッ プ す る こ と に 注 意 し て く だ さ い 。 −−no−act を 指 定 す る と 、 一 連 の 動 作 内 で の コ マ ン ド 一 覧 を す べ て 出 力 し ま す 。

dh に 渡 さ れ た 他 の オ プ シ ョ ン は 、 実 行 さ れ る 各 コ マ ン ド に も 渡 さ れ ま す 。 こ れ は 、 −v, −X, −N の よ う な オ プ シ ョ ン を セ ッ ト す る の に 利 用 で き ま す 。 ま た 、 他 の 特 別 な オ プ シ ョ ン に つ い て も 同 様 と な り ま す 。

使 用 例

コ マ ン ド を 実 際 に は 動 作 さ せ ず 、 一 連 の 動 作 で ど の コ マ ン ド が 実 行 さ れ る か を 見 る :

dh binary−arch −−no−act 以 下 は 非 常 に シ ン プ ル な rules フ ァ イ ル で す 。 こ こ で は パ ッ ケ ー ジ に 対 し て 追 加 オ プ シ ョ ン 無 し で デ フ ォ ル ト の コ マ ン ド 群 が 呼 び 出 さ れ ま す 。

        #!/usr/bin/make −f
        %:
                dh $@特 定 の

debhelper コ マ ン ド へ オ プ シ ョ ン を 渡 し た い 事 が よ く あ り ま す 。 こ れ を 簡 単 に 行 う 方 法 は 、 そ の コ マ ン ド へ override を 追 加 す る こ と で す 。

        #!/usr/bin/make −f
        %:
                dh $@
        override_dh_strip:
                dh_strip −Xfoo
        override_dh_auto_configure:
                dh_auto_configure −− −−with−foo −−disable−bar

dh_auto_configure(1)dh_auto_build(1) が 処 理 を す る 際 、 何 を 処 理 す れ ば よ い か 判 断 で き な い よ う な 変 わ っ た パ ッ ケ ー ジ が た ま に 存 在 し ま す 。 こ こ で は 、 dh_auto_configure(1)dh_auto_build(1) を 実 行 せ ず に 、 代 わ り の コ マ ン ド を 実 行 さ せ る 方 法 を 示 し ま す 。

        #!/usr/bin/make −f
        %:
                dh $@
        override_dh_auto_configure:
                ./mondoconfig
        override_dh_auto_build:
                make universe−explode−in−delight別 の よ く あ る 例 と し て 、 特 定 の

debhelper コ マ ン ド が 実 行 さ れ る 前 後 で 手 動 で 何 か を し た い 場 合 が あ り ま す 。

        #!/usr/bin/make −f
        %:
                dh $@
        override_dh_fixperms:
                dh_fixperms
                chmod 4755 debian/foo/usr/bin/foo

Python tools are not run by dh by default, due to the continual change in that area. Here is how to use dh_python2.

        #!/usr/bin/make −f
        %:
                dh $@ −−with python2こ ち ら は

Perl に よ る Module::Build ビ ル ド シ ス テ ム を 強 制 的 に 使 う 方 法 で す 。 こ れ は 、 debhelper が 誤 っ て パ ッ ケ ー ジ が MakeMaker を 使 っ て い る と 認 識 す る 場 合 に 必 要 と な り ま す 。

        #!/usr/bin/make −f
        %:
                dh $@ −−buildsystem=perl_build以 下 に

dh_auto_* コ マ ン ド が ど こ に パ ッ ケ ー ジ ソ ー ス が あ る か を 変 更 す る 例 を 載 せ ま す 。 こ れ は サ ブ デ ィ レ ク ト リ に ソ ー ス が 存 在 す る よ う な パ ッ ケ ー ジ で 使 い ま す 。

        #!/usr/bin/make −f
        %:
                dh $@ −−sourcedirectory=src

dh_auto_* に サ ブ デ ィ レ ク ト リ で ビ ル ド す る よ う に 指 定 す る 方 法 を 以 下 に 示 し ま す 。 こ ち ら を 指 定 す る と 、 clean 処 理 で こ れ ら デ ィ レ ク ト リ が 取 り 除 か れ る よ う に な り ま す :

        #!/usr/bin/make −f
        %:
                dh $@ −−builddirectory=buildパ ッ ケ ー ジ が 並 列 ビ ル ド 可 能 で あ れ ば 、 互 換 性 レ ベ ル

10 を 使 う か dh に −−parallel を 指 定 し て 下 さ い 。 す る と dpkg-buildpackage −j が 有 効 に な り ま す 。

        #!/usr/bin/make −f
        %:
                dh $@ −−parallelパ ッ ケ ー ジ が 複 数 ス レ ッ ド を 使 う と 安 定 し て ビ ル ド 出 来 な い 場 合 は 、

dh (あ る い は 関 連 す る dh_auto_* コ マ ン ド )に −−no−parallel を 指 定 し て 下 さ い 。

        #!/usr/bin/make −f
        %:
                dh $@ −−no−parallelこ こ で は 、

dh に 、 実 行 し て ほ し く な い コ マ ン ド を 実 行 さ せ な い よ う に す る 方 法 を 示 し ま す 。 そ の 場 合 、 そ れ ら の コ マ ン ド に 対 す る override タ ー ゲ ッ ト を 空 に す る こ と に よ り 行 い ま す 。

        #!/usr/bin/make −f
        %:
                dh $@
        # 実 行 さ せ た く な い コ マ ン ド :
        override_dh_auto_test override_dh_compress override_dh_fixperms:ド キ ュ メ ン ト パ ッ ケ ー ジ を 作 成 す る の に 時 間 が か か る 場 合 が あ り ま す 。 こ の 場合 、 ア ー キ テ ク チ ャ 非 依 存 用 の

override タ ー ゲ ッ ト を 使 っ て ビ ル ド を 分 離 す る こ と が で き ま す 。 こ う す る と 、 build−arch や binary-arch を 実 行 す る と き 、 ド キ ュ メ ン ト パ ッ ケ ー ジ の ビ ル ド が 省 略 さ れ ま す 。

        #!/usr/bin/make −f
        %:
                dh $@
        override_dh_auto_build−indep:
                $(MAKE) −C docs
        # doc タ ー ゲ ッ ト 実 行 時 は テ ス ト は 不 要
        override_dh_auto_test−indep:
        override_dh_auto_install−indep:
                $(MAKE) −C docs install上 の 例 に 加 え 、 フ ァ イ ル に

chmod を 実 行 し な け れ ば な ら な い が そ れ は ア ー キ テ ク チ ャ 依 存 パ ッ ケ ー ジ を ビ ル ド す る 際 の み 必 要 で 、 ド キ ュ メ ン ト の み を ビ ル ド す る 時 に は 実 行 し な い と し た ら ど う な る で し ょ う か 。

        override_dh_fixperms−arch:
                dh_fixperms
                chmod 4755 debian/foo/usr/bin/foo

内 部 動 作

dh の 内 部 動 作 に 興 味 が あ る 人 向 け に 、 以 下 に 内 部 で ど の よ う に 動 作 し て い る の か を 記 載 し ま す 。

In compat 10 (or later), dh creates a stamp file debian/debhelper−build−stamp after the build step(s) are complete to avoid re-running them. It is possible to avoid the stamp file by passing −−without=build−stamp to dh. This makes "no clean" builds behave more like what some people expect at the expense of possibly running the build and test twice (the second time as root or under fakeroot(1)).

Inside an override target, dh_* commands will create a log file debian/package.debhelper.log to keep track of which packages the command(s) have been run for. These log files are then removed once the override target is complete. 互 換 性 レ ベ ル 9 と そ れ 以 前 で は 、 各 debhelper コ マ ン ド は debian/package.debhelper.log に 実 行 が う ま く 行 っ た も の を 記 録 し ま す (こ れ は dh_clean が 消 去 し ま す )。 こ れ に よ り 、 dh は 既 に ど の コ マ ン ド が 実 行 さ れ た か 、 あ る い は ど の パ ッ ケ ー ジ に 対 し て 実 行 さ れ た か 、 何 の コ マ ン ド を 再 び ス キ ッ プ す れ ば よ い の か が わ か り ま す 。

(互 換 性 レ ベ ル 9 と そ れ 以 前 で は ) dh が 動 作 す る と 、 ロ グ を 検 査 し 、 指 定 さ れ た 一 連 の 処 理 に て ど ん な コ マ ン ド が 最 後 に 実 行 さ れ た と 記 録 さ れ て い る か を 調 べ ま す 。 そ し て 、 次 に 実 行 す べ き コ マ ン ド を 実 行 し ま す 。 −−until, −−before, −−after, −−remaining オ プ シ ョ ン に よ り 、 こ の 振 る 舞 い を 変 更 で き ま す (た だ し 、 互 換 性 レ ベ ル 10 で は こ れ ら は 削 除 さ れ て い ま す )。

dh に 処 理 の 流 れ の 名 前 を 指 定 す る こ と に よ り 、 debian/rules に 記 載 し た 依 存 関 係 に あ る タ ー ゲ ッ ト も 実 行 さ れ ま す 。 例 え ば 、 "binary" と い う 処 理 の 流 れ を 指 定 す る と 、 "install" タ ー ゲ ッ ト も 実 行 さ れ ま す 。

dh は 、 DH_INTERNAL_OPTIONS 環 境 変 数 を チ ェ ッ ク し 、 override タ ー ゲ ッ ト の 中 で 実 行 さ れ る debhelper コ マ ン ド に 情 報 を 渡 し ま す 。 こ の 環 境 変 数 に 記 載 さ れ て い る 内 容 は (実 際 に は 環 境 変 数 が 存 在 し て い る と ) 、 そ の 環 境 変 数 の 名 前 が 示 唆 す る と お り 、 ど の 時 点 で も debhelper コ マ ン ド の 動 作 に 影 響 を 与 え ま す 。

build-indep, install-indep, binary-indep の 一 連 の 処 理 に 記 載 さ れ て い る コ マ ン ド に は 、 ア ー キ テ ク チ ャ 非 依 存 パ ッ ケ ー ジ を ビ ル ド す る 時 に だ け 確 実 に 作 用 す る よ う に −i オ プ シ ョ ン を 使 っ て 情 報 が 引 き 渡 さ れ ま す 。 build-arch, install-arch, binary-arch の 一 連 の 処 理 に 対 し て は 、 −a に て 引 き 渡 さ れ 、 ア ー キ テ ク チ ャ 依 存 パ ッ ケ ー ジ に の み 確 実 に 作 用 す る よ う に 動 作 し ま す 。

廃 止 さ れ た オ プ シ ョ ン

以 下 の オ プ シ ョ ン は 廃 止 さ れ ま し た 。 代 わ り に override タ ー ゲ ッ ト を 使 う 事 を 強 く 推 奨 し ま す 。 互 換 性 レ ベ ル 10 で は 利 用 で き ま せ ん

−−until cmd 処 理 中 、 cmd で 指 定 さ れ た コ マ ン ド に 遭 遇 す る ま で 実 行 し 、 最 後 に cmd を 実 行 し て 停 止 し ま す 。
−−before
cmd

cmd で 指 定 さ れ た コ マ ン ド ま で 実 行 し て 停 止 し ま す 。

−−after cmd

cmd で 指 定 さ れ た コ マ ン ド に 続 い て 一 連 の コ マ ン ド を 実 行 し ま す 。

−−remaining 一 連 の 処 理 の う ち 、 未 だ 実 行 し て い な い コ マ ン ド を 実 行 し ま す 。 以 上 の オ プ シ ョ ン で は 、 cmd は debhelper コ マ ン ド の 完 全 な 名 前 を 指 定 す る か 、 そ の 一 部 の 名 前 を 指 定 す る こ と に な り ま す 。 あ い ま い さ を 排 除 す る た め 、 最 初 に 完 全 な 名 前 で 検 索 が 行 わ れ ま す 。 名 前 が 名 前 の 一 部 で 指 定 の 場 合 に 、 複 数 の 候 補 が 見 つ か る こ と が あ り ま す が 、 そ の 場 合 は 処 理 の 一 連 の 流 れ の 中 で 一 番 最 後 に 見 つ か っ た も の が 利 用 さ れ ま す 。

参 照

debhelper(7) こ の プ ロ グ ラ ム は debhelper の 一 部 で す 。

作 者

Joey Hess <joeyh [AT] debian.org>

COMMENTS