<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 removed.", affected_platforms=["multi_platform_all"], rule_title=rule_title) }}}
    <criteria operator="OR" comment="package {{{ PKGNAME }}} is removed or not needed">
      <criteria comment="{{{ PKGNAME }}} is needed" operator="AND">
        <criterion comment="variable {{{ VARIABLE }}} is set to {{{ VALUE }}}"
        test_ref="{{{ variable_value_test_id }}}"/>
      </criteria>
      <criteria>
        <criterion comment="package {{{ PKGNAME }}} is removed"
        test_ref="test_package_{{{ PKGNAME }}}_removed" />
        <criterion comment="variable {{{ VARIABLE }}} is not set to {{{ VALUE }}}"
        test_ref="{{{ variable_value_test_id }}}" negate="true"/>
      </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_removed(package=PKGNAME, test_id="test_package_"+PKGNAME+"_removed") }}}
</def-group>
