linuxtv-dvb-headers installs the dvb header files in /usr/include/dvb, though they already exists in /usr/include/linux/dvb as part of the linux-headers package. The only case when a user has to install the dvb header files itself is if he uses a 2.4er kernel with linux-headers-2.4. In that case he needs to install the dvb drivers from linuxtv-dvb-1.* as they are not in kernel 2.4. So the linuxtv-dvb package should also install the appropriate header files. They are included in the package anyways. Then you could drop the linuxtv-dvb-headers package completely. Reproducible: Always Steps to Reproduce:
This are the problems for apps related to dvb: 1. Searching dvb drivers at several places is ugly: e.g. /usr/include, kernel sources, etc. 2. Avoiding special kernel defines for debugging inside the files which are not being defined by some versions of linux-headers. This means headers in (1.) eventually have to be patched to compile. 3. Getting API version 3.1 according to driver in kernel but only API version 3 in linux-headers. Some programms may not compile even if the driver has the needed features. The package linuxtv-dvb-headers is to solve all these issues by packaging the cleaned up headers of API version 3.1 into a small package to have one simple dependency for dvb and one fixed place to put the headers. The files are only moved to /usr/include/dvb to not run into collision-detect.
(In reply to comment #1) > 1. Searching dvb drivers at several places is ugly: e.g. /usr/include, kernel > sources, etc. hmm dont know what you mean, afaik all userland apps should compile happily with the header files in /usr/include/linux, without needing to have a kernel source around. Imho the new header package makes the situation "ugly". Now you have the files twice and you have to check and patch every application so that it uses "the right" header files. > 3. Getting API version 3.1 according to driver in kernel but only API version 3 > in linux-headers. Some programms may not compile even if the driver has the > needed features. linux-headers-2.6.11-r2 has the headers with API 3.1. Also from a quick look the files from linuxtv-dvb-headers are almost identical to the ones from linux-headers besides from whitespace changes. I agree that cleaned up header files are neccessary for the kernel<->userland interface. But isn't that exactly the purpose of the linux-headers package? And if there are issues like point 2), shouldnt it be fixed in the linux-headers instead of introducing a complete new set of files and hoping that everybody will use these?
Kernel: Do you have any idea on this? What is the best solution in your opinion?
Discussion on #gentoo-kernel lead to this: Drop of linuxtv-dvb-headers and change the ebuilds like that: DEPEND="|| ( >=sys-kernel/linux-headers-2.6.11-r2 media-tv/linuxtv-dvb )" Then using the headers from /usr/include.
There are no packages left depending on linuxtv-dvb-headers.