Compare commits

..

No commits in common. "rawhide" and "f35" have entirely different histories.

5 changed files with 145 additions and 273 deletions

1
.gitignore vendored
View file

@ -1,2 +1 @@
/v4l-utils-*.tar.bz2
/v4l-utils-*.tar.xz

View file

@ -0,0 +1,51 @@
From 9f799271e5e92cb84cbce002896ce7c25dad4fd8 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Mon, 27 Dec 2021 15:25:21 +0000
Subject: [PATCH] utils: v4l2 TPG: Update use of typeof
It seems the way to use typeof with newer gcc's is by using
__typeof__
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
utils/common/v4l2-tpg.h | 6 +++---
utils/common/v4l2-tpg.patch | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/utils/common/v4l2-tpg.h b/utils/common/v4l2-tpg.h
index ecdb6eba..ba351c28 100644
--- a/utils/common/v4l2-tpg.h
+++ b/utils/common/v4l2-tpg.h
@@ -46,9 +46,9 @@ static inline void *vzalloc(unsigned long size)
}
#define clamp(val, min, max) ({ \
- typeof(val) __val = (val); \
- typeof(min) __min = (min); \
- typeof(max) __max = (max); \
+ __typeof__(val) __val = (val); \
+ __typeof__(min) __min = (min); \
+ __typeof__(max) __max = (max); \
(void) (&__val == &__min); \
(void) (&__val == &__max); \
__val = __val < __min ? __min: __val; \
diff --git a/utils/common/v4l2-tpg.patch b/utils/common/v4l2-tpg.patch
index 2381ebd9..d7edc1f3 100644
--- a/utils/common/v4l2-tpg.patch
+++ b/utils/common/v4l2-tpg.patch
@@ -214,9 +214,9 @@ index 0b0ddb87..91da74ec 100644
+}
+
+#define clamp(val, min, max) ({ \
-+ typeof(val) __val = (val); \
-+ typeof(min) __min = (min); \
-+ typeof(max) __max = (max); \
++ __typeof__(val) __val = (val); \
++ __typeof__(min) __min = (min); \
++ __typeof__(max) __max = (max); \
+ (void) (&__val == &__min); \
+ (void) (&__val == &__max); \
+ __val = __val < __min ? __min: __val; \
--
2.33.1

View file

@ -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,

View file

@ -1 +1 @@
SHA512 (v4l-utils-1.32.0.tar.xz) = 5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f
SHA512 (v4l-utils-1.22.1.tar.bz2) = 8a634d8995d13f453dfaf90ca5d0dfb26f2f4b10a0d200d76a949c46f77040d12fc0a5b35e05d7b1ba68bcfc85a445be5a5ab1d4a7d4eabfe3a254038ccc6170

View file

@ -1,67 +1,65 @@
%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.22.1
Release: 1%{?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
Patch0: 0001-utils-v4l2-TPG-Update-use-of-typeof.patch
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: make
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: 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 +80,17 @@ 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 +99,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 +109,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}
export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS"
%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_build
make doxygen-run
%meson_build
%install
%meson_install
%make_install
find $RPM_BUILD_ROOT -name '*.la' -delete
# Driver removed from upstream
rm -f $RPM_BUILD_ROOT%{_bindir}/decode_tm6000
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 +139,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,124 +176,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 <releng@fedoraproject.org> - 1.32.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Jan 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.32.0-2
- Disable doxygen manpages
* Mon Oct 06 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1.32.0-1
- Update to 1.32.0
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.30.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jun 7 2025 Sean Young <sean@mes.org> - 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 <pbrobinson@fedoraproject.org> - 1.30.1-2
- Fix obsolete of edid-decode
* Thu May 1 2025 Yanko Kaneti <yaneti@decelra.com> - 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 <releng@fedoraproject.org> - 1.28.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.28.1-2
- Rebuilt for the bin-sbin merge (2nd attempt)
* Thu Jul 25 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.28.1-1
- Update to 1.28.1
- Build f41+ with QT6
* Mon Jul 22 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.28.0-1
- Update to 1.28.0
- spec file cleanups, fixes, minor reorg
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.26.1-5
- Rebuilt for the bin-sbin merge
* Wed Apr 24 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.1-4
- Fix location of gconv conflicts
* Tue Apr 23 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.1-3
- Split dvb tools to it's own sub package
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Dec 13 2023 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.1-1
- Update to 1.26.1
* Mon Dec 04 2023 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.0-1
- Update to 1.26.0
* Wed Aug 16 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.25.0-4
- Disable qv4l2 in RHEL 10 builds
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Mar 20 2023 Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 1.25.0-1
- Updated to latest development branch
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sun Oct 23 2022 Hans de Goede <hdegoede@redhat.com> - 1.22.1-4
- Fix libv4lconvert issues when stride > width (with some formats)
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Dec 08 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 1.22.1-1
- Update to 1.22.1