-
-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
94 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,126 @@ | ||
# https://github.com/rpmfusion/v4l2loopback-kmod/blob/el7/v4l2loopback-kmod.spec | ||
# https://github.com/rpmfusion/v4l2loopback-kmod/blob/master/v4l2loopback-kmod.spec | ||
%if 0%{?fedora} | ||
%global buildforkernels akmod | ||
%global debug_package %nil | ||
%endif | ||
%if 0%{?el9} | ||
# kmod fails on rhel9 kernel with aarch64 - just build an akmod there | ||
%ifarch aarch64 | ||
%global buildforkernels akmod | ||
%endif | ||
%endif | ||
%global debug_package %{nil} | ||
|
||
Name: v4l2loopback-kmod | ||
Summary: v4l2-loopback kernel module | ||
Version: 0.13.2 | ||
Release: 1%?dist | ||
License: GPL-2.0-or-later | ||
%global commit 2c9b67072b15d903fecde67c7f269abeafee4c25 | ||
%global commitdate 20230503 | ||
%global shortcommit %(c=%{commit}; echo ${c:0:7}) | ||
|
||
URL: https://github.com/umlaeute/v4l2loopback | ||
Source0: %url/archive/v%version/v4l2loopback-%version.tar.gz | ||
%global prjname v4l2loopback | ||
|
||
BuildRequires: gcc | ||
BuildRequires: elfutils-libelf-devel | ||
BuildRequires: kmodtool | ||
BuildRequires: mold | ||
# %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%buildforkernels}%!?buildforkernels:current-%_target_cpu} | ||
Name: %{prjname}-kmod | ||
Summary: Kernel module (kmod) for %{prjname} | ||
Version: 0.13.2 | ||
Release: 1%{?dist} | ||
License: GPLv2+ | ||
|
||
URL: https://github.com/umlaeute/v4l2loopback | ||
Source0: %{url}/archive/v%{version}/%{prjname}-%{version}.tar.gz | ||
|
||
BuildRequires: gcc | ||
BuildRequires: elfutils-libelf-devel | ||
BuildRequires: kmodtool | ||
%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} } | ||
|
||
# kmodtool does its magic here | ||
%{expand:%(kmodtool --target %_target_cpu --repo terra --kmodname v4l2loopback %{?buildforkernels:--%buildforkernels} %{?kernels:--for-kernels "%?kernels"} 2>/dev/null) } | ||
%{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } | ||
|
||
%description | ||
This module allows you to create "virtual video devices". Normal (v4l2) | ||
applications will read these devices as if they were ordinary video | ||
devices, but the video will not be read from e.g. a capture card but | ||
instead it is generated by another application. | ||
|
||
This package contains the kmod module for v4l2loopback. | ||
This package contains the kmod module for %{prjname}. | ||
|
||
|
||
%prep | ||
# error out if there was something wrong with kmodtool | ||
%?kmodtool_check | ||
%{?kmodtool_check} | ||
|
||
# print kmodtool output for debugging purposes: | ||
kmodtool --target %_target_cpu --repo rpmfusion --kmodname v4l2loopback %{?buildforkernels:--%buildforkernels} %{?kernels:--for-kernels "%?kernels"} 2>/dev/null | ||
kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null | ||
|
||
%autosetup -n v4l2loopback-%version | ||
%setup -q -c | ||
(cd v4l2loopback-%{version} | ||
#patch -P 0 -p1 | ||
) | ||
|
||
for kernel_version in %?kernel_versions ; do | ||
cp -a v4l2loopback-%version _kmod_build_${kernel_version%%___*} | ||
for kernel_version in %{?kernel_versions} ; do | ||
cp -a v4l2loopback-%{version} _kmod_build_${kernel_version%%___*} | ||
done | ||
|
||
|
||
%build | ||
for kernel_version in %?kernel_versions ; do | ||
mold -run make V=1 %?_smp_mflags -C ${kernel_version##*___} M=${PWD}/_kmod_build_${kernel_version%%___*} modules | ||
for kernel_version in %{?kernel_versions} ; do | ||
make V=1 %{?_smp_mflags} -C ${kernel_version##*___} M=${PWD}/_kmod_build_${kernel_version%%___*} modules | ||
done | ||
|
||
|
||
%install | ||
for kernel_version in %?kernel_versions; do | ||
mkdir -p %{buildroot}%kmodinstdir_prefix/${kernel_version%%___*}/%kmodinstdir_postfix/ | ||
install -Dm755 _kmod_build_${kernel_version%%___*}/v4l2loopback.ko %buildroot%kmodinstdir_prefix/${kernel_version%%___*}/%kmodinstdir_postfix/ | ||
chmod a+x %buildroot%kmodinstdir_prefix/${kernel_version%%___*}/%kmodinstdir_postfix/*.ko | ||
for kernel_version in %{?kernel_versions}; do | ||
mkdir -p %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ | ||
install -D -m 755 _kmod_build_${kernel_version%%___*}/v4l2loopback.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ | ||
chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/*.ko | ||
done | ||
%?akmod_install | ||
%{?akmod_install} | ||
|
||
|
||
%changelog | ||
* Fri Sep 27 2024 Nicolas Chauvet <[email protected]> - 0.13.2-1 | ||
- Update to 0.13.2 | ||
|
||
* Fri Aug 02 2024 RPM Fusion Release Engineering <[email protected]> - 0.13.1-2 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild | ||
|
||
* Thu Mar 21 2024 Leigh Scott <[email protected]> - 0.13.1-1 | ||
- Update to 0.13.1 | ||
|
||
* Sun Feb 04 2024 RPM Fusion Release Engineering <[email protected]> - 0.12.7^20230503g2c9b670-4 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild | ||
|
||
* Fri Nov 24 2023 Nicolas Chauvet <[email protected]> - 0.12.7^20230503g2c9b670-3 | ||
- Rebuilt | ||
|
||
* Wed Aug 02 2023 RPM Fusion Release Engineering <[email protected]> - 0.12.7^20230503g2c9b670-2 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild | ||
|
||
* Tue May 09 2023 Kate Hsuan <[email protected]> - 0.12.7-20230503g2c9b670-1 | ||
- Updated to commit 2c9b67072b15d903fecde67c7f269abeafee4c25 | ||
- The patch is used to prevent the value of byteused field becomes too large | ||
|
||
* Thu Mar 02 2023 Kate Hsuan <[email protected]> - 0.12.7-20230220ga669686-1 | ||
- Updated to commit a66968647843f57448b59cf98d0318f1e98e072c | ||
|
||
* Mon Aug 08 2022 RPM Fusion Release Engineering <[email protected]> - 0.12.7-2 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg | ||
5.1 | ||
|
||
* Fri Aug 05 2022 Leigh Scott <[email protected]> - 0.12.7-1 | ||
- Update to 0.12.7 | ||
|
||
* Wed Feb 09 2022 RPM Fusion Release Engineering <[email protected]> - 0.12.5-6 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild | ||
|
||
* Tue Aug 03 2021 RPM Fusion Release Engineering <[email protected]> - 0.12.5-5 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild | ||
|
||
* Tue Jun 08 2021 Nicolas Chauvet <[email protected]> - 0.12.5-4 | ||
- rebuilt | ||
|
||
* Tue Feb 23 2021 Nicolas Chauvet <[email protected]> - 0.12.5-3 | ||
- Bump spec | ||
|
||
* Mon Feb 15 2021 Nicolas Chauvet <[email protected]> - 0.12.5-2 | ||
- Rework spec file | ||
|
||
* Sat Dec 26 2020 Neal Gompa <[email protected]> - 0.12.5-1 | ||
- Initial packaging |