def _verify_layer_file(self, structure, layer_id):
"""Verify layer file in repository"""
layer_f = structure["layers"][layer_id]["layer_f"]
if not (os.path.exists(layer_f) and
os.path.islink(layer_f)):
Msg().err("Error: layer data file symbolic link not found",
layer_id)
return False
if not os.path.exists(self.cur_tagdir + "/" +
os.readlink(layer_f)):
Msg().err("Error: layer data file not found")
return False
if not FileUtil(layer_f).verify_tar():
Msg().err("Error: layer file not ok:", layer_f)
return False
match = re.search("/sha256:(\\S+)$", layer_f)
if match:
layer_f_chksum = ChkSUM().sha256(layer_f)
if layer_f_chksum != match.group(1):
Msg().err("Error: layer file chksum error:", layer_f)
return False
return True
评论列表
文章目录