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.
Kevin B. McCarty <email@example.com> Physics Department
WWW: http://www.princeton.edu/~kmccarty/ Princeton University
GPG: public key ID 4F83C751 Princeton, NJ 08544