From 3250d2c69a52c385df2aabc15faf5f3794bcbe04 Mon Sep 17 00:00:00 2001 From: Vitezslav Crhonek Date: Fri, 12 Dec 2025 10:08:18 +0100 Subject: [PATCH] Add support for Image Mode Resolves: RHEL-132484 --- sblim-cmpi-base-1.6.4-image-mode.patch | 88 ++++++++++++++++++++++++++ sblim-cmpi-base.spec | 9 ++- 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 sblim-cmpi-base-1.6.4-image-mode.patch diff --git a/sblim-cmpi-base-1.6.4-image-mode.patch b/sblim-cmpi-base-1.6.4-image-mode.patch new file mode 100644 index 0000000..89ded5d --- /dev/null +++ b/sblim-cmpi-base-1.6.4-image-mode.patch @@ -0,0 +1,88 @@ +diff -up sblim-cmpi-base-1.6.4/provider-register.sh.orig sblim-cmpi-base-1.6.4/provider-register.sh +--- sblim-cmpi-base-1.6.4/provider-register.sh.orig 2025-09-12 09:02:08.864655498 +0200 ++++ sblim-cmpi-base-1.6.4/provider-register.sh 2025-09-12 09:05:12.403814496 +0200 +@@ -221,6 +221,20 @@ pegasus_install() + echo "Failed to build pegasus registration MOF." >&2 + return 1 + fi ++ ++ # Image Mode: Update factory directory with current Pegasus repository state ++ if [ -d /usr/share/factory/var/lib/Pegasus ] ++ then ++ chatter "Image Mode detected: updating tmpfiles factory" ++ if [ -w /usr/share/factory/var/lib ] && [ -r /var/lib/Pegasus ] ++ then ++ rm -rf /usr/share/factory/var/lib/Pegasus && ++ cp -a /var/lib/Pegasus /usr/share/factory/var/lib/Pegasus ++ [ $? -eq 0 ] && chatter "Image Mode: factory directory updated successfully" ++ else ++ echo "Warning: Image Mode factory directory update failed - insufficient permissions" >&2 ++ fi ++ fi + } + + pegasus_uninstall() +@@ -316,6 +330,21 @@ EOFX + EOFE + $WBEMEXEC > /dev/null $_DELETE_NAME + done ++ ++ # Image Mode: Update factory directory with current Pegasus repository state ++ if [ -d /usr/share/factory/var/lib/Pegasus ] ++ then ++ chatter "Image Mode detected: updating tmpfiles factory after uninstall" ++ if [ -w /usr/share/factory/var/lib ] && [ -r /var/lib/Pegasus ] ++ then ++ rm -rf /usr/share/factory/var/lib/Pegasus && ++ cp -a /var/lib/Pegasus /usr/share/factory/var/lib/Pegasus ++ [ $? -eq 0 ] && chatter "Image Mode: factory directory updated successfully" ++ else ++ echo "Warning: Image Mode factory directory update failed - insufficient permissions" >&2 ++ fi ++ fi ++ + else + echo "Sorry, cimserver must be running to deregister the providers." >&2 + return 1 +@@ -433,6 +462,20 @@ sfcb_install() + echo "Failed to build sfcb registration file." >&2 + return 1 + fi ++ ++ # Image Mode: Update factory directory with current sfcb repository state ++ if [ -d /usr/share/factory/var/lib/sfcb ] ++ then ++ chatter "Image Mode detected: updating tmpfiles factory" ++ if [ -w /usr/share/factory/var/lib ] && [ -r /var/lib/sfcb ] ++ then ++ rm -rf /usr/share/factory/var/lib/sfcb && ++ cp -a /var/lib/sfcb /usr/share/factory/var/lib/sfcb ++ [ $? -eq 0 ] && chatter "Image Mode: factory directory updated successfully" ++ else ++ echo "Warning: Image Mode factory directory update failed - insufficient permissions" >&2 ++ fi ++ fi + } + + sfcb_uninstall() +@@ -459,6 +502,20 @@ sfcb_uninstall() + + # Rebuild repository + sfcb_rebuild ++ ++ # Image Mode: Update factory directory with current sfcb repository state ++ if [ -d /usr/share/factory/var/lib/sfcb ] ++ then ++ chatter "Image Mode detected: updating tmpfiles factory after uninstall" ++ if [ -w /usr/share/factory/var/lib ] && [ -r /var/lib/sfcb ] ++ then ++ rm -rf /usr/share/factory/var/lib/sfcb && ++ cp -a /var/lib/sfcb /usr/share/factory/var/lib/sfcb ++ [ $? -eq 0 ] && chatter "Image Mode: factory directory updated successfully" ++ else ++ echo "Warning: Image Mode factory directory update failed - insufficient permissions" >&2 ++ fi ++ fi + } + + openwbem_transform() diff --git a/sblim-cmpi-base.spec b/sblim-cmpi-base.spec index 65fd847..b10133e 100644 --- a/sblim-cmpi-base.spec +++ b/sblim-cmpi-base.spec @@ -2,7 +2,7 @@ Name: sblim-cmpi-base Version: 1.6.4 -Release: 29%{?dist} +Release: 30%{?dist} Summary: SBLIM CMPI Base Providers License: EPL-1.0 @@ -26,6 +26,8 @@ Patch7: sblim-cmpi-base-1.6.4-dont-install-license.patch Patch8: sblim-cmpi-base-1.6.4-fix-get-os-install-date.patch # Patch9: fixes possible null pointer dereferences after strstr calls Patch9: sblim-cmpi-base-1.6.4-fix-possible-null-dereference.patch +# Patch10: adds support for Image Mode +Patch10: sblim-cmpi-base-1.6.4-image-mode.patch Requires: cim-server sblim-indication_helper BuildRequires: make BuildRequires: perl-generators @@ -72,6 +74,7 @@ autoreconf --install --force %patch -P 7 -p1 -b .dont-install-license %patch -P 8 -p1 -b .fix-get-os-install-date %patch -P 9 -p1 -b .fix-possible-null-dereference +%patch -P 10 -p1 -b .image-mode %build %configure --disable-static \ @@ -130,6 +133,10 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/cmpi/*a %postun -p /sbin/ldconfig %changelog +* Fri Dec 12 2025 Vitezslav Crhonek - 1.6.4-30 +- Add support for Image Mode + Resolves: RHEL-132484 + * Wed Nov 27 2024 Vitezslav Crhonek - 1.6.4-29 - Disable test subpackage