insira uma linha como:
sed '/AC_INIT/s/master/m4_esyscmd_s([git describe])/' -i configure.ac
antes da chamada sh autogen.sh
no seu script.
com base na resposta aqui
Estou compilando o tmux a partir do seu código-fonte através de um script que se parece com isso:
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
Compila e instala o tmux, como esperado.
Mas ainda há um problema, que é a versão relatada por $ tmux -V
:
$ tmux -V
tmux master
Ele informa tmux master
, enquanto eu preferiria tmux X.Y
, X.Y
sendo a versão da última versão.
Por exemplo, no momento, a versão mais recente é 2.8
, por isso gostaria de $ tmux -V
para gerar tmux 2.8
.
Existe alguma maneira de alterar este resultado?
Eu olhei para a saída de ./configure --help
e procurei por uma opção para definir a versão do processo tmux, mas não consegui encontrar uma.
No momento, incluí um comando sed
no meu script para que ele edite automaticamente o arquivo configure.ac
e atribua um número de versão grande 99.99
(não sei como obter programaticamente o número da versão da última versão):
sh autogen.sh
sed -i 's/AC_INIT(tmux, master)/AC_INIT(tmux, 99.99)/' configure.ac
./configure
Existe uma maneira melhor?
A razão pela qual eu faço esta pergunta é porque eu uso o plugin tmux-open , que não funciona como esperado quando $ tmux -V
produz tmux master
.
O último usa esta linha de código para determinar a versão do processo atual do tmux:
$ tmux_version="$(tmux -V | cut -d ' ' -f 2)"
O plugin então usa essa variável para determinar a sintaxe dos comandos instalação de atalhos de teclado .
As ligações de teclas não estão instaladas na minha máquina e acho que é devido à saída de $ tmux -V
.
Porque se eu substituir esta linha no plug-in:
if [[ $tmux_version == $1 ]]
com esta linha:
if [[ $tmux_version == $1 ]] || [[ $tmux_version == 'master' ]]
Em seguida, o plug-in instala corretamente suas associações de teclas.
insira uma linha como:
sed '/AC_INIT/s/master/m4_esyscmd_s([git describe])/' -i configure.ac
antes da chamada sh autogen.sh
no seu script.
com base na resposta aqui
Tags tmux