Add support for Image Mode

Resolves: RHEL-90737
This commit is contained in:
Vitezslav Crhonek 2025-09-26 10:21:36 +02:00
parent 7fa1ece915
commit 341ce043b9
3 changed files with 29 additions and 10 deletions

View File

@ -3,12 +3,10 @@
%global srcname pegasus
%global major_ver 2.14
%global pegasus_gid 65
%global pegasus_uid 66
Name: tog-pegasus
Version: %{major_ver}.1
Release: 65%{?dist}
Release: 66%{?dist}
Epoch: 2
Summary: OpenPegasus WBEM Services for Linux
@ -38,6 +36,8 @@ Source10: generate-certs
Source11: snmptrapd.conf
# 12: repupgrade man page based on pegasus/src/Clients/repupgrade/doc/repupgrade.html
Source12: repupgrade.1.gz
# 13: sysusers conf file for dynamic creation of the 'pegasus' user and group
Source13: tog-pegasus.sysusers
# 1: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5011
# Removing insecure -rpath
@ -116,7 +116,7 @@ BuildRequires: bash, sed, grep, coreutils, procps, gcc, gcc-c++
BuildRequires: libstdc++, make, pam-devel
BuildRequires: openssl-devel
BuildRequires: net-snmp-devel, openslp-devel
BuildRequires: systemd-units
BuildRequires: systemd-units systemd-rpm-macros
Requires: net-snmp-libs
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: openssl
@ -134,8 +134,7 @@ sources.
%package devel
Summary: The OpenPegasus Software Development Kit
Requires: tog-pegasus >= %{version}-%{release}
Obsoletes: tog-pegasus-sdk
Requires: tog-pegasus >= %{epoch}:%{version}-%{release}
%description devel
The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the
@ -156,7 +155,7 @@ The OpenPegasus libraries.
%if %{PEGASUS_BUILD_TEST_RPM}
%package test
Summary: The OpenPegasus Tests
Requires: tog-pegasus >= %{version}-%{release}, make
Requires: tog-pegasus >= %{epoch}:%{version}-%{release}, make
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
%description test
@ -370,6 +369,9 @@ install -p Schemas/CIM238/DMTF/Core/CIM_AbstractComponent.mof $RPM_BUILD_ROOT/us
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man1/
cp %SOURCE12 ${RPM_BUILD_ROOT}/%{_mandir}/man1/
# install sysusers conf file
install -p -D -m 0644 %{SOURCE13} %{buildroot}%{_sysusersdir}/tog-pegasus.conf
%check
# run unit tests
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/%{_lib}
@ -442,6 +444,7 @@ rm $RPM_BUILD_ROOT/usr/share/Pegasus/test/testtracer4.trace.0
/usr/share/Pegasus/html
%files libs
%{_sysusersdir}/tog-pegasus.conf
%defattr(0755, root, pegasus, 0755)
%{_libdir}/*
%exclude /usr/lib/debug
@ -493,6 +496,8 @@ if [ $1 -ge 1 ]; then
fi;
/bin/systemctl try-restart tog-pegasus.service >/dev/null 2>&1 || :;
fi;
# copy content of /var/lib/Pegasus to temporary place for Image Mode
(mkdir -p /usr/share/factory/var/lib && cp -a /var/lib/Pegasus /usr/share/factory/var/lib/Pegasus) >/dev/null 2>&1 || :;
fi
:;
@ -501,6 +506,7 @@ fi
if [ $1 -eq 0 ]; then
# Package removal, not upgrade
rm -rf /var/run/tog-pegasus
rm -rf /usr/share/factory/var/lib/Pegasus
fi
:;
@ -517,9 +523,9 @@ fi
%pre libs
if [ $1 -eq 1 ]; then
# first install: create the 'pegasus' user and group:
/usr/sbin/groupadd -g %{pegasus_gid} -f -r pegasus >/dev/null 2>&1 || :;
/usr/sbin/useradd -u %{pegasus_uid} -r -N -M -g pegasus -s /sbin/nologin -d /var/lib/Pegasus \
-c "tog-pegasus OpenPegasus WBEM/CIM services" pegasus >/dev/null 2>&1 || :;
{
%sysusers_create_compat %{SOURCE13}
} >/dev/null 2>&1 || :;
fi
:;
@ -565,6 +571,13 @@ fi
%changelog
* Fri Sep 26 2025 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-66
- Use systemd-sysusers for the 'pegasus' user and group creation
- Fix Requires of subpackages
Related: RHEL-90737
- Add support for Image Mode
Resolves: RHEL-90737
* Fri Apr 11 2025 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-65
- Update OpenSSL certificates set up
Resolves: RHEL-81721

3
tog-pegasus.sysusers Normal file
View File

@ -0,0 +1,3 @@
#Type Name ID GECOS Home directory Shell
g pegasus 65
u pegasus 66 "tog-pegasus OpenPegasus WBEM/CIM services" /var/lib/Pegasus /sbin/nologin

View File

@ -1 +1,4 @@
d /run/tog-pegasus 1750 root pegasus -
# populate /var/lib/Pegaus with content from /usr/share/factory/var/lib/Pegasus
C /var/lib/Pegasus - - - -