[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Conflict with kernel versions?



David Given wrote:

> Unfortunately, the application has its own coroutine library that turns out to 
> have a nasty conflict with linuxthreads (due to allocating its own stacks, 
> which causes linuxthreads to crash). linuxthreads is used as part of glibc on 
> 2.4 kernels. 2.6 kernels, such as the one I did the development on, are fine.
> 
> Is it possible to specify this as part of the package dependencies, and if so 
> how, or am I just going to have to document the fact that it'll crash on 
> startup on a 2.4 system? Is this, in fact, not appropriate for inclusion in 
> Debian because of this?

To answer your first question: you cannot conflict against (or depend
upon) specific kernel versions because there is no guarantee that an
installed kernel package is the kernel that's running at the moment.  A
user might very well want to have a 2.4 and 2.6 kernel installed
simultaneously, and plan to only run the app when booting into the 2.6
kernel.  And a Conflicts wouldn't prevent a user from having a
self-installed 2.4 kernel that was installed outside the packaging
system (a case which I believe Debian supports, although I can't find a
guarantee of such support in the Policy docs off-hand).

What you _can_ do is to have a wrapper script around the application
that aborts with an appropriate error message if it detects a running
2.4 kernel.  It looks like your app is a daemon, so you could even do
this in its /etc/init.d script if it's unlikely anyone would run it by hand.

To answer the second question, I think it would be fine to have this app
in Debian as long as the kernel version requirements were clearly
documented in both the package long description (in the debian/control
file) and a README.Debian file.  But this is just MHO.

regards,

-- 
Kevin B. McCarty <kmccarty@princeton.edu>   Physics Department
WWW: http://www.princeton.edu/~kmccarty/    Princeton University
GPG: public key ID 4F83C751                 Princeton, NJ 08544



Reply to: