Saturday, April 14, 2018

package management - specifying PPA version for apt-get build-dep?


On Ubuntu 14.04 I want to rebuild the package ardour from source, and I've found a suitable version in a PPA, and I've activated its sources (deb-src line in the right file somewhere in /etc/apt/sources.list*); I can install the package from PPA fine (but there is a bug that requires recompile).


At this point, apt-cache reports the versions in the 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

Furthermore, if I want to download the source package, I get the right one:


$ 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]
...

So far, so good. But, when I try to install the build dependencies via build-dep, I get this:


$ 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.

This is wrong - this ardour uses libjack2 - and if I proceed to sudo apt-get install libjack0, that action will remove both libjack2 and ardour.


I've seen in man apt-get that I can specify version of a package for build-dep, but somehow it doesn't work:


$ 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

So - how can I specify to apt-get that I want the build-dep for this specific PPA version?



You forgot the 1: in the version number. It's not for prettifying the output, but is a part of the version - the epoch number. Why do some packages have extra numbers on the front of their version string?


No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...