docs: def list_repo_pkgs(*args, **kwargs):  # pylint: disable=unused-import
      '''
      .. versionadded:: 2017.7.0
  
      Returns all available packages. Optionally, package names (and name globs)
      can be passed and the results will be filtered to packages matching those
      names.
  
      This function can be helpful in discovering the version or repo to specify
      in a :mod:`pkg.installed <salt.states.pkg.installed>` state.
  
      The return data will be a dictionary mapping package names to a list of
      version numbers, ordered from newest to oldest. For example:
  
      .. code-block:: python
  
          {
              'bash': ['4.3-14ubuntu1.1',
                       '4.3-14ubuntu1'],
              'nginx': ['1.10.0-0ubuntu0.16.04.4',
                        '1.9.15-0ubuntu1']
          }
  
      CLI Examples:
  
      .. code-block:: bash
  
          salt '*' pkg.list_repo_pkgs
          salt '*' pkg.list_repo_pkgs foo bar baz
      '''
      if args:
          # Get only information about packages in args
          cmd = ['apt-cache', 'show'] + [arg for arg in args]
      else:
          # Get information about all available packages
          cmd = ['apt-cache', 'dump']
  
      out = _call_apt(cmd, scope=False, ignore_retcode=True)
  
      ret = {}
      pkg_name = None
      skip_pkg = False
      new_pkg = re.compile('^Package: (.+)')
      for line in salt.utils.itertools.split(out['stdout'], '\n'):
          if not line.strip():
              continue
          try:
              cur_pkg = new_pkg.match(line).group(1)
          except AttributeError:
              pass
          else:
              if cur_pkg != pkg_name:
                  pkg_name = cur_pkg
                  continue
          comps = line.strip().split(None, 1)
          if comps[0] == 'Version:':
              ret.setdefault(pkg_name, []).append(comps[1])
  
      return ret