File acpi_call-dkms.spec of Package acpi_call-dkms
#
# spec file for package acpi_call-dkms
#
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define modname acpi_call
Name: %{modname}-dkms
Version: 1.2.2
Release: 0
Summary: The acpi-call kernel module
License: GPL-3.0-or-later
Group: System/Kernel
URL: https://github.com/nix-community/acpi_call
Source: %{modname}-%{version}.tar.gz
BuildRequires: %{kernel_module_package_buildreqs}
# %%kernel_module_package
# Source1: %%{name}-rpmlintrc
# Patch1: fixacpi.patch
%if 0%{?suse_version}
Conflicts: acpi_call-kmp
Conflicts: acpi_call-kmp-default
Conflicts: acpi_call-kmp-desktop
Conflicts: acpi_call-kmp-pae
Conflicts: acpi_call-kmp-xen
%endif
Requires: binutils
Requires: gcc
Requires: make
%if 0%{?mdkversion}
Requires: dkms-minimal
%else
Requires: dkms
%endif
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
A kernel module that enables you to call ACPI methods by writing the method
name followed by arguments to /proc/acpi/call, for example to turn off discrete
graphics card in a dual graphics environment (like NVIDIA Optimus).
%prep
%setup -q -n %{modname}-%{version}
# %%patch1 -p1
%build
%install
rm -rf %{buildroot}
#
mkdir -p %{buildroot}/usr/share/doc/packages/%{name}
mv README.md %{buildroot}/usr/share/doc/packages/%{name}
mv examples %{buildroot}/usr/share/doc/packages/%{name}
# install dkms sources
mkdir -p %{buildroot}/usr/src/%{modname}-%{version}-%{release}
cp -R * %{buildroot}/usr/src/%{modname}-%{version}-%{release}/
cat > %{buildroot}/usr/src/%{modname}-%{version}-%{release}/dkms.conf << EOF
PACKAGE_NAME=%{modname}
PACKAGE_VERSION=%{version}-%{release}
MAKE[0]="make -C \${kernel_source_dir} M=\${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build modules"
DEST_MODULE_LOCATION[0]="/updates"
BUILT_MODULE_NAME[0]=%{modname}
AUTOINSTALL="yes"
EOF
%posttrans
set -x
if [ -x /usr/sbin/dkms ] ; then
/usr/sbin/dkms add -m %{modname} -v %{version}-%{release} --rpm_safe_upgrade
/usr/sbin/dkms build -m %{modname} -v %{version}-%{release}
/usr/sbin/dkms install -m %{modname} -v %{version}-%{release}
fi
%preun
# rmmod can fail
if [ -x /sbin/rmmod ] ; then
/sbin/rmmod %{modname} || :
fi
set -x
if [ -x /usr/sbin/dkms ] ; then
/usr/sbin/dkms remove -m %{modname} -v %{version}-%{release} --all --rpm_safe_upgrade || :
fi
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%dir /usr/src/%{modname}-%{version}-%{release}
/usr/share/doc/packages/%{name}
/usr/src/%{modname}-%{version}-%{release}/*
%changelog