clevo-keyboard/src_pkg/rpm_pkg.spec

189 lines
7 KiB
RPMSpec
Raw Normal View History

%define module module-name
#
# spec file for package tuxedo-keyboard
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
2020-05-19 15:42:50 +02:00
Summary: Kernel module for TUXEDO keyboards
Name: %{module}
Version: x.x.x
Release: x
License: GPLv3+
Group: Hardware/Other
BuildArch: noarch
Url: https://www.tuxedocomputers.com
Source: %{module}-%{version}.tar.bz2
2020-04-14 10:06:29 +02:00
Provides: tuxedo_keyboard = %{version}-%{release}
Obsoletes: tuxedo_keyboard < %{version}-%{release}
Obsoletes: tuxedo-xp-xc-touchpad-key-fix
Obsoletes: tuxedo-touchpad-fix <= 1.0.1
Obsoletes: tuxedo-cc-wmi
Requires: dkms >= 1.95
BuildRoot: %{_tmppath}
Packager: TUXEDO Computers GmbH <tux@tuxedocomputers.com>
%description
2020-05-20 13:15:05 +02:00
Keyboard & keyboard backlight driver for TUXEDO notebooks
meant for DKMS framework.
%prep
%setup -n %{module}-%{version} -q
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/usr/src/%{module}-%{version}/
cp dkms.conf Makefile %{buildroot}/usr/src/%{module}-%{version}
cp -R src/ %{buildroot}/usr/src/%{module}-%{version}
mkdir -p %{buildroot}/usr/share/
mkdir -p %{buildroot}/usr/share/%{module}/
cp postinst %{buildroot}/usr/share/%{module}
cp tuxedo_keyboard.conf %{buildroot}/usr/share/%{module}
%clean
rm -rf %{buildroot}
%files
%defattr(0644,root,root,0755)
%attr(0755,root,root) /usr/src/%{module}-%{version}/
%attr(0644,root,root) /usr/src/%{module}-%{version}/*
%attr(0755,root,root) /usr/src/%{module}-%{version}/src/
%attr(0644,root,root) /usr/src/%{module}-%{version}/src/*
%attr(0755,root,root) /usr/src/%{module}-%{version}/src/tuxedo_io/
%attr(0644,root,root) /usr/src/%{module}-%{version}/src/tuxedo_io/*
%attr(0755,root,root) /usr/share/%{module}/
%attr(0755,root,root) /usr/share/%{module}/postinst
%attr(0644,root,root) /usr/share/%{module}/tuxedo_keyboard.conf
%license LICENSE
%post
for POSTINST in /usr/lib/dkms/common.postinst /usr/share/%{module}/postinst; do
if [ -f $POSTINST ]; then
$POSTINST %{module} %{version} /usr/share/%{module}
RET=$?
# Attempt to (re-)load module immediately, fail silently if not possible at this stage
# Also stop tccd service if running before
echo "Check tccd running status"
if systemctl is-active --quiet tccd.service; then
TCCD_RUNNING=true
else
TCCD_RUNNING=false
fi
if $TCCD_RUNNING; then
echo "Stop tccd temporarily"
systemctl stop tccd 2>&1 || true
fi
% Explicitly unload old tuxedo_cc_wmi if loaded at this point
rmmod tuxedo_cc_wmi > /dev/null 2>&1 || true
echo "(Re)load modules if possible"
rmmod tuxedo_io > /dev/null 2>&1 || true
rmmod clevo_wmi > /dev/null 2>&1 || true
rmmod clevo_acpi > /dev/null 2>&1 || true
rmmod tuxedo_keyboard > /dev/null 2>&1 || true
modprobe tuxedo_keyboard > /dev/null 2>&1 || true
modprobe clevo_wmi > /dev/null 2>&1 || true
modprobe clevo_acpi > /dev/null 2>&1 || true
modprobe tuxedo_io > /dev/null 2>&1 || true
# Install default config if none exist already
if [ ! -f "/etc/modprobe.d/tuxedo_keyboard.conf" ]; then
cp -f /usr/share/tuxedo-keyboard/tuxedo_keyboard.conf /etc/modprobe.d/tuxedo_keyboard.conf
fi
# Restart tccd after reload if it was running
if $TCCD_RUNNING; then
echo "Start tccd again"
systemctl start tccd 2>&1 || true
fi
exit $RET
fi
echo "WARNING: $POSTINST does not exist."
done
echo -e "ERROR: DKMS version is too old and %{module} was not"
echo -e "built with legacy DKMS support."
echo -e "You must either rebuild %{module} with legacy postinst"
echo -e "support or upgrade DKMS to a more current version."
exit 1
%preun
echo -e
echo -e "Uninstall of %{module} module (version %{version}-%{release}) beginning:"
dkms remove -m %{module} -v %{version} --all --rpm_safe_upgrade
if [ $1 != 1 ];then
/usr/sbin/rmmod %{module} > /dev/null 2>&1 || true
rm -f /etc/modprobe.d/tuxedo_keyboard.conf || true
fi
exit 0
%changelog
2021-03-19 15:28:19 +01:00
* Fri Mar 19 2021 C Sandberg <tux@tuxedocomputers.com> 3.0.4-1
- Fixed various possible race conditions on driver init
- Added IBS14v5 to perf. profile workaround
- Added new Aura board name to perf. profile workaround
- Fixed non-initialized firmware fan curve for silent mode (UW)
- Changed default perf. profile to balanced (UW)
2021-03-05 13:28:37 +01:00
* Fri Mar 5 2021 C Sandberg <tux@tuxedocomputers.com> 3.0.3-1
- Added XP14 to perf. profile workaround
* Fri Jan 29 2021 C Sandberg <tux@tuxedocomputers.com> 3.0.2-1
- Fixed clevo keyboard init order
- Added Aura perf. profile workaround
* Mon Dec 21 2020 C Sandberg <tux@tuxedocomputers.com> 3.0.1-1
- Added device support (Trinity)
- Fixed uw fan ramp up issues to some extent (workaround)
* Wed Dec 9 2020 C Sandberg <tux@tuxedocomputers.com> 3.0.0-1
- Changed structure of clevo interfaces
- Added separate clevo-wmi module with existing functionality
- Added clevo-acpi module with implementation of the "new" clevo ACPI interface
- Added tuxedo-io module (former tuxedo-cc-wmi) into package
2020-11-13 12:47:04 +01:00
* Fri Nov 13 2020 C Sandberg <tux@tuxedocomputers.com> 2.1.0-1
- Added device support (XMG Fusion)
- Added uniwill lightbar driver (with led_classdev interface)
- Added uniwill keymapping brightness up/down
- Fixed uniwill touchpad toggle (some platforms)
- Fixed module cleanup crash
* Fri Sep 25 2020 C Sandberg <tux@tuxedocomputers.com> 2.0.6-1
- Added uw kbd color backlight support
2020-06-18 10:50:13 +02:00
* Thu Jun 18 2020 C Sandberg <tux@tuxedocomputers.com> 2.0.5-1
- Restructure to allow for more devices
- Added device support
- Added rudimentary device detection
2020-05-26 14:12:47 +02:00
* Tue May 26 2020 C Sandberg <tux@tuxedocomputers.com> 2.0.4-1
- Added rfkill key event
- Fix volume button events, ignore
* Tue May 19 2020 C Sandberg <tux@tuxedocomputers.com> 2.0.3-1
- General key event mapping support
- Events added for backlight and touchpad
- Fix not removing module on rpm update
* Tue Apr 14 2020 C Sandberg <tux@tuxedocomputers.com> 2.0.2-0
2020-04-14 10:06:29 +02:00
- Mark old named packages as conflicting and obsolete
- Fix not restoring state on resume
- Fix autoload issues
- Add standard config tuxedo_keyboard.conf to package
* Tue Mar 17 2020 C Sandberg <tux@tuxedocomputers.com> 2.0.1-0
- New packaging
* Wed Dec 18 2019 Richard Sailer <tux@tuxedocomputers.com> 2.0.0-1
2020-03-17 17:05:38 +01:00
- Initial DKMS package for back-lit keyboard 2nd generation