Manpages

名 前

debhelper − debhelper 関 連 ツ ー ル 群

書 式

dh_* [−v] [−a] [−i] [−−no−act] [−ppackage] [−Npackage] [−Ptmpdir]

説 明

debhelper は 、 Debian パ ッ ケ ー ジ の ビ ル ド を 容 易 に す る た め に 使 わ れ ま す 。 debhelper の 根 底 に あ る 考 え は 「 パ ッ ケ ー ジ ビ ル ド 時 の 各 種 の 共 通 的 な 作 業 を 自 動 化 す る た め に debian/rules で 用 い ら れ て い る 、 小 さ く 単 純 で 、 容 易 に 理 解 可 能 な ツ ー ル を ま と め て 提 供 す る こ と 」 で す 。 つ ま り 、 あ な た = パ ッ ケ ー ジ を 作 成 す る 人 の 負 担 を 減 ら し ま す 。 さ ら に 、 Debian ポ リ シ ー が 変 わ っ た 場 合 に は こ の ツ ー ル 群 を 多 少 変 更 さ え す れ ば 、 debhelper を 使 っ て い る パ ッ ケ ー ジ が 新 し い ポ リ シ ー に 適 合 す る の に 必 要 に な る の は 、 再 ビ ル ド だ け に な り ま す 。

debhelper を 利 用 し て い る 典 型 的 な debian/rules フ ァ イ ル は 、 複 数 の debhelper コ マ ン ド を 順 番 に 呼 び 出 し て い る か 、 dh(1) を 使 っ て 一 連 の 処 理 を 自 動 化 し て い ま す 。 debhelper を 使 っ た rules フ ァ イ ル の 例 は /usr/share/doc/debhelper/examples/ に あ り ま す 。

debhelper を 使 っ て Debian パ ッ ケ ー ジ を 作 成 す る に は 、 サ ン プ ル の rules フ ァ イ ル の ど れ か を コ ピ ー し て 手 で 修 正 す る だ け で す 。 あ る い は dh-make パ ッ ケ ー ジ を 利 用 し て み て く だ さ い 。 こ の パ ッ ケ ー ジ に は 部 分 的 に 作 業 を 自 動 化 し て く れ る dh_make コ マ ン ド が 含 ま れ て い ま す 。 よ り や さ し い 案 内 に つ い て は 、 maint-guide-ja パ ッ ケ ー ジ に debhelper を 使 っ て 初 め て パ ッ ケ ー ジ を 作 る 人 向 け の チ ュ ー ト リ ア ル が 含 ま れ て い ま す 。

Except where tool explicitly denotes otherwise, all of the debhelper tools assumes that they run from root directory of an unpacked source package. This is so they can locate find debian/control and debian/compat when needed.

DEBHELPER コ マ ン ド

以 下 が 利 用 可 能 な debhelper コ マ ン ド の 一 覧 で す 。 詳 細 は 、 各 コ マ ン ド 付 属 の man ペ ー ジ を 参 照 し て く だ さ い 。

dh_auto_build(1) 自 動 的 に パ ッ ケ ー ジ を ビ ル ド す る
dh_auto_clean(1) ビ ル ド 後 、 自 動 的 に ビ ル ド デ ィ レ ク ト リ を 消 去 す る
dh_auto_configure(1) パ ッ ケ ー ジ ビ ル ド 前 に 自 動 的 に configure を 行 う
dh_auto_install(1)

make install や 類 似 コ マ ン ド を 自 動 的 に 実 行 す る

dh_auto_test(1) パ ッ ケ ー ジ の テ ス ト ス イ ー ト を 自 動 的 に 実 行 す る
dh_bugfiles(1) カ ス タ マ イ ズ さ れ た バ グ レ ポ ー ト 用 フ ァ イ ル を イ ン ス ト ー ル す る
dh_builddeb(1)

Debianバ イ ナ リ パ ッ ケ ー ジ の ビ ル ド を 行 う

dh_clean(1) パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ を 消 去 す る
dh_compress(1) ビ ル ド デ ィ レ ク ト リ で フ ァ イ ル 圧 縮 と シ ン ボ リ ッ ク リ ン ク の 修 正 を 行 う
dh_fixperms(1) パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ 内 の フ ァ イ ル 権 限 を 修 正 す る
dh_gconf(1)

GConf デ フ ォ ル ト フ ァ イ ル を イ ン ス ト ー ル し 、 ス キ ー マ に 登 録 す る

dh_gencontrol(1)

control フ ァ イ ル を 生 成 し 、 イ ン ス ト ー ル す る

dh_icons(1)

Freedesktop 規 格 の ア イ コ ン キ ャ ッ シ ュ を 更 新 す る

dh_install(1) パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ に フ ァ イ ル を イ ン ス ト ー ル す る
dh_installcatalogs(1)

SGML カ タ ロ グ フ ァ イ ル を イ ン ス ト ー ル ・ 登 録 す る

dh_installchangelogs(1) ビ ル ド デ ィ レ ク ト リ に changelog を イ ン ス ト ー ル す る
dh_installcron(1)

cron ス ク リ プ ト を etc/cron.* へ イ ン ス ト ー ル す る

dh_installdeb(1)

DEBIAN デ ィ レ ク ト リ に フ ァ イ ル を イ ン ス ト ー ル す る

dh_installdebconf(1) ビ ル ド デ ィ レ ク ト リ の debconf が 使 う フ ァ イ ル を イ ン ス ト ー ル す る
dh_installemacsen(1)

Emacsの ア ド オ ン パ ッ ケ ー ジ を 登 録 す る

dh_installifupdown(1)

if-up と if-down フ ッ ク を イ ン ス ト ー ル し ま す

dh_installinfo(1)

info フ ァ イ ル を イ ン ス ト ー ル す る

dh_installlogcheck(1)

etc/logcheck/ に logcheck 用 ル ー ル フ ァ イ ル を イ ン ス ト ー ル す る

dh_installlogrotate(1)

logrotate用 設 定 フ ァ イ ル を イ ン ス ト ー ル す る

dh_installmenu(1) ビ ル ド デ ィ レ ク ト リ へ Debian メ ニ ュ ー フ ァ イ ル を イ ン ス ト ー ル す る
dh_installmime(1)

mime フ ァ イ ル を ビ ル ド デ ィ レ ク ト リ へ イ ン ス ト ー ル す る

dh_installmodules(1) カ ー ネ ル モ ジ ュ ー ル を 登 録 す る
dh_installpam(1)

pam サ ポ ー ト フ ァ イ ル を イ ン ス ト ー ル す る

dh_installppp(1)

ppp 用 の ip-up, ip-down フ ァ イ ル を イ ン ス ト ー ル す る

dh_installudev(1)

udev 用 ル ー ル フ ァ イ ル を イ ン ス ト ー ル す る

dh_installwm(1) ウ ィ ン ド ウ マ ネ ー ジ ャ を 登 録 す る
dh_installxfonts(1)

X 用 フ ォ ン ト 群 の 登 録 を 行 う

dh_link(1) パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ 内 で シ ン ボ リ ッ ク リ ン ク を 作 成 す る
dh_lintian(1) ビ ル ド デ ィ レ ク ト リ に lintian へ の override フ ァ イ ル を イ ン ス ト ー ル す る
dh_listpackages(1)

debhelper が 処 理 す る バ イ ナ リ パ ッ ケ ー ジ の 一 覧 を 列 挙 す る

dh_md5sums(1)

DEBIAN/md5sums フ ァ イ ル を 生 成 す る

dh_movefiles(1)

debian/tmp か ら サ ブ パ ッ ケ ー ジ へ フ ァ イ ル を 移 動 す る

dh_perl(1)

Perlへ の 依 存 関 係 を 検 討 し 、 MakeMaker 実 行 後 に 生 成 し た も の を 消 去 す る

dh_prep(1) バ イ ナ リ パ ッ ケ ー ジ ビ ル ド の 事 前 準 備 と し て 諸 々 の 消 去 を 行 う
dh_shlibdeps(1) 共 有 ラ イ ブ ラ リ の 依 存 関 係 を 計 算 す る
dh_strip(1) 実 行 フ ァ イ ル 、 共 有 フ ァ イ ル 、 静 的 ラ イ ブ ラ リ の デ バ ッ グ 情 報 を 削 る
dh_testdir(1)

Debian パ ッ ケ ー ジ を ビ ル ド す る 前 に デ ィ レ ク ト リ の 状 態 を 検 証 す る

dh_usrlocal(1)

usr/local デ ィ レ ク ト リ を メ ン テ ナ ス ク リ プ ト へ 移 行 す る 廃 止 さ れ た コ マ ン ド 一 覧 廃 止 さ れ て お り 、 使 う べ き で な い debhelper コ マ ン ド 一 覧

dh_installmanpages(1) 古 い ス タ イ ル の man ペ ー ジ の イ ン ス ト ー ル 用 プ ロ グ ラ ム (廃 止 ) 他 の コ マ ン ド プ ロ グ ラ ム の 名 前 が dh_ で 始 ま り 、 先 の リ ス ト に な い も の は 、 debhelper パ ッ ケ ー ジ 付 属 の プ ロ グ ラ ム で は あ り ま せ ん 。 し か し 、 こ の よ う な 名 前 を 持 つ コ マ ン ド は 、 こ の ペ ー ジ に 記 述 さ れ て い る 他 の プ ロ グ ラ ム の よ う に 動 作 す る べ き で す 。

DEBHELPER 設 定 フ ァ イ ル

debhelper の コ マ ン ド の 多 く は 、 ど の よ う に 動 作 す る か に つ い て debian/ デ ィ レ ク ト リ 以 下 に あ る フ ァ イ ル を 用 い ま す 。 共 通 の debian/changelogdebian/control は す べ て の パ ッ ケ ー ジ に 存 在 し て い ま す が 、 こ れ に 加 え て 特 定 の debhelper コ マ ン ド の 動 作 を 制 御 で き る 追 加 フ ァ イ ル が あ り ま す 。 こ れ ら の フ ァ イ ル は 、 大 抵 debian/package.foo と い う フ ァ イ ル 名 で す (も ち ろ ん 、 package は 処 理 し よ う と し て い る パ ッ ケ ー ジ 名 に 変 え て く だ さ い )。 例 え ば 、 dh_installdocs で は 、 イ ン ス ト ー ル す る ド キ ュ メ ン ト の 一 覧 を 得 る の に debian/package.docs と い う 名 前 の フ ァ イ ル を 利 用 し ま す 。 各 コ マ ン ド が 使 う フ ァ イ ル の 名 前 と フ ォ ー マ ッ ト に つ い て は 、 詳 細 は コ マ ン ド の man ペ ー ジ を 参 照 し て く だ さ い 。 大 抵 、 こ れ ら の フ ァ イ ル で は 1 行 ご と に 処 理 す る フ ァ イ ル を 1 つ ず つ 列 挙 し ま す 。 い く つ か の debhelper プ ロ グ ラ ム で は 、 フ ァ イ ル と 宛 先 の 組 み 合 わ せ や 、 も う 少 々 複 雑 な フ ォ ー マ ッ ト な ど を 使 い ま す 。

Note for the first (or only) binary package listed in debian/control, debhelper will use debian/foo when there’s no debian/package.foo file. However, it is often a good idea to keep the package. prefix as it is more explicit. The primary exception to this are files that debhelper by default installs in every binary package when it does not have a package prefix (such as debian/copyright or debian/changelog). 稀 で は あ り ま す が 、 こ れ ら の フ ァ イ ル を 、 異 な る ア ー キ テ ク チ ャ / 異 な る OS 用 に そ れ ぞ れ 用 意 し た い 場 合 が あ り ま す 。 フ ァ イ ル 名 が debian/package.foo. ARCH や 、 debian/package.foo. OS の も の が 存 在 す る と 、 "dpkg-architecture −qDEB_HOST_ARCH" / "dpkg-architecture −qDEB_HOST_ARCH_OS" で そ れ ぞ れ 指 定 し た ARCHOS を 含 む も の が 、 通 常 の フ ァ イ ル よ り も 優 先 的 に 使 わ れ ま す 。 多 く の 場 合 、 こ れ ら の 設 定 フ ァ イ ル は 、 い ろ い ろ な 種 類 の フ ァ イ ル を 列 挙 し て 指 定 す る の に 使 わ れ ま す 。 例 え ば イ ン ス ト ー ル す べ き ド キ ュ メ ン ト や サ ン プ ル フ ァ イ ル で あ っ た り 、 移 動 す べ き フ ァ イ ル だ っ た り 等 と な り ま す 。 シ ェ ル の ワ イ ル ド カ ー ド 文 字 列 (?, * 及 び [..] 文 字 ク ラ ス ) を フ ァ イ ル に 含 め る 事 が で き 、 状 況 次 第 で は こ ち ら が 望 ま し い 事 も あ り ま す 。 ま た 、 行 頭 が B <#> で 始 ま る 行 は 無 視 さ れ る 事 を 利 用 し て 、 コ メ ン ト を 記 載 で き ま す 。 こ れ ら フ ァ イ ル の 文 法 は 、 読 解 ・ 修 正 し や す い よ う 、 意 図 的 に シ ン プ ル に し て あ り ま す 。 も し 、 さ ら に 強 力 で 複 雑 な 事 を し た け れ ば 、 こ れ ら の フ ァ イ ル に 実 行 権 限 を 付 与 し 、 状 況 に あ っ た 出 力 を す る プ ロ グ ラ ム を 作 成 し て く だ さ い 。 た だ し 、 こ の 場 合 の 出 力 結 果 で は 、 後 の 処 理 で ワ イ ル ド カ ー ド は 展 開 さ れ ず 、 コ メ ン ト も 取 り 除 か れ な い 事 に 気 を つ け て く だ さ い 。

DEBHELPER 間 で 共 有 さ れ る オ プ シ ョ ン

以 下 の コ マ ン ド ラ イ ン オ プ シ ョ ン は 、 全 て の debhelper プ ロ グ ラ ム で サ ポ ー ト さ れ て い ま す 。

−v, −−verbose 冗 長 出 力 モ ー ド 。 パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ を 変 更 す る よ う な コ マ ン ド を 全 て 表 示 し ま す 。
−−no−act
実 際 の 処 理 を 行 い ま せ ん 。 −v オ プ シ ョ ン と 併 用 す る と 、 コ マ ン ド が ど の よ う な 処 理 を 行 う か が 出 力 さ れ ま す 。
−a
, −−arch ア ー キ テ ク チ ャ 依 存 パ ッ ケ ー ジ を 、 DEB_HOST_ARCH ア ー テ キ ク チ ャ 向 け に ビ ル ド す る よ う に 動 作 し ま す 。
−i
, −−indep 全 て の ア ー キ テ ク チ ャ 非 依 存 パ ッ ケ ー ジ に 対 し て 処 理 を 行 い ま す 。
−p
package, −−package=package

package で 指 定 さ れ た パ ッ ケ ー ジ に 対 し て 処 理 を 行 い ま す 。 複 数 の パ ッ ケ ー ジ を debhelper に 処 理 さ せ る 際 に は 、 繰 り 返 し 列 挙 し て 指 定 し て く だ さ い 。

−s, −−same−arch 廃 止 さ れ た −a の エ イ リ ア ス で す 。

This option is removed in compat 12.

−Npackage, −−no−package=package

−a, −i, −p オ プ シ ョ ン で 処 理 す べ き パ ッ ケ ー ジ と し て 対 象 と し て い て も 、 指 定 さ れ て い る パ ッ ケ ー ジ に つ い て は 処 理 を 行 わ な い よ う に し ま す 。

−−remaining−packages こ の debhelper コ マ ン ド に よ り 、 す で に 処 理 済 の パ ッ ケ ー ジ に つ い て は 処 理 を し な い よ う に し ま す (つ ま り 、 debhelper の ロ グ に コ マ ン ド の 記 録 が あ る も の は 処 理 し な い )。 例 え ば 、 い く つ か の バ イ ナ リ パ ッ ケ ー ジ だ け に 対 し て 特 別 な オ プ シ ョ ン 付 き で コ マ ン ド を 呼 び 出 し 、 残 り の パ ッ ケ ー ジ に 対 し て は 本 オ プ シ ョ ン を つ け て コ マ ン ド を 呼 び 出 し 、 デ フ ォ ル ト 設 定 に よ る 処 理 を 行 う と い う 事 が で き ま す 。
−−ignore=
file 特 定 の フ ァ イ ル を 無 視 し ま す 。 debian/ 以 下 に 実 際 に は debhelper コ マ ン ド が 実 行 し て は 困 る よ う な debhelper 設 定 フ ァ イ ル が あ る よ う な 時 に 利 用 で き ま す 。 た だ 、 debian/compat, debian/control, debian/changelog は 無 視 す る 事 が で き ま せ ん 。 こ れ は 動 作 の 都 合 上 、 こ れ ら の フ ァ イ ル を 無 視 す る わ け に は い か な い か ら で す 。 例 え ば 、 開 発 元 (upstream) が debian/init を 提 供 し て い る が dh_installinit で イ ン ス ト ー ル し て 欲 し く は 無 い 場 合 、 −−ignore=debian/init を 使 う こ と に な り ま す 。
−P
tmpdir, −−tmpdir=tmpdir

tmpdir を パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ と し て 利 用 し ま す 。 デ フ ォ ル ト で は debian/package デ ィ レ ク ト リ が 使 わ れ ま す 。

−−mainpackage=package こ の あ ま り 使 わ れ な い オ プ シ ョ ン は 、 debhelper コ マ ン ド が "main package" と み な す パ ッ ケ ー ジ 、 つ ま り 、 debian/control の 最 初 に 記 載 さ れ た パ ッ ケ ー ジ を 変 更 す る も の で す 。 こ れ に よ り 、 通 常 の debian/package.foo フ ァ イ ル で は な く debian/foo フ ァ イ ル が 使 わ れ る よ う に な り ま す 。
−O=
option|bundle こ れ は 、 実 行 す る す べ て の コ マ ン ド へ ユ ー ザ ー 指 定 の オ プ シ ョ ン を 渡 す 際 に dh(1) が 利 用 し ま す 。 コ マ ン ド が 指 定 の オ プ シ ョ ン を サ ポ ー ト し て い る 、 あ る い は 内 蔵 し て い る 場 合 は 、 オ プ シ ョ ン は 効 果 を 発 揮 し ま す 。 コ マ ン ド が 指 定 さ れ た オ プ シ ョ ン を サ ポ ー ト し て い な い 場 合 (あ る い は 、 内 蔵 し て い る オ プ シ ョ ン に な い 場 合 )、 オ プ シ ョ ン は 無 視 さ れ ま す 。

DEBHELPER の 共 通 オ プ シ ョ ン

以 下 の コ マ ン ド ラ イ ン オ プ シ ョ ン が 、 debhelper プ ロ グ ラ ム の う ち 複 数 で サ ポ ー ト さ れ て い ま す 。 「 オ プ シ ョ ン が 何 を 意 味 す る か 」 と い う 完 全 な 説 明 は 、 各 コ マ ン ド の man ペ ー ジ を 参 照 し て く だ さ い 。

−n

postinst, postrm 等 の ス ク リ プ ト に 変 更 を 加 え ま せ ん 。

−Xitem, −−exclude=item

item を 処 理 対 象 か ら 除 外 し ま す 。 複 数 の item を 除 外 す る た め に こ の オ プ シ ョ ン を 複 数 指 定 し て 使 う 。 こ と が で き ま す 。 通 常 、 \fIitem\fR は フ ァ イ ル 名 の 一 部 で 、 指 定 さ れ た テ キ ス ト が 含 ま れ る フ ァ イ ル は す べ て 除 外 さ れ ま す 。

−A, −−all コ マ ン ド ラ イ ン で 指 定 し た フ ァ イ ル 、 あ る い は 他 の item に つ い て 、 最 初 の パ ッ ケ ー ジ だ け で な く 全 パ ッ ケ ー ジ に 対 し て 処 理 を 行 い ま す 。

ビ ル ド シ ス テ ム 用 オ プ シ ョ ン

以 下 の コ マ ン ド ラ イ ン オ プ シ ョ ン が 、 す べ て の dh_auto_* の debhelper プ ロ グ ラ ム に よ っ て サ ポ ー ト さ れ て い ま す 。 こ れ ら の プ ロ グ ラ ム 群 は 様 々 な ビ ル ド シ ス テ ム を サ ポ ー ト し て お り 、 通 常 の 場 合 は 推 定 に よ っ て 、 ど の ビ ル ド シ ス テ ム が ど の よ う に 使 わ れ る か を 決 定 し ま す 。 こ れ ら の コ マ ン ド ラ イ ン オ プ シ ョ ン を 使 っ て 、 デ フ ォ ル ト の 動 作 を override す る こ と が 可 能 で す 。 大 抵 の 場 合 は 、 こ れ ら の オ プ シ ョ ン は ま ず dh(1) に 渡 さ れ 、 そ れ か ら す べ て の dh_auto_* プ ロ グ ラ ム へ と 渡 さ れ ま す 。

−Sbuildsystem, −−buildsystem=buildsystem パ ッ ケ ー ジ に 合 わ せ て 自 動 的 に 選 択 さ れ た ビ ル ド シ ス テ ム で は な く 、 buildsystem で 指 定 し た ビ ル ド シ ス テ ム を 強 制 的 に 使 用 し ま す 。
−D
directory, −−sourcedirectory=directory オ リ ジ ナ ル の ソ ー ス ツ リ ー が 、 Debian ソ ー ス パ ッ ケ ー ジ ツ リ ー の 最 上 位 の デ ィ レ ク ト リ で は な く 、 directory で 指 定 し た 場 所 に あ る と 仮 定 し ま す 。
−B
[directory], −−builddirectory=[directory] ソ ー ス の ビ ル ド デ ィ レ ク ト リ 外 に あ る 、 指 定 し た directory を ビ ル ド デ ィ レ ク ト リ と し て ソ ー ス の ビ ル ド を 有 効 に し ま す 。 directory パ ラ メ ー タ が 省 略 さ れ た 場 合 は デ フ ォ ル ト の ビ ル ド デ ィ レ ク ト リ が 利 用 さ れ ま す 。 こ の オ プ シ ョ ン が 指 定 さ れ な い 場 合 は 、 ビ ル ド シ ス テ ム が ソ ー ス ツ リ ー 外 で の ビ ル ド を 必 要 と す る 、 あ る い は そ ち ら が 望 ま し い と 判 断 さ れ な い 限 り 、 デ フ ォ ル ト で は ソ ー ス デ ィ レ ク ト リ 内 部 で ビ ル ド が 行 わ れ ま す 。 そ の 場 合 、 −−builddirectory が 指 定 さ れ て い な く て も デ フ ォ ル ト の ビ ル ド デ ィ レ ク ト リ が 使 用 さ れ ま す 。 ビ ル ド シ ス テ ム が 、 ソ ー ス デ ィ レ ク ト リ 以 外 の 場 所 で ビ ル ド を 選 択 し て し ま う け れ ど も ソ ー ス デ ィ レ ク ト リ で の ビ ル ド が 可 能 な 場 合 に は 、 ソ ー ス デ ィ レ ク ト リ の パ ス と 同 じ も の と し て ビ ル ド デ ィ レ ク ト リ の パ ス を 指 定 す れ ば 、 ソ ー ス デ ィ レ ク ト リ 内 で ビ ル ド を 行 う よ う に で き ま す 。
−−parallel
, −−no−parallel ビ ル ド シ ス テ ム が サ ポ ー ト し て い る 場 合 、 並 列 ビ ル ド を 有 効 に す る か ど う か を 管 理 し ま す 。 ど れ だ け の 数 で ジ ョ ブ を 並 列 に す る か は 、 ビ ル ド が 行 わ れ る 際 に DEB_BUILD_OPTIONS 環 境 変 数 に よ っ て 決 定 さ れ ま す (Debian ポ リ シ ー マ ニ ュ ア ル 、 4.9.1章 )。 ビ ル ド シ ス テ ム 固 有 の 制 限 に 影 響 を 受 け る 場 合 も あ り ま す 。 ど ち ら の オ プ シ ョ ン も 指 定 さ れ て い な い 場 合 、 debhelper は 現 在 で は 互 換 性 レ ベ ル 10 (以 降 ) の 場 合 は −−parallel を デ フ ォ ル ト に 、 そ う で な い 場 合 は −−no−parallel が 指 定 さ れ ま す 。 こ れ ら の オ プ シ ョ ン が 不 要 で あ る 場 合 、 あ る い は こ の オ プ シ ョ ン だ け が 渡 さ れ た 場 合 に は 、 dh は こ れ ら の オ プ シ ョ ン を サ ブ プ ロ セ ス に 渡 す の を 最 適 化 の た め 避 け よ う と し ま す 。 特 に 、 こ れ は DEB_BUILD_OPTIONSparallel パ ラ メ ー タ ー を 持 た な い (ま た は こ の 値 が 1 で あ る ) 場 合 に 起 こ り ま す 。
−−max−parallel=
maximum こ の オ プ シ ョ ン は −−parallel と と も に 利 用 し 、 並 列 ビ ル ド に お け る 並 列 数 の 上 限 を 引 き 上 げ ま す 。 も し パ ッ ケ ー ジ が 、 と あ る 並 列 数 ま で で し か ビ ル ド で き な い こ と が わ か っ て い る 場 合 、 こ の オ プ シ ョ ン を 使 っ て 最 大 限 の 並 列 数 ま た は 利 用 し た い 並 列 数 を 指 定 で き ま す 。 特 に 、 最 大 値 を 1 に 設 定 す る の は −−no−parallel を 使 う の と 同 じ 効 果 が あ り ま す 。
−−list
, −l こ の シ ス テ ム 上 で 、 debhelper が サ ポ ー ト し て い る ビ ル ド シ ス テ ム 一 覧 を 表 示 し ま す 。 こ の 一 覧 に は デ フ ォ ル ト の ビ ル ド シ ス テ ム 、 そ し て サ ー ド パ ー テ ィ ー 製 (で あ る と 明 記 さ れ て い る ) ビ ル ド シ ス テ ム の 双 方 を 含 み ま す 。 ま た 、 ど れ が 自 動 的 に 選 択 さ れ た か 、 あ る い は 手 動 で −−buildsystem オ プ シ ョ ン に て 何 が 指 定 さ れ た の か も 表 示 し ま す 。

互 換 性 レ ベ ル

時 が 経 ち 、 後 方 互 換 性 を 崩 す よ う な 大 き な 変 更 を debhelper に す る 必 要 が で て き ま し た 。 こ れ は 、 変 化 に 対 し て debhelper の 構 造 を 綺 麗 で う ま く 設 計 さ れ た ま ま に 保 つ 必 要 が あ る こ と と 、 debhelper の 作 者 が よ り 経 験 を 得 て よ り 深 く 考 え る よ う に な っ た た め で す 。 こ の よ う な 大 き な 変 更 に よ っ て 既 存 の パ ッ ケ ー ジ を 壊 さ な い よ う に す る た め 、 互 換 性 レ ベ ル と い う 考 え 方 が 導 入 さ れ ま し た 。 debhelper に ど の 互 換 性 レ ベ ル を 使 う べ き か を 指 定 す る こ と で 、 こ れ に 合 わ せ て 動 作 が 様 々 に 変 化 し ま す 。 互 換 性 レ ベ ル は debian/compat フ ァ イ ル で 指 定 さ れ 、 こ の フ ァ イ ル は 必 須 と な っ て い ま す 。 数 字 を debian/compat に 記 述 し て 、 debhelper に ど の 互 換 性 レ ベ ル を 使 う か を 教 え ま す 。 例 え ば 、 v11 モ ー ド を 使 う に は 次 の 様 に し ま す :

% echo 11 > debian/compat パ ッ ケ ー ジ は 、 利 用 す る 互 換 性 レ ベ ル と 同 じ (あ る い は そ れ 以 上 ) の バ ー ジ ョ ン の debhelper プ ロ グ ラ ム を ビ ル ド 依 存 と し て 設 定 す る 必 要 が あ り ま す 。 互 換 性 レ ベ ル 11 の 場 合 、 debian/control フ ァ イ ル が 以 下 の 様 に な っ て い る こ と を 確 認 し て く だ さ い :

Build−Depends: debhelper (>= 11~) 特 に 指 定 が 無 い 場 合 、 debhelper の ド キ ュ メ ン ト は 最 新 の 互 換 性 レ ベ ル を 利 用 し て い る 事 を 前 提 と お り 、 多 く の 場 合 で は 以 前 の 互 換 性 レ ベ ル で は ど う 動 作 が 異 な る か に つ い て は 言 及 し て い ま せ ん 。 最 新 の 互 換 性 レ ベ ル を 使 っ て い な い 場 合 に は 、 そ れ 以 前 の 互 換 性 レ ベ ル と は ど う 動 作 が 違 う の か 、 以 下 の 説 明 を 参 照 し て お く 事 を お す す め し ま す 。

Supported compatibility levels 利 用 可 能 な 互 換 性 レ ベ ル は 以 下 の 通 り で す :

v5 こ れ は サ ポ ー ト さ れ て い る 最 低 限 の 互 換 性 レ ベ ル で す 。 こ れ 以 前 の 互 換 性 レ ベ ル か ら ア ッ プ グ レ ー ド し よ う と し て い る 場 合 、

debhelper−obsolete−compat(7) を 確 認 し て 下 さ い 。 こ の モ ー ド は 廃 止 さ れ ま し た 。

v6

v5 か ら の 変 更 点 :

− メ ン テ ナ ン ス 用 ス ク リ プ ト の 一 部 を 生 成 す る コ マ ン ド は 、

prermpostrm ス ク リ プ ト 用 に こ れ ら を 逆 順 に 並 び 替 え る よ う に な り ま し た 。

dh_installwmx−window−manager.1.gz と い う slave な man ペ ー ジ へ リ ン ク を 作 る よ う に な り ま し た 。 こ れ は パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ 内 の usr/share/man/man1 デ ィ レ ク ト リ に man ペ ー ジ が あ る 場 合 に 行 わ れ ま す 。

dh_builddeb は 、 CVS: .svn:.git の よ う に 除 外 す る 対 象 を DH_ALWAYS_EXCLUDE に 指 定 し て も 該 当 す る フ ァ イ ル を 削 除 し て い ま せ ん で し た 。 本 互 換 性 レ ベ ル で は 削 除 す る よ う に な っ て い ま す 。

dh_installman は 、 パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ に す で に 存 在 す る man ペ ー ジ を 上 書 き し て も 良 く な り ま し た 。 こ れ よ り 以 前 の 互 換 性 レ ベ ル の 元 で は 、 こ の よ う な 動 作 は 何 の 警 告 も な く 拒 絶 さ れ て い ま し た 。

こ の モ ー ド は 廃 止 さ れ ま し た 。

v7

v6 か ら の 変 更 点 :

− も し 、

debian/tmp 以 下 に あ る よ う な フ ァ イ ル が 、 カ レ ン ト デ ィ レ ク ト リ に な い 場 合 (も し く は 、 −−sourcedir で 指 定 し た デ ィ レ ク ト リ に な い 場 合 ) 、 dh_installdebian/tmp を 探 し に い く よ う に な り ま し た 。 こ の 振 る 舞 い の 変 更 に よ り 、 dh_install に 特 に 何 か 引 数 を 指 定 し な く て も 、 debian/tmp に イ ン ス ト ー ル し よ う と す る dh_auto_install と 協 調 し て 動 作 で き る よ う に な り ま し た 。

dh_cleandebian/clean を 読 み 、 そ こ に 記 載 さ れ て い る フ ァ イ ル を 消 す よ う に な り ま し た 。

dh_clean は ビ ル ド デ ィ レ ク ト リ の 最 上 位 の 階 層 に あ る *−stamp フ ァ イ ル を 消 す よ う に な り ま し た 。

dh_installchangelogs は 、 何 も 指 定 し な く て も ど の フ ァ イ ル が upstream の changelog で あ る か を 推 定 す る よ う に な り ま し た 。

こ の モ ー ド は 廃 止 さ れ ま し た 。

v8

v7 か ら の 変 更 点 :

− 未 定 義 の オ プ シ ョ ン を 渡 そ う と す る と 、 警 告 文 を 出 し て 処 理 続 行 す る の で は な く 、 エ ラ ー に し て 処 理 を 失 敗 さ せ る よ う に な り ま し た 。

dh_makeshlibs は 、 shlibs フ ァ イ ル を 作 成 す る 為 に 、 dpkg-gensymbols を す べ て の 共 有 ラ イ ブ ラ リ に 対 し て 実 行 す る よ う に な り ま し た 。 −X を 指 定 す る と 実 行 を 除 外 す る ラ イ ブ ラ リ を 指 定 で き ま す 。 ま た 、 通 常 で は な い 場 所 に ラ イ ブ ラ リ が あ る 為 dh_makeshlibs へ 渡 す 前 に dpkg-gensymbols が 処 理 で き な い よ う な 場 合 、 パ ッ ケ ー ジ の ビ ル ド が 失 敗 に 終 わ る よ う に な り ま し た 。

dh は 最 初 の パ ラ メ ー タ と し て 、 一 連 の 処 理 の 名 前 を 指 定 し 、 そ の 次 に オ プ シ ョ ン を 記 載 し な け れ ば な ら な く な り ま し た 。 つ ま り 、 "dh $@ −−foo" が 正 し く 、 "dh −−foo $@" は 間 違 い と な り ま す 。

dh_auto_*Makefile.PL フ ァ イ ル よ り も 、 Perl の Module::Build モ ジ ュ ー ル を 優 先 し て 利 用 す る よ う に な り ま し た 。

こ の モ ー ド は 廃 止 さ れ ま し た 。

v9

v8 か ら の 変 更 点 :

multiarch を サ ポ ー ト し ま す 。 特 に dh_auto_configure は autoconfコ マ ン ド へ −−libdir や −−libexecdir に multiarch 用 途 の デ ィ レ ク ト リ を 渡 す よ う に な っ て い ま す 。

dh コ マ ン ド は debian/rules に 記 載 さ れ て い る タ ー ゲ ッ ト 間 の 一 般 的 な 依 存 性 を 考 慮 し ま す 。 そ の た め 、 "dh binary" は rules フ ァ イ ル に 存 在 す る build, build-arch, build-indep, install 等 の タ ー ゲ ッ ト を 実 行 し て い き ま す 。 つ ま り 、 他 の タ ー ゲ ッ ト に 関 す る 依 存 関 係 を い ち い ち 細 か く 明 示 し た binary タ ー ゲ ッ ト を 用 意 す る 必 要 は あ り ま せ ん 。

dh_strip は デ バ ッ グ シ ン ボ ル フ ァ イ ル を 圧 縮 し 、 −dbg パ ッ ケ ー ジ の イ ン ス ト ー ル 時 に 必 要 と す る 容 量 を 削 減 し ま す 。

dh_auto_configure は 、 autoconf を 使 っ た と き に 、 −−libexecdir に ソ ー ス パ ッ ケ ー ジ 名 を 追 加 し な く な り ま し た 。

dh は −−with=python−support オ プ シ ョ ン を 、 デ フ ォ ル ト で は 無 効 に す る よ う に な り ま し た 。

(Obsolete: As the dh_pysupport tool was removed from Debian stretch. Since debhelper/10.3, dh no longer enables this sequence add-on regardless of compat level)

− す べ て の

dh_auto_* debhelper プ ロ グ ラ ム と dh コ マ ン ド

は 、 dpkg-buildflags で 指 定 さ れ る 環 境 変 数 を 設 定 し ま す 。 す で に 該 当 す る 環 境 変 数 が 設 定 さ れ て い る 場 合 は 設 定 を 行 い ま せ ん 。

dh_auto_configure は 、 dpkg-buildflags に よ っ て 設 定 さ れ る CFLAGS、 CPPFLAGS, LDFLAGS パ ラ メ ー タ を Makefile.PLBuild.PL へ 引 き 渡 し ま す 。

dh_strip は build-id に 基 づ く 場 所 に 、 分 離 し た デ バ ッ グ シ ン ボ ル を 配 置 し ま す 。

実 行 可 能 権 限 を 付 与 し た debhelper 用 の 設 定 フ ァ イ ル は 、 実 行 さ れ 出 力 が 設 定 と し て 扱 わ れ ま す 。

v10

v9 か ら の 変 更 点 :

dh_installinit は 、 init ス ク リ プ ト と し て debian/package と い う 名 前 で フ ァ イ ル を イ ン ス ト ー ル し な く な り ま し た 。

dh_installdocs は 、 ア ー キ テ ク チ ャ "all" と 非 "all" の パ ッ ケ ー ジ 間 で −−link−doc で 作 ら れ た リ ン ク が binNMU を 壊 す の を 検 知 し て エ ラ ー を 吐 き 出 す よ う に な り ま す 。

dh は 、 実 行 し て い る debhelper コ マ ン ド を ス キ ッ プ し た 場 合 に は パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ を 作 成 し な く な り ま し た 。 こ れ は debhelper コ マ ン ド の み を 使 っ て ビ ル ド さ れ て い る パ ッ ケ ー ジ に は 影 響 し ま せ ん が 、 debhelper に 含 ま れ て い な い コ マ ン ド の バ グ を 暴 く か も し れ ま せ ん 。

dh_installdebは 、 メ ン テ ナ が 提 供 し た debian/package.shlibs フ ァ イ ル を イ ン ス ト ー ル し な く な り ま し た 。 現 在 こ れ は 、 dh_makeshlibs に よ っ て 代 わ り に 行 わ れ ま す 。

dh_installwm は 、 man ペ ー ジ が 見 つ か ら な い 場 合 に 壊 れ た パ ッ ケ ー ジ を 作 成 す る の を 拒 否 す る よ う に な り ま し た (x−window-manager の alternative 登 録 に 必 要 )。

debhelper は 、 並 列 ビ ル ド を サ ポ ー ト し て い る 全 て の ビ ル ド シ ス テ ム で 、 デ フ ォ ル ト で −−parallel を 使 用 し ま す 。 こ れ は 、 −−no−parallel を 使 う か −−max−parallel へ 1 の 値 を 渡 す こ と で 無 効 に で き ま す 。

dh コ マ ン ド は 、 使 わ れ な く な っ た "手 動 シ ー ケ ン ス コ ン ト ロ ー ル " パ ラ メ ー タ ー (−−before, −−after な ど )を 受 け 付 け な く な り ま す 。 代 わ り に override タ ー ゲ ッ ト を 使 っ て く だ さ い 。

dh コ マ ン ド は ど の コ マ ン ド が 実 行 さ れ た の か を 追 跡 す る の に ロ グ フ ァ イ ル を 使 わ な く な り ま す 。 dh コ マ ン ド は 依 然 と し て 既 に "build" シ ー ケ ン ス を 実 行 し た か ど う か を 記 録 し 、 も し 実 行 さ れ て い た ら ス キ ッ プ し ま す 。 こ れ の 主 な 影 響 :

− こ れ に よ り 、

install 及 び binary シ ー ケ ン ス を ("clean 及 び rebuild" の サ イ ク ル を 全 て 実 施 す る 必 要 が 無 く な り ) 気 軽 に 再 実 行 可 能 に な っ た た め 、 デ バ ッ グ が よ り 簡 単 に な っ て い ま す 。

The main caveat is that dh_* now only keeps track of what happened in a single override target. When all the calls to a given dh_cmd command happens in the same override target everything will work as before. 動 か な く な る 可 能 性 が あ る 例 :

  override_dh_foo:
    dh_foo −pmy−pkg
  override_dh_bar:
    dh_bar
    dh_foo −−remainingこ の 場 合 、

dh_foo −−remaining の 呼 び 出 し は 、 dh_foo −pmy−pkg が 分 か れ て い る override タ ー ゲ ッ ト 内 に あ る た め 、 my-pkg も 含 み ま す 。 こ の 問 題 は −−remaining に 限 ら ず −a, −i な ど も 含 み ま す 。

dh_installdeb コ マ ン ド は maintscript 設 定 フ ァ イ ル 内 の 行 を シ ェ ル エ ス ケ ー プ す る よ う に な り ま し た 。 こ れ は 元 々 意 図 し て い た 動 作 で し た が 正 し く 動 作 し て お ら ず 、 パ ッ ケ ー ジ が 不 完 全 な シ ェ ル エ ス ケ ー プ (例 : フ ァ イ ル 名 の ク ォ ー ト ) に 依 存 す る よ う に な っ て い ま し た 。

dh_installinit コ マ ン ド は 標 準 で −−restart−after−upgrade を 利 用 す る よ う に な り ま し た 。 以 前 の 動 作 が 必 要 な パ ッ ケ ー ジ に は −−no−restart−after−upgrade を 利 用 し て く だ さ い 。

autoreconf シ ー ケ ン ス が 標 準 で 有 効 に な り ま し た 。 指 定 の パ ッ ケ ー ジ で こ の 動 作 を 望 ま な い 場 合 は 、 dh−−without autoreconf を 指 定 し て く だ さ い 。

systemd シ ー ケ ン ス が 標 準 で 有 効 に な り ま し た 。 指 定 の パ ッ ケ ー ジ で こ の 動 作 を 望 ま な い 場 合 は 、 dh−−without systemd を 指 定 し て く だ さ い 。

v11 こ れ が 動

作 推 奨 モ ー ド で す 。

v10 か ら の 変 更 点 :

dh_installinit no longer installs service or tmpfile files, nor generates maintainer scripts for those files. Please use the new dh_installsystemd helper.

The dh_systemd_enable and dh_systemd_start helpers have been replaced by the new dh_installsystemd helper. For the same reason, the systemd sequence for dh has also been removed. If you need to disable the dh_installsystemd helper tool, please use an empty override target.

Please note that the dh_installsystemd tool has a slightly different behaviour in some cases (e.g. when using the −−name parameter).

dh_installdirs no longer creates debian/package directories unless explicitly requested (or it has to create a subdirectory in it).

The vast majority of all packages will be unaffected by this change.

The makefile buildsystem now passes INSTALL=install −−strip−program=true to make(1). Derivative buildsystems (e.g. configure or cmake) are unaffected by this change.

The autoconf buildsystem now passes −−runstatedir=/run to ./configure.

The cmake buildsystem now passes −DCMAKE_INSTALL_RUNSTATEDIR=/run to cmake(1).

dh_installman will now prefer detecting the language from the path name rather than the extension.

dh_auto_install will now only create the destination directory it needs. Previously, it would create the package build directory for all packages. This will not affect packages that only build with debhelper commands, but it may expose bugs in commands not included in debhelper.

The helpers dh_installdocs, dh_installexamples, dh_installinfo, and dh_installman now error out if their config has a pattern that does not match anything or reference a path that does not exist.

Known exceptions include building with the nodoc profile, where the above tools will silently permit failed matches where the patterns are used to specify documentation.

The helpers dh_installdocs, dh_installexamples, dh_installinfo, and dh_installman now accept the parameter −−sourcedir with same meaning as dh_install. Furthermore, they now also fall back to debian/tmp like dh_install.

Migration note: A bug in debhelper 11 up to 11.1.5 made dh_installinfo incorrectly ignore −−sourcedir.

The perl-makemaker and perl-build build systems no longer pass −I. to perl. Packages that still need this behaviour can emulate it by using the PERL5LIB environment variable. E.g. by adding export PERL5LIB=. in their debian/rules file (or similar).

The PERL_USE_UNSAFE_INC environment variable is no longer set by dh or any of the dh_auto_* tools. It was added as a temporary work around to avoid a lot of packages failing to build at the same time.

Note this item will eventually become obsolete as upstream intends to drop support for the PERL_USE_UNSAFE_INC environment variable. When perl drops support for it, then this variable will be removed retroactively from existing compat levels as well.

The dh_makeshlibs helper will now exit with an error if objdump returns a non-zero exit from analysing a given file.

The dh_installdocs and dh_installexamples tools will now attempt to guess the "main package" for a given documentation package (e.g. pkg-doc will have pkg as main package if the latter exists). If a main package is found, most of the documentation will be installed into /usr/share/doc/main-pkg by default as recommended by Debian policy §12.3 since version 3.9.7. Notable exceptions include the copyright file and changelog files.

The −−doc−main−package option can be used when the auto-detection is insufficient.

The dh_strip and dh_shlibdeps tools no longer uses filename patterns to determine which files to process. Instead, they open the file and look for an ELF header to determine if a given file is an shared object or an ELF executable.

This change may cause the tools to process more files than previously.

v12 こ の 互 換 性 レ ベ ル は 未 だ 開 発 中 の 状 態 で す 。 使 う 場 合 は 注 意 し て 使 っ て く だ さ い 。

Changes from v11 are:

The dh_makeshlibs tool now generates shlibs files with versioned dependency by default. This means that −VUpstream−Version (a.k.a. −V) is now the default.

If an unversioned dependency in the shlibs file is wanted, this can be obtained by passing −VNone instead. However, please see dh_makeshlibs(1) for the caveat of unversioned dependencies.

The −s (−−same−arch) option is removed. Please use −a (−−arch) instead.

dh_clean −k の 起 動 は deprecate 警 告 で は な く エ ラ ー を 起 こ す よ う に な り ま し た 。

The −−no−restart−on−upgrade option in dh_installinit has been removed. Please use the new name −−no−stop−on−upgrade

There was a bug in the doit (and similar) functions from Debian::Debhelper::Dh_Lib that made them spawn a shell in one particular circumstance. This bug is now removed and will cause helpers that rely on the bug to fail with a "command not found"−error.

The −−list−missing and −−fail−missing in dh_install has been removed. Please use dh_missing and its corresponding options, which can also see the files installed by other helpers.

The dh_installinit helper no longer installs configuration for the upstart init system. Instead, it will abort the build if it finds an old upstart configuration file. The error is there to remind the package maintainer to ensure the proper removal of the conffiles shipped in previous versions of the package (if any).

The dh_installdeb tool will do basic validation of some dpkg−maintscript−helper(1) commands and will error out if the commands appear to be invalid.

The dh_missing tool will now default to −−list−missing.

The dh_makeshlibs tool will now only pass libraries to dpkg−gensymbols(1) if the ELF binary has a SONAME (containing ".so").

The dh_compress tool no longer compresses examples (i.e. anything installed in </usr/share/doc/package/examples>.)

The standard sequence in dh now includes dh_dwz and dh_installinitramfs by default. This makes the dwz and installinitramfs sequences obsolete and they will now fail with an error. If you want to skip these commands, then please insert an empty override target for them in debian/rules (e.g. override_dh_dwz:)

付 記

複 数 の バ イ ナ リ パ ッ ケ ー ジ の サ ポ ー ト ソ ー ス パ ッ ケ ー ジ が 複 数 の バ イ ナ リ パ ッ ケ ー ジ を 生 成 す る 場 合 、 デ フ ォ ル ト で は debhelper は 実 行 時 に す べ て の バ イ ナ リ パ ッ ケ ー ジ を 生 成 し ま す 。 こ の 場 合 ソ ー ス パ ッ ケ ー ジ が 、 ア ー キ テ ク チ ャ 依 存 パ ッ ケ ー ジ と ア ー キ テ ク チ ャ 非 依 存 パ ッ ケ ー ジ を 同 時 に 生 成 す る と し た ら 、 こ の 振 る 舞 い は 正 し く あ り ま せ ん 。 と い う の も 、 debian/rules で は 、 ア ー キ テ ク チ ャ 依 存 パ ッ ケ ー ジ を 生 成 す る な ら binary-arch タ ー ゲ ッ ト 内 で 生 成 す る 必 要 が あ り 、 ア ー キ テ ク チ ャ 非 依 存 の パ ッ ケ ー ジ な ら ば 、 binary−indep タ ー ゲ ッ ト で 生 成 す る 必 要 が あ る 為 で す 。 こ れ を 容 易 に す る 為 、 ど の パ ッ ケ ー ジ が debhelper プ ロ グ ラ ム に よ っ て 処 理 さ れ る か を よ り コ ン ト ロ ー ル す る の と 同 様 、 す べ て の debhelper プ ロ グ ラ ム は −a, −i, −p, −s パ ラ メ ー タ を 解 釈 で き ま す 。 こ れ ら の パ ラ メ ー タ は 重 複 可 能 で す 。 何 も 指 定 し な い 場 合 、 debhelper プ ロ グ ラ ム は 、 以 下 の 例 外 を 除 い て control フ ァ イ ル に 列 挙 さ れ た す べ て の パ ッ ケ ー ジ に 対 し て 処 理 を 行 い ま す 。 ま ず 、 debian/control 中 の Architecture フ ィ ー ル ド が DEB_HOST_ARCH ア ー キ テ ク チ ャ に 一 致 し な い 全 て の パ ッ ケ ー ジ が 除 外 さ れ ま す ("Debian ポ リ シ ー 5.6.8 章 ")。 ま た 、 <https://wiki.debian.org/BuildProfileSpec>; に あ る ド ラ フ ト の ポ リ シ ー に よ る と 、 DEB_BUILD_PROFILES 環 境 変 数 と debian/control 中 の バ イ ナ リ パ ッ ケ ー ジ 節 の Build-Profiles フ ィ ー ル ド の 内 容 を 元 に 追 加 で パ ッ ケ ー ジ が 除 外 さ れ ま す 。

Interaction between package selections and Build-Profiles

Build-Profiles affect which packages are included in the package selections mechanisms in debhelper. Generally, the package selections are described from the assumption that all packages are enabled. This section describes how the selections react when a package is disabled due to the active Build-Profiles (or lack of active Build-Profiles).
−a/−−arch, −i/−−indep OR no selection options (a raw "dh_X" call)

The package disabled by Build-Profiles is silently excluded from the selection.

Note you will receive a warning if all packages related to these selections are disabled. In that case, it generally does not make sense to do the build in the first place.

−N package / −−no−package package

The option is accepted and effectively does nothing.

−p package / −−package package

The option is accepted, but debhelper will not act on the package.

Note that it does not matter whether a package is enabled or disabled by default. メ ン テ ナ ス ク リ プ ト の 自 動 生 成
debhelper コ マ ン ド に は 、 Debian メ ン テ ナ ス ク リ プ ト の 一 部 を 自 動 的 に 生 成 す る も の が あ り ま す 。 も し 、 既 存 の Debian メ ン テ ナ ス ク リ プ ト に 自 動 生 成 さ れ た 部 分 を 含 む よ う に し た け れ ば 、 コ ー ド を 追 加 し た い 場 所 に #DEBHELPER# と 追 記 し て く だ さ い 。 #DEBHELPER#dh_installdeb が 実 行 さ れ る 際 に 、 自 動 生 成 さ れ た コ ー ド へ 置 換 さ れ ま す 。 ス ク リ プ ト が ま っ た く 存 在 し な い が debhelper が 何 か を ス ク リ プ ト に 追 加 す る 必 要 が あ る 場 合 、 debhelper は ス ク リ プ ト を 一 式 生 成 し ま す 。

−n パ ラ メ ー タ ー を 指 定 す る と 、 こ の よ う な debhelper プ ロ グ ラ ム に よ る ス ク リ プ ト の 自 動 生 成 を 行 わ な い よ う に で き ま す (上 記 参 照 )。 挿 入 さ れ る コ ー ド は シ ェ ル ス ク リ プ ト な の で 、 Perl ス ク リ プ ト に は 直 接 埋 め 込 め な い 事 に 注 意 し て く だ さ い 。 も し 何 か を Perl ス ク リ プ ト に 埋 め 込 み た い 場 合 、 以 下 に 一 例 を 挙 げ ま す ($1, $2 等 は set コ マ ン ド に よ り 設 定 さ れ る 事 に 注 意 ):

  my $temp="set −e\nset −− @ARGV\n" . << 'EOF';
  #DEBHELPER#
  EOF
  if (system($temp)) {
     my $exit_code = ($? >> 8) & 0xff;
     my $signal = $? & 0x7f;
     if ($exit_code) {
         die("debhelper ス ク リ プ ト は 失 敗 し ま し た 。 エ ラ ー コ ー ド : ${exit_code}");}
       else {
         die("debhelper ス ク リ プ ト は 以 下 の シ グ ナ ル で 終 了 さ れ ま し た : ${signal}");}}

々 な 依 存 関 係 の 自 動 生 成
debhelper は 他 の パ ッ ケ ー ジ に 依 存 す る よ う な パ ッ ケ ー ジ を 作 成 す る こ と が あ り ま す 。 例 え ば 、 dh_installdebconf(1) を 使 う と 、 ビ ル ド し た パ ッ ケ ー ジ は debconf パ ッ ケ ー ジ に も 依 存 す る よ う に な り ま す 。 あ る い は dh_installxfonts(1) を 使 う と 、 特 定 の バ ー ジ ョ ン の xutils に 依 存 す る こ と に な り ま す 。 こ れ ら の 様 々 な 依 存 関 係 を 追 い か け る の は 、 debhelper が ど の よ う な 処 理 を 行 う か に よ る た め に 面 倒 な こ と に な り が ち で す 。 そ の た め 、 debhelper は 自 動 的 に 依 存 関 係 を 解 決 す る 機 能 を 提 供 し ま す 。 他 の パ ッ ケ ー ジ に 依 存 す る よ う な パ ッ ケ ー ジ を 生 成 す る debhelper コ マ ン ド は 、 何 に 依 存 す る か に つ い て man ペ ー ジ に 記 載 し て あ る 他 に 、 ${misc:Depends} と 呼 ば れ る 変 数 を 、 自 動 的 に 生 成 し た 依 存 情 報 と 置 き 換 え ま す 。 も し debian/control に こ の 変 数 を 指 定 す れ ば 、 debhelper は 必 要 と す る 依 存 関 係 を 自 動 的 に 展 開 す る よ う に な り ま す 。 こ の 変 数 は 、 dh_makeshlibs(1) に よ り 生 成 さ れ た 標 準 の ${shlibs:Depends} 変 数 と は ま っ た く 関 連 を 持 ち ま せ ん 。 ま た 、 dh_perl(1) に よ り 生 成 さ れ た ${perl:Depends} 変 数 も 同 様 で す 。 debhelper コ マ ン ド の 推 測 が 実 状 に 合 わ な い 場 合 は 、 こ れ ら を 使 わ な い よ う に す る こ と も 可 能 で す 。 パ ッ ケ ー ジ ビ ル ド デ ィ レ ク ト リ デ フ ォ ル ト で は 、 す べ て の debhelper プ ロ グ ラ ム は パ ッ ケ ー ジ に 含 め る フ ァ イ ル 群 を ま と め る 一 時 デ ィ レ ク ト リ と し て debian/package デ ィ レ ク ト リ を 使 用 し ま す 。 時 折 、 別 の 一 時 デ ィ レ ク ト リ を 利 用 し た く な る 場 合 が あ る で し ょ う 。 こ の 場 合 は 、 −P フ ラ グ を 利 用 し て く だ さ い 。 例 え ば 、 "dh_installdocs  −Pdebian/tmp" で は debian/tmp を 一 時 デ ィ レ ク ト リ と し て 利 用 で き ま す 。 た だ し 、 −P を 使 う と 、 debhelper プ ロ グ ラ ム は 一 度 に 1 つ の パ ッ ケ ー ジ の 処 理 し か で き ま せ ん 。 そ の 為 、 複 数 の バ イ ナ リ パ ッ ケ ー ジ を 生 成 す る よ う な 場 合 、 ど の バ イ ナ リ パ ッ ケ ー ジ に 対 し て debhelper が 作 用 す る か を 指 定 す る た め に −p フ ラ グ を 併 用 す る 必 要 が あ り ま す 。

udeb パ ッ ケ ー ジ に つ い て
debhelper は udeb も サ ポ ー ト し て い ま す 。 debhelper で udeb パ ッ ケ ー ジ を 作 成 す る に は 、 "Package-Type: udeb" を debian/control の パ ッ ケ ー ジ 定 義 に 加 え て く だ さ い 。 debhelper は udeb フ ァ イ ル を debian-installer ポ リ シ ー に あ わ せ て ビ ル ド し ま す 。 こ れ は 、 パ ッ ケ ー ジ の 拡 張 子 が .udeb と な る フ ァ イ ル で 、 い か な る ド キ ュ メ ン ト や 、 preinst, postrm, prerm, config ス ク リ プ ト 等 も 省 い た も の で す 。

環 境 変 数

以 下 の 環 境 変 数 は debhelper の 振 る 舞 い に 影 響 を 与 え る こ と が で き ま す 。 正 し く 動 作 す る た め に は 、 (単 な る Makefile 変 数 で は な く ) 実 際 の 環 境 変 数 で あ る 必 要 が あ る こ と に 注 意 す る の が 重 要 で す 。 こ れ ら を 正 し く debian/rules で 指 定 す る に は 、 必 ず "export" し て く だ さ い 。 例 え ば "export DH_VERBOSE " な ど と し ま す 。

DH_VERBOSE

1 を 指 定 す る と 冗 長 出 力 モ ー ド に な り ま す 。 debhelper は 動 作 す る 全 て の コ マ ン ド に つ い て 出 力 を 行 う よ う に な り ま す 。 ま た 、 autoconf の よ う な ビ ル ド シ ス テ ム に つ い て も 冗 長 出 力 さ れ た ビ ル ド ロ グ を 有 効 に し ま す 。

DH_QUIET

quiet モ ー ド を 有 効 に す る に は 1 を 指 定 し て 下 さ い 。 debhelperは upstream の ビ ル ド シ ス テ ム の 呼 び 出 し コ マ ン ド や 、 dh が ど の サ ブ コ マ ン ド が 呼 び 出 さ れ た の か も 出 力 し な く な り 、 upstream の ビ ル ド シ ス テ ム に よ っ て は さ ら に 静 か に な り ま す 。 こ れ は 重 要 な メ ッ セ ー ジ に 注 目 す る の が 簡 単 に な り ま す が 、 buildd の ロ グ と し て は 出 力 は 極 め て 使 い 物 に な ら な く な り ま す 。 DH_VERBOSE が 同 時 に セ ッ ト さ れ て い る と 無 視 さ れ ま す 。

DH_COMPAT こ の 環 境 変 数 は 、 debhelper を ど の 互 換 性 レ ベ ル で 実 行 す る か を 一 時 的 に 指 定 す る も の で す 。 こ ち ら を 指 定 す る と debian/compat の 値 を 上 書 き し ま す 。
DH_NO_ACT

1 に 設 定 す る と 、 何 も し な い (no-act) モ ー ド に な り ま す 。

DH_OPTIONS こ の 環 境 変 数 に 指 定 し た も の は 、 す べ て の debhelper コ マ ン ド の 末 尾 に 指 定 さ れ る よ う に な り ま す 。

dh(1) を 使 え ば 、 続 い て 呼 び 出 さ れ る debhelper コ マ ン ド に 指 定 し た オ プ シ ョ ン を 渡 す こ と が で き ま す 。 大 抵 の 場 合 、 こ ち ら の 方 が DH_OPTIONS を 使 う よ り も 良 い 方 法 で す 。

DH_ALWAYS_EXCLUDE こ ち ら が 設 定 さ れ て い る と 、 −X オ プ シ ョ ン を サ ポ ー ト す る す べ て の コ マ ン ド に 対 し 、 −X オ プ シ ョ ン の 値 と し て 環 境 変 数 の 値 を 指 定 し ま す 。 さ ら に 、 dh_builddeb コ マ ン ド は ビ ル ド ツ リ ー の 元 で 環 境 変 数 の 値 に 基 づ く パ タ ー ン に マ ッ チ す る も の 全 部 を rm −rf す る よ う に な り ま す 。 こ れ は CVS ソ ー ス ツ リ ー か ら パ ッ ケ ー ジ ビ ル ド を す る 場 合 に 便 利 な 場 合 が あ り ま す 。 例 え ば 、 DH_ALWAYS_EXCLUDE=CVS を 指 定 す れ ば 、 CVS デ ィ レ ク ト リ が ビ ル ド の 際 に 検 索 さ れ る の を 防 ぐ こ と が で き ま す 。 あ る い は 、 ソ ー ス の tarball に す で に CVS デ ィ レ ク ト リ が (愚 か に も ) 含 ま れ て い る 場 合 、 debian/rulesDH_ALWAYS_EXCLUDE=CVS 環 境 変 数 を export す れ ば 、 ど こ で パ ッ ケ ー ジ を ビ ル ド し よ う と も 効 果 を 発 揮 す る よ う に な り ま す 。 除 外 し た い も の を 複 数 指 定 し た い 場 合 は 、 DH_ALWAYS_EXCLUDE=CVS:.svn の よ う に コ ロ ン で 区 切 っ て く だ さ い 。
DH_EXTRA_ADDONS

If set, this adds the specified dh addons to be run in the appropriate places in the sequence of commands. This is equivalent to specifying the addon to run with the −−with flag in the debian/rules file. Any −−without calls specifying an addon in this environment variable will not be run.

This is intended to be used by downstreams or specific local configurations that require a debhelper addon to be run during multiple builds without having to patch a large number of rules file. If at all possible, this should be avoided in favor of a −−with flag in the rules file.

参 照

/usr/share/doc/debhelper/examples/

debhelper を 使 う と き の debian/rules フ ァ イ ル の 例 が 格 納 さ れ て い ま す 。

<http://joeyh.name/code/debhelper/>;

Debhelper の Web サ イ ト で す 。

作 者

Joey Hess <joeyh [AT] debian.org>

COMMENTS