File gamescope-session-steam-system-update.spec of Package gamescope-session-steam-system-update
#
# spec file for package gamescope-session-steam-system-update
#
# 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/
#
Name: gamescope-session-steam-system-update
Version: 0+git20260123.800d504
Release: 0
Summary: Support for system updates within gamescope-session-steam
License: GPL-3.0-only
URL: https://github.com/YugaLinux/gamescope-session-steam-system-update
Requires: gamescope-session-steam-shared
Recommends: gamescope-session-steam
Supplements: gamescope-session-steam
BuildRequires: gamescope-session-steam-shared
BuildRequires: polkit
Requires: polkit
BuildArch: noarch
Source0: %{name}-%{version}.tar.xz
Source1: %{name}.rpmlintrc
%description
Tools to support updating the system from within gamescope-session-steam.
This package only provides the framework to allow other packages to actually
support updating the system with their custom logic.
%package backend-transactional-update
Summary: Implementation of system updates through transactional-update
Requires: gamescope-session-steam-system-update = %{version}
Requires: gamescope-session-steam-system-update-branch-config
Requires: transactional-update
Supplements: gamescope-session-steam-system-update
Provides: gamescope-session-steam-system-update-backend
Conflicts: gamescope-session-steam-system-update-backend
%description backend-transactional-update
This package provides the tools to update a system using transactional-update
%package branch-config-generic
Summary: Example branch selection implementation
Requires: gamescope-session-steam-system-update = %{version}
Supplements: gamescope-session-steam-system-update
Provides: gamescope-session-steam-system-update-branch-config
Conflicts: gamescope-session-steam-system-update-branch-config
%description branch-config-generic
This package provides example branch selection implementation.
It contains three empty branch configs for the official SteamOS
branches rel, beta and rc.
%prep
%autosetup -p1
%build
%install
# Config
install -d -m 0755 %{buildroot}%{_sysconfdir}/gamescope-session-steam
install -m 0644 etc/gamescope-session-steam/source.conf %{buildroot}%{_sysconfdir}/gamescope-session-steam/source.conf
# Libexec scripts
install -d -m 0755 %{buildroot}%{_libexecdir}/gamescope-session-steam
install -m 0755 usr/libexec/gamescope-session-steam/system-select-branch %{buildroot}%{_libexecdir}/gamescope-session-steam/system-select-branch
# Backend implementation
install -m 0755 usr/libexec/gamescope-session-steam/system-updater %{buildroot}%{_libexecdir}/gamescope-session-steam/system-updater
# Polkit helper scripts and convenience links/wrappers
install -d -m 0755 %{buildroot}%{_bindir}/steamos-polkit-helpers
install -m 0755 usr/bin/steamos-polkit-helpers/steamos-select-branch %{buildroot}%{_bindir}/steamos-polkit-helpers/steamos-select-branch
install -m 0755 usr/bin/steamos-polkit-helpers/steamos-update %{buildroot}%{_bindir}/steamos-polkit-helpers/steamos-update
install -m 0755 usr/bin/steamos-select-branch %{buildroot}%{_bindir}/steamos-select-branch
install -m 0755 usr/bin/steamos-update %{buildroot}%{_bindir}/steamos-update
# Polkit policy
install -d -m 0755 %{buildroot}%{_datadir}/polkit-1/actions
install -m 0644 usr/share/polkit-1/actions/org.gamescope-session-steam-system-update.update.policy %{buildroot}%{_datadir}/polkit-1/actions/org.gamescope-session-steam-system-update.update.policy
install -m 0644 usr/share/polkit-1/actions/org.gamescope-session-steam-system-update.select-branch.policy %{buildroot}%{_datadir}/polkit-1/actions/org.gamescope-session-steam-system-update.select-branch.policy
# Branch configs
install -d -m 0755 %{buildroot}%{_prefix}/lib/gamescope-session-steam
install -m 0644 usr/lib/gamescope-session-steam/beta.conf %{buildroot}%{_prefix}/lib/gamescope-session-steam/beta.conf
install -m 0644 usr/lib/gamescope-session-steam/rc.conf %{buildroot}%{_prefix}/lib/gamescope-session-steam/rc.conf
install -m 0644 usr/lib/gamescope-session-steam/rel.conf %{buildroot}%{_prefix}/lib/gamescope-session-steam/rel.conf
%files
%license LICENSE
%doc README.md
%config(noreplace) %{_sysconfdir}/gamescope-session-steam/source.conf
%{_bindir}/steamos-polkit-helpers/steamos-update
%{_bindir}/steamos-polkit-helpers/steamos-select-branch
%files backend-transactional-update
%{_bindir}/steamos-update
%{_libexecdir}/gamescope-session-steam/system-updater
%{_datadir}/polkit-1/actions/org.gamescope-session-steam-system-update.update.policy
%files branch-config-generic
%{_bindir}/steamos-select-branch
%{_libexecdir}/gamescope-session-steam/system-select-branch
%{_prefix}/lib/gamescope-session-steam/beta.conf
%{_prefix}/lib/gamescope-session-steam/rc.conf
%{_prefix}/lib/gamescope-session-steam/rel.conf
%{_datadir}/polkit-1/actions/org.gamescope-session-steam-system-update.select-branch.policy
%changelog