編譯 Linux Kernel 產生的 RPM 套件版本號尾端出現 + 號,源於 Git 倉儲非乾淨狀態且未設定 LOCALVERSION。透過設定環境變數或修改腳本可移除加號。
scripts/setlocalversion 腳本邏輯:若 CONFIG_LOCALVERSION_AUTO=y 且 LOCALVERSION 未設定,Git 倉儲有未提交變更時會在版本號附加 +。
LOCALVERSION= makescripts/setlocalversion 邏輯,移除 ${scm:+} 附加加號的程式碼段。
補充:git rev-parse --verify --short HEAD 可取得短提交 ID,${VAR:+word} 為 Bash 參數擴展語法(變數非空時替換為 word)。