<def-group>
  {{%- set variable_value_test_id = _RULE_ID + "_test_variable_" + VARIABLE -%}}
  {{% if OPERATION is defined %}}
    {{%- set variable_value_op = OPERATION -%}}
  {{% else %}}
    {{%- set variable_value_op = "equals" -%}}
  {{% endif %}}
  <definition class="compliance" id="{{{ _RULE_ID }}}"
  version="1">
    {{{ oval_metadata("The " + pkg_system|upper + " package " + PKGNAME + " should be installed.", affected_platforms=["multi_platform_all"], rule_title=rule_title) }}}
    <criteria operator="OR" comment="package {{{ PKGNAME }}} is installed or not needed">
      <criteria comment="{{{ PKGNAME }}} is not needed" operator="AND">
        <criterion comment="variable {{{ VARIABLE }}} is set to {{{ VALUE }}}"
        test_ref="{{{ variable_value_test_id }}}" negate="true"/>
      </criteria>
      <criteria comment="package {{{ PKGNAME }}} is installed and needed" operator="AND">
        <criterion comment="package {{{ PKGNAME }}} is installed"
        test_ref="test_package_{{{ PKGNAME }}}_installed" />
        <criterion comment="variable {{{ VARIABLE }}} is set to {{{ VALUE }}}"
        test_ref="{{{ variable_value_test_id }}}" />
      </criteria>
    </criteria>
  </definition>
{{{ oval_test_external_variable_value(variable=VARIABLE, value=VALUE, test_id=variable_value_test_id, operation=variable_value_op) }}}
{{{ oval_test_package_installed(package=PKGNAME, evr=EVR, test_id="test_package_"+PKGNAME+"_installed") }}}
</def-group>
