docs: def extract(self):
          """Extracts the raw firmware file from its compact format
  
          Extracts the raw firmware file from its compact file format (already
          set as attribute in FirmwareImageControllerBase constructor).
          :raises: InvalidInputError, if raw firmware file not found
          :raises: ImageExtractionFailed, for extraction related issues
          :returns: the raw firmware file with the complete path
          :returns: boolean(True) to indicate that a new file got generated
                    after successful extraction.
          """
          target_file = self.fw_file
          common.add_exec_permission_to(target_file)
          # create a temp directory where the extraction will occur
          temp_dir = tempfile.mkdtemp()
          extract_path = os.path.join(temp_dir, self.fw_filename)
  
          try:
              self._do_extract(target_file, extract_path)
          except exception.ImageExtractionFailed:
              # clean up the partial extracted content, if any,
              # along with temp dir and re-raise the exception
              shutil.rmtree(temp_dir, ignore_errors=True)
              raise
  
          # creating a new hard link to the core firmware file
          firmware_file_path = _get_firmware_file_in_new_path(extract_path)
          # delete the entire extracted content along with temp dir.
          shutil.rmtree(temp_dir, ignore_errors=True)
  
          if not firmware_file_path:
              raise exception.InvalidInputError(
                  "Raw firmware file not found in: '%s'" % target_file)
  
          return firmware_file_path, True