萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux Kernel 編譯版本號莫名出現加號?設定 LOCALVERSION 空值或修改 setlocalversion 腳本移除 + 號

編譯 Linux Kernel 產生的 RPM 套件版本號尾端出現 + 號,源於 Git 倉儲非乾淨狀態且未設定 LOCALVERSION。透過設定環境變數或修改腳本可移除加號。

原因分析

scripts/setlocalversion 腳本邏輯:若 CONFIG_LOCALVERSION_AUTO=y 且 LOCALVERSION 未設定,Git 倉儲有未提交變更時會在版本號附加 +。

解決方法

  1. 編譯時指定空 LOCALVERSION:LOCALVERSION= make
  2. 或修改 scripts/setlocalversion 邏輯,移除 ${scm:+} 附加加號的程式碼段。

補充:git rev-parse --verify --short HEAD 可取得短提交 ID,${VAR:+word} 為 Bash 參數擴展語法(變數非空時替換為 word)。

copyright © 萬盛學電腦網 all rights reserved