Sorting the jack build-dependency mess

Jonas Smedegaard dr at jones.dk
Mon Oct 25 17:05:23 UTC 2010


On Mon, Oct 25, 2010 at 06:15:49PM +0200, Reinhard Tartler wrote:
>On Mo, Okt 25, 2010 at 17:20:58 (CEST), Adrian Knoth wrote:
>
>> On Mon, Oct 25, 2010 at 04:33:45PM +0200, Reinhard Tartler wrote:
>>
>>> > Unless there's really a need to discuss this in detail, I'd simply 
>>> > upload the new version today.
>>>
>>> so you don't care about unversionable build-depends? this means that 
>>> not a single package in the archive can then do
>>>
>>> Build-Depends: libjack-dev (>> $minimun_version)
>>>
>>> anymore. given that there is a number of jack using packages I'd be 
>>> rather reluctant to do this step.
>>
>> Hmm. Have you seen Jonas' comment? I haven't read it carefully in the 
>> first place, but it seems to make sense now that I read it a second 
>> time:
>>
>>> When versioning is needed, the requirement is either a 
>>> cross-implementation or implementation-specific feature.
>>>
>>> For implementation-specific feature the package should build-depend 
>>> versioned on the specific implementation of JACK.
>>>
>>> For cross-implementation feature we should have all implementations 
>>> provide that new "tag" whenever they mature enough to contain it.
>>>
>>> 4. Make all jack implementations provide: libjack${tag}-dev.
>>>    This is what was done in the past with libjack0.100.0-dev. We 
>>>    need not change anything now, just use a more meaningful tag than 
>>>    "" next time we want to bump.
>>
>> So we now can depend on libjack-dev provided by both, jackd1 and 
>> jackd2. Once there will be something worth to be versioned, we 
>> introduce something like libjack0.119-dev, i.e. for jack session 
>> support.
>>
>> The more I think about it, I could hardly find a reason why a package 
>> wants a specific jackd version at compile time, given that it cannot 
>> rely on this feature to be present at runtime. (please correct me if 
>> you do have such a case)
>
>I really do hope that we don't have such a case, but the typical 
>situation where something like this is required is when you start some 
>kind of transition that requires mass-rebuilds against the updated 
>package. Without versioned dependencies, you need to wait for jack to 
>be compiled *and* installed on each and every arch. The much more 
>robust solution is to add a versioned build-dependency.

This is (as you seem to agree with as well) an ugly trick: it "infects" 
the package with tightened dependency caused only by too limited build 
systems.

Also, I believe that approach is no longer necessary, as it seems we can 
now request arch-specific binNMUs (although I haven't tried it myself, 
just noticed others doing it)


  - Jonas

-- 
  * Jonas Smedegaard - idealist & Internet-arkitekt
  * Tlf.: +45 40843136  Website: http://dr.jones.dk/

  [x] quote me freely  [ ] ask before reusing  [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20101025/1ced61d9/attachment-0001.pgp>


More information about the pkg-multimedia-maintainers mailing list