[Bug 266694] emulators/open-vm-tools rc script produces extraneous output, breaks puppet

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 28 Sep 2022 22:22:31 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266694

            Bug ID: 266694
           Summary: emulators/open-vm-tools rc script produces extraneous
                    output, breaks puppet
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: garga@FreeBSD.org
          Reporter: ray@bellis.me.uk
             Flags: maintainer-feedback?(garga@FreeBSD.org)
          Assignee: garga@FreeBSD.org

Created attachment 236929
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=236929&action=edit
Fixed rc script

The patch in commit eb65cf5cbe543a6372834bee33243344bc40f737 to "silence
checkvm_cmd" is incorrect.

This line:

checkvm_cmd="%%PREFIX%%/bin/vmware-checkvm > /dev/null 2>&1"

does not cause stdout and stderr redirection, it simply passes the three extra
tokens to the vmware-checkvm command in argv.

The correct solution is to define checkvm_cmd as a function:

checkvm_cmd()
{
  %%PREFIX%%/bin/vmware-checkvm > /dev/null 2>&1
}

This error causes our puppet manifests to break because the extraneous output
from `service vmware-guestd rcvar` causes puppet's FreeBSD "service" resource
provider to barf.

I've attached a fixed version of vmware-guestd.in.   In theory vmware-kmod.in
has the same issue but it hasn't bitten us the way this one did.

-- 
You are receiving this mail because:
You are the assignee for the bug.