В Ubuntu 14.04 я хочу перестроить пакет ardour из источника, и я нашел подходящую версию в PPA, и я активировал его источники (deb-src строка в правом файле где-то в /etc/apt/sources.list* ]);
На этом этапе apt-cache сообщает версии в 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
. В этом случае apt-cache сообщает о версиях в 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
Кроме того, если я хочу загрузить исходный пакет, я получаю правильный вариант:
$ 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]
...
До сих пор так хорошо. Но, когда я пытаюсь установить зависимости сборки через build-dep, я получаю следующее:
$ 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.
Это неправильно - это ardour использует libjack2 - и если я перехожу к sudo apt-get install libjack0 , это действие удалит как libjack2, так и ardour.
Я видел в man apt-get, что я могу указать версию пакета для build-dep, но почему-то это не работает:
$ 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
Итак - как я могу указать apt-get, что я хочу build-dep для этой конкретной версии PPA?
Хорошо, я нашел ответ с точки зрения того, как я разместил вопрос - во-первых, из исходных файлов:
./debian/rules: ARDOUR_VERSION=`head -1 debian/changelog | awk -F'[()]' '{print $$2}'|cut -d~ -f1|cut -d: -f2`
Aha, поэтому мне нужно увидеть главу debian/changelog, который в этом случае:
ardour (1:4.7.270+r15291.42~ubuntu14.04.1) trusty; urgency=low
Таким образом, в основном необходимо включить префикс 1:, который я не использовал выше:
$ 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.
Однако, все еще есть проблемы с зависимостями (EDIT: решение для них в моем комментарии в Unable для установки libjack-dev - Ask Ubuntu - вместо этого используйте libjack-jackd2-dev) - но по крайней мере теперь это ясно из-за неправильной ссылки на версию ...