Como instalar o pacote do teste?

0

Estou no servidor LTS do Ubuntu 16.04 e preciso de uma correção para o link na versão 1.8.1+dfsg-2 liberada para a Yakkety, mas não para o Xenial.

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

UPDATE: observe que não quero pin do pacote. Eu quero que ele atualize para o estável subseqüente assim que o stable for lançado.

    
por anatoly techtonik 11.05.2016 / 12:37

1 resposta

4

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

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

    sudo apt-get install build-essential devscripts
    sudo apt-get build-dep vagrant
    
  2. Faça o download da fonte do pacote e extraia:

    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 criado (substitua anatoly e a mensagem de registro com o 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 que é realmente considerada como 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 sugerirá a "atualização" do pacote local quando a versão 1.8.1+dfsg-2 (ou mais recente) se tornar disponível nos repositórios configurados.

  4. Compile o pacote binário:

    debuild -b -j"'getconf _NPROCESSORS_ONLN'"
    
  5. Instale o pacote incorporado com sudo dpkg -i <DEBFILE>... .

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

    
por David Foerster 12.05.2016 / 13:08