docs: def zone_compare(timezone):
      '''
      Compares the given timezone name with the system timezone name.
      Checks the hash sum between the given timezone, and the one set in
      /etc/localtime. Returns True if names and hash sums match, and False if not.
      Mostly useful for running state checks.
  
      .. versionchanged:: 2016.3.0
  
      .. note::
  
          On Solaris-link operating systems only a string comparison is done.
  
      .. versionchanged:: 2016.11.4
  
      .. note::
  
          On AIX operating systems only a string comparison is done.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' timezone.zone_compare 'America/Denver'
      '''
      if 'Solaris' in __grains__['os_family'] or 'AIX' in __grains__['os_family']:
          return timezone == get_zone()
  
      if 'FreeBSD' in __grains__['os_family']:
          if not os.path.isfile(_get_localtime_path()):
              return timezone == get_zone()
  
      tzfile = _get_localtime_path()
      zonepath = _get_zone_file(timezone)
      try:
          return filecmp.cmp(tzfile, zonepath, shallow=False)
      except OSError as exc:
          problematic_file = exc.filename
          if problematic_file == zonepath:
              raise SaltInvocationError(
                  'Can\'t find a local timezone "{0}"'.format(timezone))
          elif problematic_file == tzfile:
              raise CommandExecutionError(
                  'Failed to read {0} to determine current timezone: {1}'
                  .format(tzfile, exc.strerror))
          raise