On Sunday 09 October 2005 21:03, Trev Jackson wrote:
On Sunday 09 Oct 2005 19:06, Hans Verkuil wrote:
I've been thinking on how to handle compatibility with older kernels in
the 0.5 series. The problem is that to stay backwards compatible requires
keeping the supporting drivers (tuner, tveeprom, saa7115, etc) in the
ivtv distribution. That sort of defeats the purpose of the 0.5 series.
It also makes it hard to continue development: if someone decides to
introduce API changes into something like the tuner module you will have
to track that development in your own copy. This is not feasible in the
long run.
I like to propose the following solution: we maintain the 0.4 branch as
the stable branch that works well with all kernels upto 2.6.14 and
depending on future development probably for later kernels too. As long
as it is easy to support a new kernel, well, why not.
The 0.5 and higher series only supports newer kernels, basically starting
with the first kernel that has all supporting modules merged (tveeprom,
tuner and tda9887 are already merged in 2.6.14). Especially the duplicate
modules are a major headache and they really have to go from the ivtv
distribution.
So that leaves us with a 0.4 that supports kernels from 2.4 up to 2.6.X
and a 0.5/0.6 that supports kernels from 2.6.Y onwards (where Y = X).
It is similar to, say, the dvb project where they also have a separate
repository for 2.4 kernels.
Obviously, this also means that the 0.4 branch has to be maintained for
quite some time. But that was also true for 0.2 :-)
I feel very strongly that at some point you have to make a new start and
this is a good time to do it.
Comments?
Hans
Hi Hans
If the files are going to be merged will those modules in future only be
available from the v4l site.
They will be maintained there, yes. Of course, once they are committed to the
v4l repository they are merged into the next kernel and so are available in
that and following kernels.
It sounds like this may mean that unless you running the latest bleeding
edge kernel it will not be possible to run the latest copy of ivtv.
Yes. However, the intention is to keep the 0.4 branch fully up to date with
bug fixes and new features for quite some time. And what is a bleeding edge
kernel now isn't anymore after 3-4 months.
The only way around this I can think of is taking a snapshot of the v4l
modules now and in future take snapshots and tweak the code to allow the
code to still build. Then when the tweaks become to cumbersome jump to a
new ivtv version that only builds using kernel x.x.x and later.
Basically that's what will go on in the 0.4 branch. Bug fixes and for the time
being also new features go into both 0.4 and 0.5. Once 0.5 is finished (i.e.
all the supporting drivers are in v4l and appeared in a new kernel) new
features will probably only go into the 0.6 series. Of course, if someone is
willing to backport them they can also go into 0.4.
In my opinion this course of action keeps existing users happy (the 0.4 branch
is stable and should be good for quite some time) and on the other hand opens
up an easy road towards inclusion into the kernel which means that there is
no more need to continuously keep track of the latest kernel changes and
backwards compatibility.
Hans
___
ivtv-devel mailing list
ivtv-devel@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel