especificando a versão do PPA para o apt-get build-dep?

1

No Ubuntu 14.04 eu quero reconstruir o pacote ardour da fonte, e eu encontrei uma versão adequada em um PPA, e eu ativei suas fontes ( deb-src linha no arquivo correto em algum lugar em /etc/apt/sources.list* ); Eu posso instalar o pacote de PPA bem (mas há um bug que requer recompilação).

Neste ponto, apt-cache informa as versões no PPA:

$ apt-cache showpkg ardour
Package: ardour
Versions: 
1:4.7.270+r15291.42~ubuntu14.04.1 (/var/lib/apt/lists/ppa.launchpad.net_dobey_audiotools_ubuntu_dists_trusty_main_binary-i386_Packages)
...
1:4.7.270+r15280.42~ubuntu14.04.1 (/var/lib/dpkg/status)
...
1:2.8.16+git20131003-1 (/var/lib/apt/lists/dk.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-i386_Packages)
...
Provides: 
1:4.7.270+r15291.42~ubuntu14.04.1 - 
1:4.7.270+r15280.42~ubuntu14.04.1 - 
1:2.8.16+git20131003-1 - 
Reverse Provides: 
ardour-i686 1:2.8.16+git20131003-1

Além disso, se eu quiser baixar o pacote de código-fonte, obtenho o correto:

$ apt-get source ardour
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Need to get 10.5 MB of source archives.
Get:1 http://ppa.launchpad.net/dobey/audiotools/ubuntu/ trusty/main ardour 1:4.7.270+r15291.42~ubuntu14.04.1 (tar) [10.5 MB]
...

Até agora, tudo bem. Mas, quando eu tento instalar as dependências de compilação via build-dep , eu entendo isso:

$ sudo apt-get build-dep ardour
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have unmet dependencies:
 libjack-dev : Depends: libjack0 (= 1:0.121.3+20120418git75e3e20b-2.1ubuntu1) but it is not going to be installed
E: Build-dependencies for ardour could not be satisfied.

Isso está errado - esse ardour usa libjack2 - e se eu continuar com sudo apt-get install libjack0 , essa ação removerá os dois libjack2 e ardour .

Eu vi em man apt-get que eu posso especificar a versão de um pacote para build-dep , mas de alguma forma não funciona:

$ sudo apt-get build-dep ardour=4.7.270+r15291.42~ubuntu14.04.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Can not find version '4.7.270+r15291.42~ubuntu14.04.1' of package 'ardour'
E: Unable to find a source package for ardour

$ sudo apt-get build-dep ardour=4.7.270
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Can not find version '4.7.270' of package 'ardour'
E: Unable to find a source package for ardour

Então - como posso especificar para apt-get que eu quero o build-dep para esta versão específica do PPA?

    
por sdaau 28.03.2016 / 17:30

2 respostas

2

Você esqueceu o 1: no número da versão. Não é para embelezar a saída, mas é uma parte da versão - o número da época. Por que alguns pacotes têm números extras na frente de sua string de versão?

    
por muru 28.03.2016 / 17:41
2

Ok, eu encontrei a resposta, em termos de como eu postei a pergunta - primeiro, dos arquivos de origem, existe:

./debian/rules: ARDOUR_VERSION='head -1 debian/changelog | awk -F'[()]' '{print $}'|cut -d~ -f1|cut -d: -f2'

Aha, então eu preciso ver a cabeça de debian/changelog , que é nesse caso:

ardour (1:4.7.270+r15291.42~ubuntu14.04.1) trusty; urgency=low

Então, basicamente, o prefixo 1: também precisa ser incluído, o que deixei de fora:

$ sudo apt-get build-dep ardour=1:4.7.270+r15291.42~ubuntu14.04.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have unmet dependencies:
 libjack-dev : Depends: libjack0 (= 1:0.121.3+20120418git75e3e20b-2.1ubuntu1) but it is not going to be installed
E: Build-dependencies for ardour=1:4.7.270+r15291.42~ubuntu14.04.1 could not be satisfied.

No entanto, ainda existem problemas de dependência (EDIT: solução para eles está no meu comentário em Não é possível instalar o libjack-dev - Pergunte ao Ubuntu - use libjack-jackd2-dev - mas pelo menos está claro agora que não é devido a uma referência errada da versão ...

    
por sdaau 28.03.2016 / 17:43