packaging jack - details on "plan B"
    Gabriel M. Beddingfield 
    gabrbedd at gmail.com
       
    Fri Apr 23 19:32:45 UTC 2010
    
    
  
Hi guys,
I'm new to the details of deb packaging... so I may be 
replying to the wrong snippets... but:
>>> Package:   libjack-jackd2-0
>>> Provides:  libjack-0.116.0
>>> Conflicts: libjack0
>>
>> Yes, something like that.
>>
>>
>>>>  4. Release jackd1 to experimental, with libjack0 providing   virtual
>>>> package libjack-0.116.0
>>>>  5. Repackage jackd1 to experimental, with libjack0 providing   virtual
>>>> package libjack0-0.116.0
>>>
>>> what actual changes are involved in this repackaging?
>>
>> This step is not needed for technical reasons but was included for
>> potential political reason: not in the long term emphasize jackd1 as
>> being better than the other implementations.
>
> Then let's make all applications to depend on 'libjack0-0.116.0', which
> refers to the ABI, and provide a package 'jack-defaults', which builds a
> meta-package 'jackd' which depends on the distribution chosen 'default'
> jack implementation.
I don't understand why we're emphasizing the ABI of 
`libjack0-0.116.0'.
According to the Jack devs, a program compiled against Jack 
0.34.0 (released ca. 2001) is still binary-compatible with 
/any/ Jack implementation (whether Jack1, Jack2, tschack, 
etc.)  They have rigorously been maintaining this. 
Therefore, any old program will work without recompile on a 
new libjack0.  Jack 2 (formerly jackdmp) has also rigorously 
maintained binary compatability with Jack 1.[3]
Therefore, the virtual package should be `libjack0', not 
`libjack0-0.116.0'.  See also [1] and [2].
Also, I'm sure you're on top of it, but it's important that 
this:
     $ gcc -o foo `pkg-config --cflags --libs jack` foo.cpp
...does the right thing with:
     $ dpkg-shlibdeps foo
Thanks,
Gabriel
[1] http://trac.jackaudio.org/wiki/SuggestedPackagingApproach
[2] http://subversion.jackaudio.org/jack/tags/RELEASE_0_118_0/README.developers
[3] Going backwards has never been promised, though.  A
     program compiled against 0.118.0 will work with 0.34.0.
     However, the use of weak symbols for new features may
     make this available.
    
    
More information about the pkg-multimedia-maintainers
mailing list