Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package open-vm-tools for openSUSE:Factory 
checked in at 2025-06-27 23:00:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/open-vm-tools (Old)
 and      /work/SRC/openSUSE:Factory/.open-vm-tools.new.7067 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "open-vm-tools"

Fri Jun 27 23:00:34 2025 rev:134 rq:1288358 version:13.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/open-vm-tools/open-vm-tools.changes      
2025-05-15 17:00:00.974778212 +0200
+++ /work/SRC/openSUSE:Factory/.open-vm-tools.new.7067/open-vm-tools.changes    
2025-06-27 23:01:24.281501651 +0200
@@ -1,0 +2,44 @@
+Fri Jun 20 20:59:21 UTC 2025 - Kirk Allan <kal...@suse.com>
+
+- Update to open-vm-tools 13.0.0 based on build 24696409. (boo#1245169): 
+
+  There are no new features in the open-vm-tools 13.0.0 release.  This is
+  primarily a maintenance release that addresses a few issues, including:
+  - The vm-support script has been updated to collect the open-vm-tools log
+    files from the Linux guest and information from the systemd journal.
+  - Github pull requests has been integrated and issues fixed.  Please see
+    the Resolved Issues section of the Release Notes.
+
+  For a more complete list of issues resolved in this release, see the
+  Resolved Issues section of the Release Notes.
+
+  For complete details, see:
+    https://github.com/vmware/open-vm-tools/releases/tag/stable-13.0.0
+
+  Release Notes are available at:
+    https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md
+
+  The granular changes that have gone into the 13.0.0 release are in the
+  ChangeLog at:
+    
https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/open-vm-tools/ChangeLog
+
+- Add patch:
+  0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
+  Currently the "telinit 6" command is used to reboot a Linux VM
+  following Guest OS Customization.  As the classic Linux init system,
+  SysVinit, is deprecated in favor of a newer init system, systemd,
+  the telinit command may not be available on the base Linux OS.
+
+  This change adds support to Guest OS Customization for the systemd init
+  system.  If the modern init system, systemd, is available, then a
+  "systemctl reboot" command will be used to trigger reboot.  Otherwise,
+  the "telinit 6" command will be used assuming the traditional init
+  system, SysVinit, is still available.
+
+- Drop patch now contained in 13.0.0:
+  open-vm-tools-12.5.0-gcc15.patch
+
+- Ran /usr/lib/obs/service/source_validators/helpers/fix_changelog to fix 
changes
+  file where source validator was failing.
+
+-------------------------------------------------------------------
@@ -2029 +2073 @@
-------------------------------------------------------------------
+-------------------------------------------------------------------
@@ -2078 +2122 @@
-------------------------------------------------------------------
+-------------------------------------------------------------------
@@ -2120 +2163,0 @@
--------------------------------------------------------------------
@@ -2121,0 +2165 @@
+-------------------------------------------------------------------

Old:
----
  open-vm-tools-12.5.0-gcc15.patch
  open-vm-tools-12.5.2.obscpio

New:
----
  0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
  open-vm-tools-13.0.0.obscpio

----------(Old B)----------
  Old:- Drop patch now contained in 13.0.0:
  open-vm-tools-12.5.0-gcc15.patch
----------(Old E)----------

----------(New B)----------
  New:- Add patch:
  0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
  Currently the "telinit 6" command is used to reboot a Linux VM
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ open-vm-tools.spec ++++++
--- /var/tmp/diff_new_pack.bWpGrx/_old  2025-06-27 23:01:25.177538579 +0200
+++ /var/tmp/diff_new_pack.bWpGrx/_new  2025-06-27 23:01:25.177538579 +0200
@@ -38,7 +38,7 @@
 %define with_X 1
 
 Name:           open-vm-tools
-Version:        12.5.2
+Version:        13.0.0
 Release:        0
 Summary:        Open Virtual Machine Tools
 License:        BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
@@ -159,7 +159,7 @@
 Supplements:    modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
 ExclusiveArch:  %ix86 x86_64 aarch64
 #Upstream patches
-Patch42:        open-vm-tools-12.5.0-gcc15.patch
+Patch2:         0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch
 
 #SUSE specific patches
 Patch0:         pam-vmtoolsd.patch
@@ -262,7 +262,7 @@
 # fix for an rpmlint warning regarding wrong line feeds
 sed -i -e "s/\r//" README
 #Upstream patches
-%patch -P 42 -p2
+%patch -P 2 -p2
 
 #SUSE specific patches
 %patch -P 0 -p2

++++++ 0001-GOSC-Update-Guest-OS-Customization-to-utilize-system.patch ++++++
>From ea918ed50bed323eb78c7dba805250983aa4d7d4 Mon Sep 17 00:00:00 2001
From: John Wolfe <john.wo...@broadcom.com>
Date: Sat, 19 Apr 2025 09:04:47 -0700
Subject: [PATCH] [GOSC] Update Guest OS Customization to utilize systemd
 system init

Currently the "telinit 6" command is used to reboot a Linux VM
following Guest OS Customization.  As the classic Linux init system,
SysVinit, is deprecated in favor of a newer init system, systemd,
the telinit command may not be available on the base Linux OS.

This change adds support to Guest OS Customization for the systemd init
system.  If the modern init system, systemd, is available, then a
"systemctl reboot" command will be used to trigger reboot.  Otherwise,
the "telinit 6" command will be used assuming the traditional init
system, SysVinit, is still available.
---
 open-vm-tools/libDeployPkg/linuxDeployment.c | 90 ++++++++------------
 1 file changed, 35 insertions(+), 55 deletions(-)

diff --git a/open-vm-tools/libDeployPkg/linuxDeployment.c 
b/open-vm-tools/libDeployPkg/linuxDeployment.c
index d31d52927..0ce973c81 100644
--- a/open-vm-tools/libDeployPkg/linuxDeployment.c
+++ b/open-vm-tools/libDeployPkg/linuxDeployment.c
@@ -121,6 +121,9 @@ static const char* VARRUNDIR       = "/var/run";
 static const char* VARRUNIMCDIR    = "/var/run/vmware-imc";
 #endif
 static const char* TMPDIR          = "/tmp";
+static const char* USRBINSYSTEMCTL = "/usr/bin/systemctl";
+static const char* BINSYSTEMCTL    = "/bin/systemctl";
+static const char* SBINTELINIT     = "/sbin/telinit";
 
 // Possible return codes from perl script
 static const int CUST_SUCCESS       = 0;
@@ -196,7 +199,6 @@ static Bool CopyFileIfExist(const char* sourcePath,
 static void GetCloudinitVersion(const char* versionOutput,
                                 int* major,
                                 int* minor);
-static Bool IsTelinitASoftlinkToSystemctl(void);
 
 /*
  * Globals
@@ -1673,28 +1675,43 @@ Deploy(const char* packageName)
          sLog(log_error, "Failed to fork: '%s'.", strerror(errno));
       } else if (pid == 0) {
          // We're in the child
+         char rebootCommand[1024];
          int rebootCommandResult;
+         bool isSystemd = false;
          bool isRebooting = false;
-         // Retry reboot until telinit 6 succeeds to workaround PR 2716292 
where
-         // telinit is a soft(symbolic) link to systemctl and it could exit
-         // abnormally due to systemd sends SIGTERM
-         bool retryReboot = IsTelinitASoftlinkToSystemctl();
+         // PR 3438671, using different command to reboot modern systemd linux
+         // or traditional SysVinit linux
+         // Repeatedly try to reboot to workaround PR 2716292 on modern systemd
+         // linux where systemctl reboot could exit abnormally due to systemd
+         // sends SIGTERM
+         // Repeatedly try to reboot to workaround PR 530641 on traditional
+         // SysVinit linux where telinit 6 is overwritten by a telinit 2
+         if (access(USRBINSYSTEMCTL, X_OK) == 0) {
+            isSystemd = true;
+            Str_Snprintf(rebootCommand, sizeof(rebootCommand), "%s reboot",
+                         USRBINSYSTEMCTL);
+         } else if (access(BINSYSTEMCTL, X_OK) == 0) {
+            isSystemd = true;
+            Str_Snprintf(rebootCommand, sizeof(rebootCommand), "%s reboot",
+                         BINSYSTEMCTL);
+         } else {
+            Str_Snprintf(rebootCommand, sizeof(rebootCommand), "%s 6",
+                         SBINTELINIT);
+         }
          sLog(log_info, "Trigger reboot.");
-         // Repeatedly try to reboot to workaround PR 530641 where
-         // telinit 6 is overwritten by a telinit 2
          do {
             if (isRebooting) {
                sLog(log_info, "Rebooting.");
             }
             rebootCommandResult =
-               ForkExecAndWaitCommand("/sbin/telinit 6", true, NULL, 0);
+               ForkExecAndWaitCommand(rebootCommand, true, NULL, 0);
             isRebooting = (rebootCommandResult == 0) ? true : isRebooting;
             sleep(1);
-         } while (rebootCommandResult == 0 || (retryReboot && !isRebooting));
+         } while (rebootCommandResult == 0 || (isSystemd && !isRebooting));
          if (!isRebooting) {
             sLog(log_error,
-                 "Failed to reboot, reboot command returned error %d.",
-                 rebootCommandResult);
+                 "Failed to reboot, reboot command %s returned error %d.",
+                 rebootCommand, rebootCommandResult);
             exit (127);
          } else {
             sLog(log_info, "Reboot has been triggered.");
@@ -1954,8 +1971,11 @@ ForkExecAndWaitCommand(const char* command,
    char** args = GetFormattedCommandLine(command);
    const char* processStdOut;
    Bool isPerlCommand = (strcmp(args[0], "/usr/bin/perl") == 0) ? true : false;
-   Bool isTelinitCommand =
-      (strcmp(args[0], "/sbin/telinit") == 0) ? true : false;
+   Bool isRebootCommand =
+      (Str_Strncmp(command, "/usr/bin/systemctl reboot", strlen(command)) ||
+       Str_Strncmp(command, "/bin/systemctl reboot", strlen(command)) ||
+       Str_Strncmp(command, "/sbin/telinit 6", strlen(command))) ?
+      true : false;
 
    sLog(log_debug, "Command to exec : '%s'.", args[0]);
    Process_Create(&hp, args, sLog);
@@ -2011,9 +2031,9 @@ ForkExecAndWaitCommand(const char* command,
          }
       }
    } else {
-      if (isTelinitCommand) {
+      if (isRebootCommand) {
          sLog(log_info,
-              "Telinit command failed with exitcode: %d, stderr: '%s'.",
+              "Reboot command failed with exitcode: %d, stderr: '%s'.",
               retval,
               Process_GetStderr(hp));
       } else {
@@ -2207,43 +2227,3 @@ GetCloudinitVersion(const char* version, int* major, 
int* minor)
    }
    sLog(log_info, "Cloud-init version major: %d, minor: %d", *major, *minor);
 }
-
-/**
- *
- * Check if "telinit" command is a soft(symbolic) link to "systemctl" command
- *
- * The fullpath of "systemctl" command could be:
- *    /bin/systemctl
- *    or
- *    /usr/bin/systemctl
- *
- * @returns TRUE if "telinit" command is a soft link to "systemctl" command
- *          FALSE if "telinit" command is not a soft link to "systemctl" 
command
- *
- **/
-static Bool
-IsTelinitASoftlinkToSystemctl(void)
-{
-   static const char systemctlBinPath[] = "/bin/systemctl";
-   static const char readlinkCommand[] = "/bin/readlink /sbin/telinit";
-   char readlinkCommandOutput[256];
-   int forkExecResult;
-
-   forkExecResult = ForkExecAndWaitCommand(readlinkCommand,
-                                           true,
-                                           readlinkCommandOutput,
-                                           sizeof(readlinkCommandOutput));
-   if (forkExecResult != 0) {
-      sLog(log_debug, "readlink command result = %d.", forkExecResult);
-      return FALSE;
-   }
-
-   if (strstr(readlinkCommandOutput, systemctlBinPath) != NULL) {
-      sLog(log_debug, "/sbin/telinit is a soft link to systemctl");
-      return TRUE;
-   } else {
-      sLog(log_debug, "/sbin/telinit is not a soft link to systemctl");
-   }
-
-   return FALSE;
-}
-- 
2.43.5


++++++ _service ++++++
--- /var/tmp/diff_new_pack.bWpGrx/_old  2025-06-27 23:01:25.229540722 +0200
+++ /var/tmp/diff_new_pack.bWpGrx/_new  2025-06-27 23:01:25.233540887 +0200
@@ -2,8 +2,9 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/vmware/open-vm-tools.git</param>
     <param name="scm">git</param>
-    <param name="revision">12.5.2</param>
+    <param name="revision">stable-13.0.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
+    <param name="versionrewrite-pattern">stable-(.*)</param>
   </service>
   <service name="set_version" mode="manual">
   </service>

++++++ open-vm-tools-12.5.2.obscpio -> open-vm-tools-13.0.0.obscpio ++++++
++++ 8639 lines of diff (skipped)

++++++ open-vm-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.bWpGrx/_old  2025-06-27 23:01:25.885567759 +0200
+++ /var/tmp/diff_new_pack.bWpGrx/_new  2025-06-27 23:01:25.889567924 +0200
@@ -1,5 +1,5 @@
 name: open-vm-tools
-version: 12.5.2
-mtime: 1747080453
-commit: 908dbba833dd28d72b315ee9fc96f5bcd0576e41
+version: 13.0.0
+mtime: 1750305918
+commit: 3c28b6f4d9af2df2027a9df9c82e2f0196bd8bf7
 

Reply via email to