"tmux"パッケージのコンパイル中に "$tmux -V"によって報告されたバージョン番号をどのように設定しますか?

私はコンパイル中ですマルチプレクサ次のスクリプトを使用してソースコードから取得します。

set -e
DIR="${HOME}/Programs/"
build() {
  [[ -d "${DIR}" ]] || mkdir -p "${DIR}"
  cd "${DIR}"
  if [[ ! -d tmux ]]; then
    git clone https://github.com/tmux/tmux
  fi
  cd tmux
  git stash
  git checkout master
  git pull
  make clean; make distclean
  sh autogen.sh
  ./configure
  make
}
install() {
  dpkg -r tmux
  checkinstall --pkgname tmux --pkgversion '9999:9999.9999' -y
}
build
install

期待どおりにtmuxをコンパイルしてインストールします。
ただし、報告されたバージョンにはまだ問題があります$ tmux -V

$ tmux -V
tmux master

tmux master私が好むがtmux X.Y最新X.Yバージョンであるバージョンを報告します。たとえば、現在の最新バージョンは2.8$ tmux -Vだから、出力したいと思いますtmux 2.8

この出力を変更する方法はありますか?

tmuxプロセスバージョンを設定するオプションの出力を見て./configure --help検索しましたが、見つかりませんでした。

現在のsedスクリプトにコマンドを含めて自動的にファイルを編集し、大きなconfigure.acバージョン番号を割り当てました99.99(プログラミング方法で最新バージョンのバージョン番号を取得する方法がわかりません)。

sh autogen.sh
sed -i 's/AC_INIT(tmux, master)/AC_INIT(tmux, 99.99)/' configure.ac
./configure

もっと良い方法がありますか?


私がこの質問をする理由は私が使うからです。tmux - オープン$ tmux -Vプラグイン出力時に期待どおりに機能しませんtmux master

後者はこのコード行現在のtmuxプロセスのバージョンを確認してください。

$ tmux_version="$(tmux -V | cut -d ' ' -f 2)"

その後、プラグインはこの変数を使用します。キーバインディングをインストールするコマンドの構文を決定します。

マイコンピュータにキーバインディングがインストールされていません$ tmux -V。交換すると。この行プラグインから:

if [[ $tmux_version == $1 ]]

次の行を使用してください。

if [[ $tmux_version == $1 ]] || [[ $tmux_version == 'master' ]]

これにより、プラグインはキーバインディングを正しくインストールします。

ベストアンサー1

次の行を挿入します。

sed '/AC_INIT/s/master/m4_esyscmd_s([git describe])/' -i configure.ac

sh autogen.shスクリプトを呼び出す前に。

回答によるとここ

おすすめ記事