Bug#695550: libjack-dev: does not automatically transition to libjack-jackd2-dev

Felipe Sateler fsateler at debian.org
Mon Dec 10 16:14:53 UTC 2012


On Mon, Dec 10, 2012 at 12:42 PM, The Wanderer <wanderer at fastmail.fm> wrote:
> (Apologies to Felipe for the duplicate reply; I didn't notice until after
> sending that the To: didn't include the bug address.)
>
>
> On 12/10/2012 10:15 AM, Felipe Sateler wrote:
>
>> On Sun, Dec 9, 2012 at 10:25 PM, The Wanderer <wanderer at fastmail.fm>
>> wrote:
>>
>>> Package: libjack-dev
>>> Version: 1:0.121.3+20120418git75e3e20b-2.1
>>> Severity: normal
>>>
>>> Dear Maintainer,
>>>
>>> When I attempt to dist-upgrade to current testing, apt wants to remove
>>> libjack0 and install libjack-jackd2-0. This is fine; the latter
>>> explicitly
>>> Provides: the same virtual package as the former, so presumably this is
>>> part of an intended package transition.
>>
>>
>> Is this expected to happen? Does anything strictly depend on jack2?
>
>
> Not that I've been able to identify so far.
>
> As part of this same dist-upgrade, a flood of new lib*:i386 packages are
> being
> installed, I think as part of the ia32-libs dummy-package transition. It
> doesn't
> seem impossible that one of them is depending on jackd2 or similar, but I
> haven't been able to identify any which does.

Ah, this hints at a clue. However, I'm not quite sure if I'm correct
or how can we improve it. I'm going to assume ia32-libs-i386 is
attempting an install of version >= 1:0.2.

Normal upgrades (that is, without ia32-libs) shouldn't have a problem.
However, with multiarch we have the following problem:

ia32-libs pulls in ia32-libs-i386, which only exists in arch:i386;
ia32-libs-i386 depends on libjack-jackd2-0 (>= 1.9.5~dfsg-14) |
libjack0 (>= 1:0.118+svn3796-7)

Apt always tries to install the first alternative first, so it tries
to install libjack-jack2-0:i386

libjack-jack2-0 in turn Conflicts with libjack0 (in all archs), which
causes your libjack0:amd64 to be scheduled for removal, whic in turn
causes jackd1 to be removed.

I guess you have jackd installed, which causes apt to try to install
jackd2 (because jackd1 is being removed), which leaves you with a
working jack2 server.

The headers are not installed because nothing causes libjack-jack2-dev
to be installed, and libjack-dev depends on libjack0 (which is no
longer installed).

>
> Also, if I hold libjack-dev and jackd1, the dist-upgrade no longer attempts
> to
> remove them - but the only packages which disappear from the upgrade or the
> new-install lists are libjack-jackd2-0, libjack-jackd2-0:i386, jackd2, and
> jackd2-firewire.

This is consistent with the above theory.

>
>>> As part of the same dist-upgrade, apt wants to remove libjack-dev, but
>>> does
>>> not attempt to install libjack-jackd2-dev. This is not fine.
>>
>>
>> Maybe we should convert libjack-dev to a dummy package like jackd.
>
>
> If I understand the problem correctly from what Jonas has explained, that
> would
> not seem like an appropriate solution.

It could be (but I haven't thought this through). If we:

1. Rename libjack-dev to libjack-jack1-dev.
2. Create a libjack-dev that Depends on libjack-jack1-dev | libjack-jack2-dev

Maybe the upgrade now would now keep the headers installed, since
after libjack-jack1-dev is marked as not installed, apt would try to
install libjack-jack2-dev.

I'm not quite sure the above would really work. Thoughts?


--

Saludos,
Felipe Sateler



More information about the pkg-multimedia-maintainers mailing list