diff --git a/.gitignore b/.gitignore index 517a3c9..7553d11 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ /v4l-utils-*.tar.bz2 -/v4l-utils-*.tar.xz diff --git a/libdvbv5-fix-double-free-in-dvb_fe_open_fname.patch b/libdvbv5-fix-double-free-in-dvb_fe_open_fname.patch new file mode 100644 index 0000000..60a8ffc --- /dev/null +++ b/libdvbv5-fix-double-free-in-dvb_fe_open_fname.patch @@ -0,0 +1,63 @@ +From 78057aaa784a922b4ac6af9f323b828f7a834581 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Roth?= +Date: Sat, 7 Jul 2018 07:20:55 -0400 +Subject: libdvbv5: fix double free in dvb_fe_open_fname +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since parms and fname is allocated outside of the function, do not free it. +Use dvb_v5_free for freeing parms, it will free fname if required. + +Signed-off-by: André Roth +Signed-off-by: Mauro Carvalho Chehab + +diff --git a/lib/libdvbv5/dvb-fe.c b/lib/libdvbv5/dvb-fe.c +index 514a187..7f63476 100644 +--- a/lib/libdvbv5/dvb-fe.c ++++ b/lib/libdvbv5/dvb-fe.c +@@ -179,7 +179,7 @@ struct dvb_v5_fe_parms *dvb_fe_open_flags(int adapter, int frontend, + + ret = dvb_fe_open_fname(parms, dvb_dev->path, flags); + if (ret < 0) { +- free(parms); ++ dvb_v5_free(parms); + return NULL; + } + +@@ -202,9 +202,7 @@ int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname, + + if (xioctl(fd, FE_GET_INFO, &parms->p.info) == -1) { + dvb_perror("FE_GET_INFO"); +- dvb_v5_free(parms); + close(fd); +- free(fname); + return -errno; + } + +@@ -291,7 +289,6 @@ int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname, + } + if (!parms->p.num_systems) { + dvb_logerr(_("delivery system not detected")); +- dvb_v5_free(parms); + close(fd); + return -EINVAL; + } +@@ -302,7 +299,6 @@ int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname, + dtv_prop.props = parms->dvb_prop; + if (xioctl(fd, FE_GET_PROPERTY, &dtv_prop) == -1) { + dvb_perror("FE_GET_PROPERTY"); +- dvb_v5_free(parms); + close(fd); + return -errno; + } +@@ -312,7 +308,6 @@ int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname, + + if (parms->p.num_systems == 0) { + dvb_logerr(_("driver returned 0 supported delivery systems!")); +- dvb_v5_free(parms); + close(fd); + return -EINVAL; + } +-- +cgit v0.10.2 diff --git a/libdvbv5-revert-leaks-double-free-dvb_fe_open_fname.patch b/libdvbv5-revert-leaks-double-free-dvb_fe_open_fname.patch new file mode 100644 index 0000000..865776a --- /dev/null +++ b/libdvbv5-revert-leaks-double-free-dvb_fe_open_fname.patch @@ -0,0 +1,104 @@ +From 41f19db34e17ed13f5cc06d9147ba83803224ce6 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Fri, 26 Apr 2019 12:05:57 -0300 +Subject: Revert "libdvbv5: leaks and double free in dvb_fe_open_fname()" + +This reverts commit c82608ca1595427c2bdbd4abb9aca9163e1df60a. + +This patch is buggy, as reported at: + + https://bugs.kde.org/show_bug.cgi?id=406145 + https://bugzilla.redhat.com/show_bug.cgi?id=1695023 + +So, revert it, in order to make Kaffeine work again. + +Thanks to Wolfgang Ulbrich with detected the bad patch and +checked that reverting it fixes the issue. + +Fix tested with a PCTV 461 and a DVB-S2 stream from my TV +provider. + +Signed-off-by: Mauro Carvalho Chehab + +diff --git a/lib/libdvbv5/dvb-dev-local.c b/lib/libdvbv5/dvb-dev-local.c +index 2de9a61..e98b967 100644 +--- a/lib/libdvbv5/dvb-dev-local.c ++++ b/lib/libdvbv5/dvb-dev-local.c +@@ -467,7 +467,7 @@ static struct dvb_open_descriptor + flags &= ~O_NONBLOCK; + } + +- ret = dvb_fe_open_fname(parms, dev->path, flags); ++ ret = dvb_fe_open_fname(parms, strdup(dev->path), flags); + if (ret) { + free(open_dev); + return NULL; +diff --git a/lib/libdvbv5/dvb-fe.c b/lib/libdvbv5/dvb-fe.c +index 7f63476..5dcf492 100644 +--- a/lib/libdvbv5/dvb-fe.c ++++ b/lib/libdvbv5/dvb-fe.c +@@ -133,6 +133,7 @@ struct dvb_v5_fe_parms *dvb_fe_open_flags(int adapter, int frontend, + int flags) + { + int ret; ++ char *fname; + struct dvb_device *dvb; + struct dvb_dev_list *dvb_dev; + struct dvb_v5_fe_parms_priv *parms = NULL; +@@ -152,6 +153,7 @@ struct dvb_v5_fe_parms *dvb_fe_open_flags(int adapter, int frontend, + dvb_dev_free(dvb); + return NULL; + } ++ fname = strdup(dvb_dev->path); + + if (!strcmp(dvb_dev->bus_addr, "platform:dvbloopback")) { + logfunc(LOG_WARNING, _("Detected dvbloopback")); +@@ -159,10 +161,14 @@ struct dvb_v5_fe_parms *dvb_fe_open_flags(int adapter, int frontend, + } + + dvb_dev_free(dvb); +- ++ if (!fname) { ++ logfunc(LOG_ERR, _("fname calloc: %s"), strerror(errno)); ++ return NULL; ++ } + parms = calloc(sizeof(*parms), 1); + if (!parms) { + logfunc(LOG_ERR, _("parms calloc: %s"), strerror(errno)); ++ free(fname); + return NULL; + } + parms->p.verbose = verbose; +@@ -177,7 +183,7 @@ struct dvb_v5_fe_parms *dvb_fe_open_flags(int adapter, int frontend, + if (use_legacy_call) + parms->p.legacy_fe = 1; + +- ret = dvb_fe_open_fname(parms, dvb_dev->path, flags); ++ ret = dvb_fe_open_fname(parms, fname, flags); + if (ret < 0) { + dvb_v5_free(parms); + return NULL; +@@ -197,6 +203,7 @@ int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname, + fd = open(fname, flags, 0); + if (fd == -1) { + dvb_logerr(_("%s while opening %s"), strerror(errno), fname); ++ free(fname); + return -errno; + } + +@@ -217,12 +224,7 @@ int dvb_fe_open_fname(struct dvb_v5_fe_parms_priv *parms, char *fname, + } + } + +- parms->fname = strdup(fname); +- if (!parms->fname) { +- dvb_logerr(_("fname calloc: %s"), strerror(errno)); +- return -errno; +- } +- ++ parms->fname = fname; + parms->fd = fd; + parms->fe_flags = flags; + parms->dvb_prop[0].cmd = DTV_API_VERSION; +-- +cgit v0.10.2 diff --git a/sbin-location.diff b/sbin-location.diff deleted file mode 100644 index 2030a8e..0000000 --- a/sbin-location.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git v4l-utils-1.26.1/utils/v4l2-dbg/meson.build~ v4l-utils-1.26.1/utils/v4l2-dbg/meson.build -index c23bf8f351..bfbc10c616 100644 ---- v4l-utils-1.26.1/utils/v4l2-dbg/meson.build~ -+++ v4l-utils-1.26.1/utils/v4l2-dbg/meson.build -@@ -13,7 +13,7 @@ v4l2_dbg_sources = files( - v4l2_dbg = executable('v4l2-dbg', - v4l2_dbg_sources, - install : true, -- install_dir : 'sbin', -+ install_dir : get_option('sbindir'), - include_directories : [ - v4l2_utils_incdir, - utils_common_incdir, diff --git a/sources b/sources index 4efc8c2..194eb10 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.32.0.tar.xz) = 5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f +SHA512 (v4l-utils-1.18.0.tar.bz2) = 749c804671f039d907bf782cba5d1c23fff48066f3b6d4a0249fb9b65c493ee3945b544ee2a306dda79973da04f0301278ee88775f798aba590e5d0f15226d49 diff --git a/v4l-utils.spec b/v4l-utils.spec index 0cbadaa..bc981ce 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,67 +1,64 @@ -%bcond qt %[%{undefined rhel} || 0%{?rhel} < 10] - -# Currently broken without DVB due to a bunch of random bits -# being built/installed even though they're DVB specific -%define with_dvb 1 - Name: v4l-utils -Version: 1.32.0 -Release: 4%{?dist} +Version: 1.18.0 +Release: 2%{?dist} Summary: Utilities for video4linux and DVB devices -# libdvbv5, dvbv5 utils, ir-keytable are GPL-2.0-only -# e.g. utils/cec-follower/cec-follower.cpp is (GPL-2.0-only OR BSD-3-Clause) -# utils/qvidcap/capture.cpp, paint.cpp are LicenseRef-Fedora-Public-Domain -# utils/v4l2-sysfs-path/v4l2-sysfs-path.c is HPND-sell-variant -License: GPL-2.0-or-later AND GPL-2.0-only AND (GPL-2.0-only OR BSD-3-Clause) AND LicenseRef-Fedora-Public-Domain AND HPND-sell-variant +# libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only +License: GPLv2+ and GPLv2 URL: http://www.linuxtv.org/downloads/v4l-utils/ -Source0: %{url}/v4l-utils-%{version}.tar.xz -# TODO: submit upstream -Patch0: sbin-location.diff +Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2 BuildRequires: alsa-lib-devel +BuildRequires: desktop-file-utils +BuildRequires: doxygen BuildRequires: gettext -BuildRequires: json-c-devel BuildRequires: kernel-headers BuildRequires: libjpeg-devel -BuildRequires: meson >= 0.56 -BuildRequires: perl-interpreter -%if %{with qt} -BuildRequires: desktop-file-utils -%if 0%{?fedora} < 41 || 0%{?rhel} BuildRequires: qt5-qtbase-devel -%else -BuildRequires: qt6-qtbase-devel -BuildRequires: qt6-qt5compat-devel -%endif -%endif BuildRequires: systemd-devel -# For /usr/share/pkgconfig/udev.pc -BuildRequires: systemd + # BPF decoder dependencies -BuildRequires: clang -BuildRequires: elfutils-libelf-devel -BuildRequires: libbpf-devel + +%define with_bpf 1 + +%if %{with_bpf} +BuildRequires: elfutils-libelf-devel clang +%endif # For /lib/udev/rules.d ownership -Requires: systemd-udev +Requires: udev Requires: libv4l%{?_isa} = %{version}-%{release} -Provides: edid-decode = %{version}-%{release} -Obsoletes: edid-decode < 1 - %description -v4l-utils is a collection of various video4linux (V4L), RC core and DVB -utilities. The main v4l-utils package contains cx18-ctl, ivtv-ctl, v4l2-ctl -and v4l2-sysfs-path. +v4l-utils is a collection of various video4linux (V4L) and DVB utilities. The +main v4l-utils package contains cx18-ctl, ir-keytable, ivtv-ctl, v4l2-ctl and +v4l2-sysfs-path. + + +%package devel-tools +Summary: Utilities for v4l2 / DVB driver development and debugging +# decode_tm6000 is GPLv2 only +License: GPLv2+ and GPLv2 +Requires: libv4l%{?_isa} = %{version}-%{release} + +%description devel-tools +Utilities for v4l2 / DVB driver authors: decode_tm6000, v4l2-compliance and +v4l2-dbg. + + +%package -n qv4l2 +Summary: QT v4l2 test control and streaming test application +License: GPLv2+ +Requires: libv4l%{?_isa} = %{version}-%{release} + +%description -n qv4l2 +QT v4l2 test control and streaming test application. %package -n libv4l Summary: Collection of video4linux support libraries -# Some of the decompression helpers are GPL-2.0-or-later, the rest is LGPL-2.1-or-later -# lib/libv4lconvert/jidctflt.c and jpeg_memsrcdest.c are IJG-short -# lib/libv4lconvert/helper-funcs.h and libv4lsyscall-priv.h are BSD-2-Clause -License: LGPL-2.1-or-later AND GPL-2.0-or-later AND IJG-short AND BSD-2-Clause +# Some of the decompression helpers are GPLv2, the rest is LGPLv2+ +License: LGPLv2+ and GPLv2 URL: http://hansdegoede.livejournal.com/3636.html %description -n libv4l @@ -82,9 +79,16 @@ libv4l2 offers the v4l2 API on top of v4l2 devices, while adding for the application transparent libv4lconvert conversion where necessary. +%package -n libdvbv5 +Summary: Libraries to control, scan and zap on Digital TV channels +License: GPLv2 + +%description -n libdvbv5 +Libraries to control, scan and zap on Digital TV channels + %package -n libv4l-devel Summary: Development files for libv4l -License: LGPL-2.1-or-later AND GPL-2.0-or-later AND IJG-short AND BSD-2-Clause +License: LGPLv2+ URL: http://hansdegoede.livejournal.com/3636.html Requires: libv4l%{?_isa} = %{version}-%{release} @@ -93,50 +97,9 @@ The libv4l-devel package contains libraries and header files for developing applications that use libv4l. -%package devel-tools -Summary: Utilities for v4l2 / DVB driver development and debugging -License: GPL-2.0-or-later AND GPL-2.0-only -Requires: libv4l%{?_isa} = %{version}-%{release} - -%description devel-tools -Utilities for v4l2 driver authors: v4l2-compliance and -v4l2-dbg. - - -%if %{with qt} -%package -n qv4l2 -Summary: QT v4l2 test control and streaming test application -# utils/qv4l2/qv4l2.svg is CC-BY-SA-3.0 -License: GPL-2.0-or-later AND CC-BY-SA-3.0 -Requires: libv4l%{?_isa} = %{version}-%{release} - -%description -n qv4l2 -QT v4l2 test control and streaming test application. -%endif - - -%if %{with dvb} -%package -n libdvbv5 -Summary: Libraries to control, scan and zap on Digital TV channels -# /lib/include/libdvbv5/dvb-frontend.h is LGPL-2.1-or-later WITH Linux-syscall-note -License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note - -%description -n libdvbv5 -Libraries to control, scan and zap on Digital TV channels - - -%package -n libdvbv5-gconv -Summary: Gconv files with the charsets For Digital TV. -License: LGPL-2.1-or-later - -%description -n libdvbv5-gconv -Some digital TV standards define their own charsets. Add library -support for them: EN 300 468 and ARIB STD-B24 - - %package -n libdvbv5-devel Summary: Development files for libdvbv5 -License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note +License: GPLv2 Requires: libdvbv5%{?_isa} = %{version}-%{release} %description -n libdvbv5-devel @@ -144,52 +107,27 @@ The libdvbv5-devel package contains libraries and header files for developing applications that use libdvbv5. -%package -n dvb-tools -Summary: Utilities for DVB driver -License: GPL-2.0-or-later AND GPL-2.0-only -Requires: libdvbv5%{?_isa} = %{version}-%{release} -Requires: libv4l%{?_isa} = %{version}-%{release} -Requires: v4l-utils%{?_isa} = %{version}-%{release} - -%description -n dvb-tools -Utilities and tools for DVB receivers. -%endif - -%package -n rc-tools -Summary: Utilities for RC core -License: GPL-2.0-or-later AND GPL-2.0-only -Requires: v4l-utils%{?_isa} = %{version}-%{release} - -%description -n rc-tools -Utilities for Infrared receivers and transmitters using RC core. - - %prep %autosetup -p1 %build -%meson -Dbpf=auto \ - -Ddoxygen-doc=disabled -Ddoxygen-man=false -Ddoxygen-html=false \ - %{!?with_dvb:-Dlibdvbv5=disabled} \ - %{!?with_qt:-Dqv4l2=disabled -Dqvidcap=disabled} +%configure --disable-static --enable-libdvbv5 --enable-doxygen-man +# Don't use rpath! +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +make %{?_smp_mflags} +make doxygen-run -%meson_build %install -%meson_install - -find $RPM_BUILD_ROOT -name '*.la' -delete -# Driver removed from upstream -rm -f $RPM_BUILD_ROOT%{_bindir}/decode_tm6000 +%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} +%make_install +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' rm -f $RPM_BUILD_ROOT%{_libdir}/{v4l1compat.so,v4l2convert.so} -mkdir $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d -mv $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf - -%if %{with qt} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3/ +cp -arv %{_builddir}/%{name}-%{version}/doxygen-doc/man/man3 $RPM_BUILD_ROOT%{_mandir}/ +rm $RPM_BUILD_ROOT%{_mandir}/man3/_*3 desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop -desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop -%endif - %find_lang %{name} %find_lang libdvbv5 @@ -199,48 +137,35 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %ldconfig_scriptlets -n libdvbv5 %files -f %{name}.lang -%doc README.md -%{_bindir}/cec-ctl -%{_bindir}/cec-follower -%{_bindir}/edid-decode +%doc README +%dir %{_sysconfdir}/rc_keymaps +%config(noreplace) %{_sysconfdir}/rc_maps.cfg +%{_udevrulesdir}/70-infrared.rules +%{_udevrulesdir}/../rc_keymaps/* +%{_bindir}/cx18-ctl +%{_bindir}/cec* +%{_bindir}/dvb* +%{_bindir}/ir-ctl +%{_bindir}/ir-keytable +%{_bindir}/ivtv-ctl %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path -%{_bindir}/v4l2-tracer -%{_mandir}/man1/cec-ctl*.1* -%{_mandir}/man1/cec-follower*.1* -%{_mandir}/man1/edid-decode*.1* -%{_mandir}/man1/v4l*.1* +%{_mandir}/man1/*.1* +%{_mandir}/man5/*.5* +%exclude %{_mandir}/man1/qv4l2.1* %exclude %{_mandir}/man1/v4l2-compliance.1* %files devel-tools -%doc README.md -%{_bindir}/cec-compliance +%doc README +%{_bindir}/decode_tm6000 %{_bindir}/v4l2-compliance -%{_mandir}/man1/cec-compliance.1* %{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg -%files -n libv4l -%license COPYING.libv4l COPYING -%doc README.libv4l -%dir %{_libdir}/libv4l -%{_libdir}/libv4l/v4l* -%{_libdir}/libv4l/plugins -%{_libdir}/libv4l*.so.* - -%files -n libv4l-devel -%doc README.lib-multi-threading ChangeLog TODO -%{_includedir}/libv4l*.h -%{_libdir}/libv4l*.so -%{_libdir}/libv4l/ov* -%{_libdir}/libv4l/libv4l2tracer.so -%{_libdir}/pkgconfig/libv4l*.pc - -%if %{with qt} %files -n qv4l2 -%doc README.md +%doc README %{_bindir}/qv4l2 %{_bindir}/qvidcap %{_datadir}/applications/qv4l2.desktop @@ -249,148 +174,32 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_datadir}/icons/hicolor/*/apps/qvidcap.* %{_mandir}/man1/qv4l2.1* %{_mandir}/man1/qvidcap.1* -%endif -%if %{with dvb} +%files -n libv4l +%doc ChangeLog README.libv4l TODO +%license COPYING.libv4l COPYING +%{_libdir}/libv4l +%{_libdir}/libv4l*.so.* + +%files -n libv4l-devel +%doc README.lib-multi-threading +%{_includedir}/libv4l*.h +%{_libdir}/libv4l*.so +%{_libdir}/pkgconfig/libv4l*.pc + %files -n libdvbv5 -f libdvbv5.lang -%license COPYING.libdvbv5 COPYING -%doc lib/libdvbv5/README +%doc ChangeLog lib/libdvbv5/README +%license COPYING %{_libdir}/libdvbv5*.so.* -%files -n libdvbv5-gconv -%{_libdir}/gconv/*.so -%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf - %files -n libdvbv5-devel %{_includedir}/libdvbv5/*.h %{_libdir}/libdvbv5*.so %{_libdir}/pkgconfig/libdvbv5*.pc - -%files -n dvb-tools -%{_bindir}/cx18-ctl -%{_bindir}/dvb* -%{_bindir}/ivtv-ctl -%{_mandir}/man1/dvb*.1* - -%files -n rc-tools -%dir %{_sysconfdir}/rc_keymaps -%config(noreplace) %{_sysconfdir}/rc_maps.cfg -%{_udevrulesdir}/70-infrared.rules -%{_udevrulesdir}/../rc_keymaps/* -%{_bindir}/ir-ctl -%{_bindir}/ir-keytable -%{_mandir}/man1/ir*.1* -%{_mandir}/man5/rc_keymap*.5* - -%endif +%{_mandir}/man3/*.3* %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 1.32.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Sat Jan 17 2026 Fedora Release Engineering - 1.32.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Tue Jan 13 2026 Yaakov Selkowitz - 1.32.0-2 -- Disable doxygen manpages - -* Mon Oct 06 2025 Peter Robinson - 1.32.0-1 -- Update to 1.32.0 - -* Fri Jul 25 2025 Fedora Release Engineering - 1.30.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jun 7 2025 Sean Young - 1.30.1-3 -- Move rc-tools into separate package so they can be replaced with new tools in the future. - -* Fri May 02 2025 Peter Robinson - 1.30.1-2 -- Fix obsolete of edid-decode - -* Thu May 1 2025 Yanko Kaneti - 1.30.1-1 -- Update to 1.30.1 -- Provides and obsoletes edid-decode which has moved to v4l-utils upstream - -* Sun Jan 19 2025 Fedora Release Engineering - 1.28.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 1.28.1-2 -- Rebuilt for the bin-sbin merge (2nd attempt) - -* Thu Jul 25 2024 Peter Robinson - 1.28.1-1 -- Update to 1.28.1 -- Build f41+ with QT6 - -* Mon Jul 22 2024 Peter Robinson - 1.28.0-1 -- Update to 1.28.0 -- spec file cleanups, fixes, minor reorg - -* Sat Jul 20 2024 Fedora Release Engineering - 1.26.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 1.26.1-5 -- Rebuilt for the bin-sbin merge - -* Wed Apr 24 2024 Peter Robinson - 1.26.1-4 -- Fix location of gconv conflicts - -* Tue Apr 23 2024 Peter Robinson - 1.26.1-3 -- Split dvb tools to it's own sub package - -* Sat Jan 27 2024 Fedora Release Engineering - 1.26.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Dec 13 2023 Peter Robinson - 1.26.1-1 -- Update to 1.26.1 - -* Mon Dec 04 2023 Peter Robinson - 1.26.0-1 -- Update to 1.26.0 - -* Wed Aug 16 2023 Yaakov Selkowitz - 1.25.0-4 -- Disable qv4l2 in RHEL 10 builds - -* Sat Jul 22 2023 Fedora Release Engineering - 1.25.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Mar 20 2023 Mauro Carvalho Chehab 1.25.0-1 -- Updated to latest development branch - -* Sat Jan 21 2023 Fedora Release Engineering - 1.22.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sun Oct 23 2022 Hans de Goede - 1.22.1-4 -- Fix libv4lconvert issues when stride > width (with some formats) - -* Sat Jul 23 2022 Fedora Release Engineering - 1.22.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 1.22.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Dec 08 2021 Peter Robinson - 1.22.1-1 -- Update to 1.22.1 - -* Fri Jul 23 2021 Fedora Release Engineering - 1.20.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Fedora Release Engineering - 1.20.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Aug 18 2020 Jeff Law - 1.20.0-2 -- Force C++14 as this code is not C++17 ready - -* Wed Aug 12 2020 Peter Robinson - 1.20.0-1 -- Update to 1.20.0 - -* Wed Jul 29 2020 Fedora Release Engineering - 1.18.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Feb 25 2020 Than Ngo - 1.18.0-4 -- Fixed FTBFS - -* Fri Jan 31 2020 Fedora Release Engineering - 1.18.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - * Sun Sep 22 2019 Mauro Carvalho Chehab 1.18.0-1 - Updated to latest stable release