Como instalar o pacote de teste?

Como instalar o pacote de teste?

Estou no servidor Ubuntu 16.04 LTS e preciso de uma correção parahttps://launchpad.net/ubuntu/+source/vagrantna versão 1.8.1+dfsg-2lançada para Yakkety, mas não para Xenial.

Então, como instalar isso 1.8.1+dfsg-2no Xenial para que ele seja substituído pelo pacote oficial assim que for lançado?

ATUALIZAÇÃO: Observe que não quero pino pacote. Quero que ele seja atualizado para o estável subsequente assim que esse estável for lançado.

Responder1

Se você deseja apenas o pacote mais recente desta vez e também deseja que ele seja substituído assim que a versão correta for lançada para sua versão atual do Ubuntu, você pode:

  1. Instale as ferramentas de construção e dependências:

    sudo apt-get install build-essential devscripts
    sudo apt-get build-dep vagrant
    
  2. Baixe o código-fonte do pacote e extraia-o:

    dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc
    cd vagrant-1.8.1
    
  3. Adicione uma entrada de changelog com um sufixo de versão local cuidadosamente elaborado (substitua anatolye a mensagem de log pelo que você quiser):

    debchange --local=~anatoly 'Backport to Xenial'
    

    Isso aumentará a versão do pacote para 1.8.1+dfsg-2~anatoly1. O sufixo til tem a propriedade de ser considerado uma versão inferior a 1.8.1+dfsg-2:

    $ dpkg --compare-versions 1.8.1+dfsg-2~anatoly1 '<' 1.8.1+dfsg-2; echo $?
    0
    

    Isso significa que o gerenciador de pacotes irá sugerir “atualizar” o pacote local assim que a versão 1.8.1+dfsg-2(ou mais recente) estiver disponível nos repositórios configurados.

  4. Construa o pacote binário:

    debuild -b -j"`getconf _NPROCESSORS_ONLN`"
    
  5. Instale o(s) pacote(s) compilado(s) com sudo dpkg -i <DEBFILE>....

PS: Eu não tentei construir o pacote sozinho, então você pode ter problemas. Por exemplo, o pacote fonte do Yakkety pode depender de um pacote (versão) que não está no Xenial (menos provável neste momento e já que é a mesma versão upstream). Nesse caso, podemos procurar maneiras de contornar isso.

informação relacionada