Debian Jessie以前で最近のLinuxカーネルをmake-kpkgする際に"missing REPORTING-BUGS"に陥った際の対処
本記事はDebian/Ubuntu Advent Calendar 2017の12/17(日)向けに書いてみた小ネタです。
Debian Jessieを今だに抜け出せず、使い続けているのもアレなのですが、Jessieでmake-kpkgで最近のLinuxカーネルをビルドしようとすると"missing REPORTING-BUGS"というエラーに陥るので、その対処方法について記事にしてみます。
はじめに
なお、先に書いておくと、Stretchからはmake-kpkgは入っていません。Linuxカーネルのdebパッケージへのビルドは、MainlineのMakefileにも"deb-pkg"や"bindeb-pkg"といったターゲットが入っており、make-kpkgは必要なくなっています。
最近の方法でLinuxカーネルのdebパッケージ作成方法については、Debian公式のドキュメントに日本語で情報があります。
本題
さて、表題の問題については、結論を書くと「Documentationの"REPORTING-BUGS"ファイルが"admin-guide/reporting-bugs.rst"へ変わった」というだけです。そのため、/usr/share/kernel-package/ruleset/targets/headers.mkでエラーが起きている、というものです。
headers.mkを以下のように修正すれば解消できます。
/usr/share/kernel-package/ruleset/targets$ diff -u headers.mk.old headers.mk --- headers.mk.old 2017-03-04 02:50:04.024045713 +0100 +++ headers.mk 2017-03-04 03:35:42.656057547 +0100 @@ -67,7 +67,10 @@ $(install_file) debian/stamp/conf/vars $(DOCDIR)/conf.vars $(install_file) CREDITS $(DOCDIR)/ $(install_file) MAINTAINERS $(DOCDIR)/ + test ! -f REPORTING-BUGS || \ $(install_file) REPORTING-BUGS $(DOCDIR)/ + test ! -f Documentation/admin-guide/reporting-bugs.rst || \ + $(install_file) Documentation/admin-guide/reporting-bugs.rst $(DOCDIR)/ $(install_file) README $(DOCDIR)/ if test -f README.Debian ; then \ $(install_file) README.Debian $(DOCDIR)/README.Debian.1st;\
なお、この問題はbugs.debian.orgでも報告されており、上記パッチは報告内容の受け売りです。
さいごに
冒頭にも書いたとおり、make-kpkgはもはや使わないほうが良いのですが、make-kpkgで自動ビルドするスクリプトとか作っているとなかなか抜け出せないため、そんな方の参考になれば幸いです。