Description of problem: i want to compile vdr [1] on f35, but this fails with: + for plugin in dvbhddevice dvbsddevice rcu skincurses + /usr/bin/make -O -j8 V=1 VERBOSE=1 -C PLUGINS/src/dvbhddevice VDRDIR=/builddir/build/BUILD/vdr-2.4.7 PLGCFG=/builddir/build/BUILD/vdr-2.4.7/bundled-plugins.mk all make: Entering directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice' g++ -O3 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/builddir/build/BUILD/vdr-2.4.7/include -c -DPLUGIN_NAME_I18N='"dvbhddevice"' -o dvbhdffdevice.o dvbhdffdevice.c dvbhdffdevice.c:14:10: fatal error: linux/dvb/audio.h: No such file or directory 14 | #include <linux/dvb/audio.h> | ^~~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile:64: dvbhdffdevice.o] Error 1 make: Leaving directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice' make: *** Waiting for unfinished jobs.... make: Entering directory '/builddir/build/BUILD/vdr-2.4.7/PLUGINS/src/dvbhddevice' g++ -O3 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/builddir/build/BUILD/vdr-2.4.7/include -c -DPLUGIN_NAME_I18N='"dvbhddevice"' -o hdffosd.o hdffosd.c hdffosd.c:8:10: fatal error: linux/dvb/osd.h: No such file or directory 8 | #include <linux/dvb/osd.h> | ^~~~~~~~~~~~~~~~~ compilation terminated. [1] https://koji.fedoraproject.org/koji/buildinfo?buildID=1807563 Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. rpmbuild -ba vdr.spec Actual results: fails with above error message. Expected results: compiles w/o errors Additional info: I'am missing the 3 files audio.h, osd.h and video.h in the kernel-headers of f35. rpm -ql kernel-headers-5.14.0-0.rc3.git0.1.fc35.x86_64.rpm |grep "/usr/include/linux/dvb/" /usr/include/linux/dvb/ca.h /usr/include/linux/dvb/dmx.h /usr/include/linux/dvb/frontend.h /usr/include/linux/dvb/net.h /usr/include/linux/dvb/version.h the kernel-headers of f34 containing this files: rpm -ql kernel-headers-5.13.3-200.fc34.x86_64.rpm |grep "/usr/include/linux/dvb/" /usr/include/linux/dvb/audio.h /usr/include/linux/dvb/ca.h /usr/include/linux/dvb/dmx.h /usr/include/linux/dvb/frontend.h /usr/include/linux/dvb/net.h /usr/include/linux/dvb/osd.h /usr/include/linux/dvb/version.h /usr/include/linux/dvb/video.h This is the result of this kernel commit: commit 819fbd3d8ef36c09576c2a0ffea503f5c46e9177 Author: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org> Date: Tue Jun 1 11:31:30 2021 +0200 media: dvb header files: move some headers to staging The audio, video and OSD APIs are used upstream only by the av7110 driver, which was moved to staging. So, move the corresponding header files to it. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org> The deprecation of this headers was announced two years ago: commit 9ff4d4e08ba8471f6c4cae05544f1802f6aab828 Author: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org> Date: Tue Jun 4 10:41:20 2019 -0400 media: dvb: tag deprecated DVB APIs as such There are three headers at DVB that should not be used on future projects: audio.h, osd.h and video.h. While this is already clear at the docs, make clear also at the headers that those files should not be used on future drivers. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
I need the two plugins (dvbhddevice and dvbsddevice) for my Technotrend TV card (TT DVB-S2 6400) in order to be able to watch HDTV or SD channels. The two plugins now need the header files audio.h osd.h and video.h, which are missing since the kernel change to 5.14 rc3. Is there any chance this change will reverse?
(In reply to MartinKG from comment #1) > I need the two plugins (dvbhddevice and dvbsddevice) for my Technotrend TV > card (TT DVB-S2 > 6400) in order to be able to watch HDTV or SD channels. The two plugins now > need the > header files audio.h osd.h and video.h, which are missing since the kernel > change to 5.14 > rc3. Is there any chance this change will reverse? Extremely unlikely, the audio.h osd.h and video.h header files were marked deprecated 2 years ago and are only used by the av7110 driver which is also scheduled to be removed. Does your DVB card use the av7110 driver?
I need the 3 files (audio.h, osd.h and video.h) for the 2 included VDR plugins (dvbhddevice and dvbsddevice) to compile it, see error messages above.
(In reply to MartinKG from comment #3) > I need the 3 files (audio.h, osd.h and video.h) for the 2 included VDR > plugins (dvbhddevice and dvbsddevice) to compile it, > see error messages above. Can you disable the functionality that depends on those include files because the functionality in the kernel is only supported on the av7110 driver/HW. If there's other functionality that is used on other HW that is tied into this driver/includes it should probably be reviewed upstream in vdr. It will be very unlikely the header files will come back.
(In reply to Peter Robinson from comment #4) > (In reply to MartinKG from comment #3) > > I need the 3 files (audio.h, osd.h and video.h) for the 2 included VDR > > plugins (dvbhddevice and dvbsddevice) to compile it, > > see error messages above. > > Can you disable the functionality that depends on those include files > because the functionality in the kernel is only supported on the av7110 > driver/HW. If there's other functionality that is used on other HW that is > tied into this driver/includes it should probably be reviewed upstream in > vdr. It will be very unlikely the header files will come back. I think I will deliver the removed header files in a subpackage of the vdr.
> I think I will deliver the removed header files in a subpackage of the vdr. Why would you do that? Firstly you shouldn't be shipping kernel headers elsewhere. Secondly while it may compile without the kernel functionality it won't actually work so achieves nothing in the end. If you are going do a complete hack to get it to compile you shouldn't ship it as a sub package, this is also a violation of packaging guidelines, you should just include it in the source for vdr to build.