def uninstall(args = {})
      unless removable?
        raise JSS::UnsupportedError, \
              'This package cannot be uninstalled. Please use CasperAdmin to index it and allow uninstalls'
      end
      raise JSS::UnsupportedError, 'You must have root privileges to uninstall packages' unless JSS.superuser?
      args[:target] ||= '/'

      # are we doing "fill existing users" or "fill user template"?
      do_feu = args[:feu] ? '-feu' : ''
      do_fut = args[:fut] ? '-fut' : ''

      # use jamf binary to uninstall the pkg
      jamf_opts = "-target '#{args[:target]}' -id '#{@id}' #{do_feu} #{do_fut}"

      # run it via a client
      JSS::Client.run_jamf 'uninstall', jamf_opts, args[:verbose]

      $CHILD_STATUS
    end
def uninstall(args = {})
      unless removable?
        raise JSS::UnsupportedError, \
              'This package cannot be uninstalled. Please use CasperAdmin to index it and allow uninstalls'
      end
      raise JSS::UnsupportedError, 'You must have root privileges to uninstall packages' unless JSS.superuser?
      args[:target] ||= '/'

      # are we doing "fill existing users" or "fill user template"?
      do_feu = args[:feu] ? '-feu' : ''
      do_fut = args[:fut] ? '-fut' : ''

      # use jamf binary to uninstall the pkg
      jamf_opts = "-target '#{args[:target]}' -id '#{@id}' #{do_feu} #{do_fut}"

      # run it via a client
      JSS::Client.run_jamf 'uninstall', jamf_opts, args[:verbose]

      $CHILD_STATUS
    end
Uninstall this pkg via the jamf command.

 @param args[Hash] the arguments for installation

 @option args :target[String,Pathname] The drive from which to uninstall the package, defaults to '/'

 @option args :verbose[Boolean] be verbose to stdout, defaults to false

 @option args :feu[Boolean] fill existing users, defaults to false

 @option args :fut[Boolean] fill user template, defaults to false

 @return [Process::Status] the result of the 'jamf uninstall' command

 @note This code must be run as root to uninstall packages