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

Re: cdrtools-2.01a22 ready



> Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
> 
> -       Now using the major() macro for some Linux duties.
> 
>         WARNING to creators of Linux distributions:

As such wording sounds very much as "political statement," I feel
necessity to comment on following.

>         It has _always_ been wrong to compile software only once for different
>         kernel versions (e.g. for compile Linux-2.4 and later install a
>         2.2 kernel on the so created system).

I can't find the above statement to hold universally true. I would
accept "it has always beed wrong to compile *cdrtools* only once for
different kernel versions," but I refuse to accept formulation as broad
as above. There is possibility that author's intention *was* to make
statement about cdrtools in particular, in which case a clarification
note would be appropriate. Meanwhile I can say that I disagree with the
above statement in its current wording, because it's perfectly possible
to design software for backward binary compatility and even for two-way
compatibility. Moreover! Creators of Linux distributions *should*
actually strive for at least backward compatibility in maximum possible
extent, i.e. programs compiled under elder distribution should work and
even be supported under newer release, unless there is stronger reason
not to. I mean "it works in latest distribution if recompiled" per se
should not be a viable argument, but only "it doesn't work *because*
this and that, there is nothing we can do to make [re]compiled binary
for elder distribution work under latest distributions, but to recompile
it there." Yes, this means that I would very much like to see packages
being assembled under eldest possible distribution to provide binary
compatibility under latest distribution. This approach stimulates
developers to write better code and is the only way to create and
maintain trust-worthy foundation which lasts.

>         Now that Linux-2.6 introduces incompatible changes to kernel/user
>         interfaces, the resulting binaries will not work correctly anymore.

The "political statement" appearence is strengthened by the fact that
this issue has no apparent connection with context in which they're
brought up, namely switching to major() macro in cdda2wav. I mean as far
as calculation of major device number goes, at least 2.4 and 2.6 kernels
are two-way binary compatible. Even binary compatibility with 2.2 (once
again as far as calculation of major device number goes!) is rather libc
issue than kernel one. A.



Reply to: