Accepting request 1086137 from home:theMarix:branches:games:tools

- Add a new gamemode binary package that provides the command line
  applications gamemoderun and gamemodelist. These were previously
  packaged in the gamemoded package but weren't usable without
  libgamemodeauto0 and libgamemode0 being available, while the
  latter and the daemon can be used without these.
  As a side benefit this now allows you to just do an intuitive
  install of the gamemode package and get the full functionality.
- Add feral.keyring to enable verifying the source signature.

OBS-URL: https://build.opensuse.org/request/show/1086137
OBS-URL: https://build.opensuse.org/package/show/games:tools/gamemode?expand=0&rev=31
This commit is contained in:
Matthias Bach 2023-05-10 22:19:07 +00:00 committed by Git OBS Bridge
parent 5f85021414
commit dceaaf64d8
4 changed files with 102 additions and 4 deletions

52
feral.keyring Normal file
View File

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
k2pbXuk=
=gj5V
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,3 +1,13 @@
# In a perfect world this would be a noarch package. But we cannot make the main package
# noarch as the sub-packages are architecture dependent.
addFilter('gamemode.* no-binary')
# gamemoderun loads the dependency via dlopen, so it cannot be picked up automatically.
addFilter('gamemode.* explicit-lib-dependency libgamemodeauto')
# Gamemode actually has a % in its description.
addFilter('gamemode.* unexpanded-macro %description -l C %command')
# Libgamemodeauto loads the dependency via dlopen, so it cannot be picked up automatically.
addFilter('libgamemodeauto.* explicit-lib-dependency libgamemode')

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Wed May 10 20:35:53 UTC 2023 - Matthias Bach <marix@marix.org> - 1.7
- Add a new gamemode binary package that provides the command line
applications gamemoderun and gamemodelist. These were previously
packaged in the gamemoded package but weren't usable without
libgamemodeauto0 and libgamemode0 being available, while the
latter and the daemon can be used without these.
As a side benefit this now allows you to just do an intuitive
install of the gamemode package and get the full functionality.
- Add feral.keyring to enable verifying the source signature.
-------------------------------------------------------------------
Sat Sep 3 11:47:40 UTC 2022 - Matthias Bach <marix@marix.org> - 1.7

View File

@ -1,7 +1,7 @@
#
# spec file for package gamemode
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2020 Matthias Bach <marix@marix.org>.
#
# All modifications and additions to the file contributed by third parties
@ -29,6 +29,7 @@ Source1: %{URL}/releases/download/%{version}/%{name}-%{version}.tar.xz.as
Source2: gamemode-rpmlintrc
Source3: README.openSUSE
Source4: baselibs.conf
Source5: feral.keyring
Patch0: only-build-shared-library.patch
BuildRequires: cmake
BuildRequires: libinih-devel
@ -40,6 +41,11 @@ BuildRequires: pkgconfig(dbus-1)
# Yes, it needs both
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd)
# We need to explicitly define the dependency as this is used via
# LD_PRELOAD from a shell script and thus cannot be inferred.
Requires: libgamemodeauto0
Provides: gamemoded:%{_bindir}/gamemoderun
Provides: gamemoded:%{_bindir}/gamemodelist
%description
GameMode is a daemon/lib combo for Linux that allows games to request
@ -51,10 +57,20 @@ now able to launch custom user defined plugins, and is intended to be
expanded further, as there are a wealth of automation tasks one might
want to apply.
For applications that don't implement the GameMode activation themselves,
you can toggle the GameMode by running them via the gamemoderun command.
gamemoderun ./game
For Steam games this can be done by editing the launch options:
gamemoderun %%command%%
%package -n gamemoded
Summary: The GameMode daemon required by GameMode enabled games
Group: Amusements/Games/Other
Recommends: libgamemode
Suggests: gamemode
Suggests: libgamemodeauto
%description -n gamemoded
@ -95,6 +111,9 @@ For Steam games this can be done by editing the launch options:
LD_PRELOAD=$LD_PRELOAD:%{_libdir}/libgamemodeauto.so.0 %%command%%
Nowadays this however can be easier done by using the gamemoderun command
from the gamemode package.
%package -n libgamemode-devel
Summary: Headers for compiling games using GameMode
Group: Development/Libraries/C and C++
@ -134,17 +153,22 @@ rm %{buildroot}/%{_sysusersdir}/gamemode.conf
%post -n libgamemodeauto0 -p /sbin/ldconfig
%postun -n libgamemodeauto0 -p /sbin/ldconfig
%files -n gamemoded
%{_bindir}/gamemoded
%files
%{_bindir}/gamemodelist
%{_bindir}/gamemoderun
%{_mandir}/*/gamemodelist*
%{_mandir}/*/gamemoderun*
%license LICENSE.txt
%files -n gamemoded
%{_bindir}/gamemoded
%{_libexecdir}/cpugovctl
%{_libexecdir}/gpuclockctl
%{_userunitdir}/gamemoded.service
%{_datadir}/polkit-1/actions/com.feralinteractive.GameMode.policy
%{_datadir}/dbus-1/services/com.feralinteractive.GameMode.service
%{_datadir}/metainfo/io.github.feralinteractive.gamemode.metainfo.xml
%{_mandir}/*/*
%{_mandir}/*/gamemoded*
%doc example/gamemode.ini README.openSUSE
%license LICENSE.txt