code: def _parse_package(cls, package_string):
          
          pkg, arch = rsplit(package_string, cls._arch_sep(package_string))
          if arch not in KNOWN_ARCHITECTURES:
              pkg, arch = (package_string, None)
          pkg, release = rsplit(pkg, '-')
          name, version = rsplit(pkg, '-')
          epoch, version = version.split(':', 1) if ":" in version else ['0', version]
          # oracleasm packages have a dash in their version string, fix that
          if name.startswith('oracleasm') and name.endswith('.el5'):
              name, version2 = name.split('-', 1)
              version = version2 + '-' + version
          return {
              'name': name,
              'version': version,
              'release': release,
              'arch': arch,
              'epoch': epoch
          }
docs: Helper method for parsing package string.
  
          Args:
              package_string (str): dash separated package string such as 'bash-4.2.39-3.el7'
  
          Returns:
              dict: dictionary containing 'name', 'version', 'release' and 'arch' keys