Skip to content

Commit

Permalink
uhhhhh update?
Browse files Browse the repository at this point in the history
  • Loading branch information
madonuko committed Oct 22, 2024
1 parent 92f8571 commit 4e42a20
Showing 1 changed file with 94 additions and 28 deletions.
122 changes: 94 additions & 28 deletions anda/fusion/kmod-v4l2loopback/kmod-v4l2loopback.spec
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

0 comments on commit 4e42a20

Please sign in to comment.