На Ubuntu 14.04 я хочу восстановить пакет ardour
из источника, и я нашел подходящую версию в PPA, и я активировал его источники (deb-src
строка в правильном файле где-нибудь в /etc/apt/sources.list*
); я могу установить пакет от прекрасного PPA (но существует ошибка, которая требует, перекомпилировали).
На данном этапе 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?
Вы забыли 1:
в номере версии. Это не для украшения вывода, но является частью версии - число эпохи. , Почему некоторые пакеты имеют дополнительные числа на передней стороне их строки версии?
Хорошо, я нашел ответ, с точки зрения того, как я отправил вопрос - сначала от исходных файлов, существует:
./debian/rules: ARDOUR_VERSION=`head -1 debian/changelog | awk -F'[()]' '{print $2}'|cut -d~ -f1|cut -d: -f2`
Ага, таким образом, я должен видеть главу 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.
Однако существуют все еще проблемы зависимости (РЕДАКТИРОВАНИЕ: решение для них находится в моем комментарии в Не могущее установить libjack-dev - Спрашивает Ubuntu - использование libjack-jackd2-dev
вместо этого) - но по крайней мере это ясно теперь, что это не происходит из-за ссылки неверной версии...