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

Re: ABI handling for linux-2.6



Sven Luther <sven.luther@wanadoo.fr> writes:

> On Thu, Jun 08, 2006 at 01:24:49AM +0200, Goswin von Brederlow wrote:
>> Right, move them into provides and get make-kpkg / module assistant to
>> pick that provides as dependecy for out of tree modules.
>
> That is a most interesting proposition. It does not account for having
> separate kernels installed at the same time, but it does solve the abi thingy
> nicely.

Yes, it only solves updating the kernel to a version with the same ABI
without having to recompile all out of tree modules.

> In the ocaml team we have been using this trick since 5 years or so, and it
> works nicely, except for a few snags.
>
> Autobuilders don't know how to install virtual packages, since they believe
> that provides are only there to provide alternatives, and don't want to make a
> decision on which one to chose. They don't understand that there may be use
> for a abi-providing virtual package, and that in this case, for a given
> archive, there is a 1:1 mapping between this virtual package and the real
> package.

I think that if any source Build-Depends on a kernel or module ABI
then there is something seriously wrong.

Also autobuilders handle virtual packages just fine, they just pick
the first one on the list that provide it. The somewhat randomness of
this choice is what makes Build-Depends on virtual packages highly
deprecated in normal circumstances.

> When we first implemented this in ocaml, i got an over-haugthy mail from elmo
> strongly discouraging us to go this way (along the lines of 'virtual packages
> cannot be used as build-deps, this is the way it is and won't change anytime
> soon'), and since then the buildd's needed to be individually hinted each time
> there is an ocaml abi change.
>
> This would be less problematic for the kernel package proper, but the problems
> happens more for the out-of-tree modules, whose buildd will not notice quickly
> enough that there was a kernel package abi change, and thus only shift the
> same problem elsewhere.

Don't out of tree modules build-depend on the linux-tree-2.6.x
package? Using Build-Depends: linux-tree-2.6 (>= 2.6.x)[,
linux-tree-2.6 (<< 2.6.x+1)] gives you the same. Only when you have to
Build-Depend on a fixed ABI (not >= 2.6.x-y but a ==) the provided abi
has to be used. Is that needed anywhere?

MfG
        Goswin



Reply to: