docs: def remove(name=None, pkgs=None, saltenv='base', **kwargs):
      '''
      Remove packages with pkgrm
  
      name
          The name of the package to be deleted
  
      By default salt automatically provides an adminfile, to automate package
      removal, with these options set::
  
          email=
          instance=quit
          partial=nocheck
          runlevel=nocheck
          idepend=nocheck
          rdepend=nocheck
          space=nocheck
          setuid=nocheck
          conflict=nocheck
          action=nocheck
          basedir=default
  
      You can override any of these options in two ways. First you can optionally
      pass any of the options as a kwarg to the module/state to override the
      default value or you can optionally pass the 'admin_source' option
      providing your own adminfile to the minions.
  
      Note: You can find all of the possible options to provide to the adminfile
      by reading the admin man page:
  
      .. code-block:: bash
  
          man -s 4 admin
  
  
      Multiple Package Options:
  
      pkgs
          A list of packages to delete. Must be passed as a python list. The
          ``name`` parameter will be ignored if this option is passed.
  
      .. versionadded:: 0.16.0
  
  
      Returns a dict containing the changes.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' pkg.remove <package name>
          salt '*' pkg.remove SUNWgit
          salt '*' pkg.remove <package1>,<package2>,<package3>
          salt '*' pkg.remove pkgs='["foo", "bar"]'
      '''
      try:
          pkg_params = __salt__['pkg_resource.parse_targets'](name, pkgs)[0]
      except MinionError as exc:
          raise CommandExecutionError(exc)
  
      old = list_pkgs()
      targets = [x for x in pkg_params if x in old]
      if not targets:
          return {}
  
      try:
          if 'admin_source' in kwargs:
              adminfile = __salt__['cp.cache_file'](kwargs['admin_source'], saltenv)
          else:
              # Make tempfile to hold the adminfile contents.
              adminfile = _write_adminfile(kwargs)
  
          # Remove the package
          cmd = ['/usr/sbin/pkgrm', '-n', '-a', adminfile] + targets
          out = __salt__['cmd.run_all'](cmd,
                                        python_shell=False,
                                        output_loglevel='trace')
  
          if out['retcode'] != 0 and out['stderr']:
              errors = [out['stderr']]
          else:
              errors = []
  
          __context__.pop('pkg.list_pkgs', None)
          new = list_pkgs()
          ret = salt.utils.data.compare_dicts(old, new)
  
          if errors:
              raise CommandExecutionError(
                  'Problem encountered removing package(s)',
                  info={'errors': errors, 'changes': ret}
              )
      finally:
          # Remove the temp adminfile
          if 'admin_source' not in kwargs:
              try:
                  os.remove(adminfile)
              except (NameError, OSError):
                  pass
  
      return ret