%define _version 0.0.1 %define _release 1.35.8c5460c %define _user digital-cockpit %define _group digital-cockpit %define _uid 1020 %define _gid 1020 %global debug_package %{nil} Name: qm-digital-cockpit Version: %{_version} Release: %{_release}%{?dist} Summary: qm-digital-cockpit files and services License: MIT URL: http://fedoraproject.org/ Source: %{name}-%{version}-%{_release}.tar.xz BuildRequires: meson BuildRequires: systemd BuildRequires: systemd-rpm-macros BuildArch: noarch Requires(pre): /usr/sbin/useradd, /usr/bin/getent, /usr/bin/mkdir, /usr/bin/chown Requires: xdg-dbus-proxy %description This package contains the qm-digital-cockpit assets %package selinux-policy Summary: SELinux policy module for %{name} BuildRequires: selinux-policy BuildRequires: selinux-policy-devel BuildRequires: make BuildArch: noarch %{?selinux_requires} %description selinux-policy This package contains the SELinux policy module for %{name}. %package qm-layer Summary: QM layer assets for %{name} BuildArch: noarch %description qm-layer This package contains QM layer assets for %{name}. %package android-vm Summary: Android vm container for %{name} BuildArch: noarch %description android-vm This package contains the Android vm container for %{name}. %package dms Summary: Driver Monitoring System container for %{name} BuildArch: noarch %description dms This package contains the Driver Monitoring System container for %{name}. %package instrument-cluster Summary: Instrument Cluster container for %{name} BuildArch: noarch %description instrument-cluster This package contains the Instrument Cluster container for %{name}. %package ivi Summary: In-vehicle infotainment container for %{name} BuildArch: noarch %description ivi This package contains the In-vehicle infotainment container for %{name}. %package wayland-compositor Summary: Wayland compositor container for %{name} BuildArch: noarch %description wayland-compositor This package contains the Wayland compositor container for %{name}. %package wayland-compositor-native Summary: Wayland compositor for %{name} BuildArch: noarch Requires: weston %description wayland-compositor-native This package contains the Wayland compositor for %{name}. %prep %autosetup -p1 -n %{name}-%{version}-%{_release} %build %meson \ -Ddc_user=%{_user} \ -Ddc_group=%{_group} \ -Ddc_uid=%{_uid} \ -Ddc_uid=%{_gid} \ %{nil} %meson_build %install %meson_install %pre if [ $1 = 1 ]; then # Initial installation /usr/bin/getent group %{_group} >/dev/null || /usr/sbin/groupadd -g %{_gid} %{_group} if ! /usr/bin/getent passwd %{_user} >/dev/null ; then /usr/sbin/useradd -u %{_uid} -g %{_group} -m -d %{_sharedstatedir}/%{_user} -c "%{name}" %{_user} fi fi %post %systemd_post digital-cockpit.service %systemd_user_post dbus-broker.service %systemd_user_post dbus.socket %systemd_user_post qm-session-bus-proxy.service %systemd_user_post qm-system-bus-proxy.service %preun %systemd_preun digital-cockpit.service %systemd_user_preun dbus-broker.service %systemd_user_preun dbus.socket %systemd_user_preun qm-session-bus-proxy.service %systemd_user_preun qm-system-bus-proxy.service %post selinux-policy %selinux_modules_install %{_datadir}/selinux/packages/qm-digital-cockpit.pp.bz2 %postun selinux-policy if [ $1 -eq 0 ]; then %selinux_modules_uninstall %{_datadir}/selinux/packages/qm-digital-cockpit.pp.bz2 fi %pre qm-layer if [ $1 = 1 ]; then # Initial installation /usr/bin/getent group %{_group} >/dev/null || /usr/sbin/groupadd -g %{_gid} %{_group} if ! /usr/bin/getent passwd %{_user} >/dev/null ; then /usr/sbin/useradd -u %{_uid} -g %{_group} -m -d %{_sharedstatedir}/%{_user} -c "%{name}" %{_user} fi fi %post wayland-compositor-native %systemd_user_post wayland-compositor.service %systemd_user_post wayland-compositor.socket %preun wayland-compositor-native %systemd_user_preun wayland-compositor.service %systemd_user_preun wayland-compositor.socket %files %license LICENSE %attr(0644,root,root) %{_sysconfdir}/pam.d/digital-cockpit-autologin %attr(0644,root,root) %{_prefix}/lib/systemd/system/digital-cockpit.service %attr(0644,root,root) %{_prefix}/lib/systemd/user/digital-cockpit-session.target %attr(0644,root,root) %{_prefix}/lib/systemd/user/qm-session-bus-proxy.service %attr(0644,root,root) %{_prefix}/lib/systemd/user/qm-system-bus-proxy.service %attr(0644,root,root) %{_prefix}/lib/systemd/system-preset/50-digital-cockpit.preset %attr(0644,root,root) %{_prefix}/lib/systemd/user-preset/50-digital-cockpit.preset %files selinux-policy %defattr(-,root,root,0755) %attr(0644,root,root) %{_datadir}/selinux/packages/qm-digital-cockpit.pp.bz2 %attr(0644,root,root) %{_datadir}/selinux/devel/include/contrib/qm-digital-cockpit.if %files qm-layer %files android-vm %defattr(-,root,root,0755) %attr(0644,root,root) %{_sysconfdir}/containers/systemd/android-vm.container %files dms %defattr(-,root,root,0755) %attr(0644,root,root) %{_sysconfdir}/containers/systemd/dms.container %files instrument-cluster %defattr(-,root,root,0755) %attr(0644,root,root) %{_sysconfdir}/containers/systemd/instrument-cluster.container %files ivi %defattr(-,root,root,0755) %attr(0644,root,root) %{_sysconfdir}/containers/systemd/ivi.container %files wayland-compositor %defattr(-,root,root,0755) %attr(0644,root,root) %{_sysconfdir}/containers/systemd/wayland-compositor.container %files wayland-compositor-native %attr(0644,root,root) %{_prefix}/lib/systemd/user/wayland-compositor.service %attr(0644,root,root) %{_prefix}/lib/systemd/user/wayland-compositor.socket %changelog * Fri Nov 10 2023 Roberto Majadas -