makeしたLinuxカーネルのバージョンに+ (プラス) が付いてしまう
Linuxカーネルをmakeすると、バージョンに+ (プラス) が付いたり付かなかったりします。これが厄介でならないので、なんとかやめさせられないか調べてみました。
結論から言うと、コードをGitで管理していて、かつdirtyな (コミットされていない変更が作業ディレクトリに存在する) 状態の場合に+が付きます。無効化するconfigはありません。私は参考のリンク先にあるようにscripts/setlocalversion
の該当する処理をコメントアウトしてしまいましたが、あまりよいことをしている感じはしないので、実践するかどうかの判断は読者のみなさんにお任せします。
余談ですが、シェルスクリプトではelse節の中身が空だとsyntax errorになるんですね。今まで知りませんでした。
それにしても、なんでこんな仕様になっているのでしょうか。開発中に+ありと+なしのどっちが更新されるのか常に意識しなければならないのはほんとに面倒です。GRUB_DEFAULTに頼れなくなってしまいますし。LOCALVERSION_AUTOでリビジョンが付くことと矛盾しないようにするためでしょうかね。だとしたらLOCALVERSION_AUTOを使っていない時には+を付ける処理も無効化してほしいものですが。