The post-processors block below creates the artifacts shown here (package.box, packer-qemu
, and packer_qemu_md5.checksum
). I’d like to have the checksum
post processor run against package.box
rather than packer-qemu
but I’m not finding a way to specify this. I suppose a workaround might involve using that second shell-local
to do it but that seems even more kludgy given the checksum type being available.
How can I get the checksum for package.box
?
/output>md5sum *
1c0b912a845fc1a3b3ff8939820d5715 package.box
85a828b478997607c13462d46bef14aa packer-qemu
94038bd8ff77549a155b1d883b06f18d packer_qemu_md5.checksum
/output>cat packer_qemu_md5.checksum
85a828b478997607c13462d46bef14aa packer-qemu
"post-processors": [
{
"inline": [
"set -eu",
"export _IMAGE=\"output/packer-qemu\"",
"sudo qemu-img convert -f qcow2 -O qcow2 \"$_IMAGE\" \"$_IMAGE.convert\"",
"sudo rm -rf \"$_IMAGE\"",
"sudo chmod a+r /boot/vmlinuz*",
"sudo virt-sysprep --operations defaults,-ssh-hostkeys,-ssh-userdir,-customize -a \"$_IMAGE.convert\"",
"sudo virt-sparsify --in-place \"$_IMAGE.convert\"",
"sudo qemu-img convert -f qcow2 -O qcow2 -c \"$_IMAGE.convert\" \"$_IMAGE\"",
"sudo rm -rf \"$_IMAGE.convert\""
],
"type": "shell-local"
},
{
"compression_level": 9,
"keep_input_artifact": false,
"output": "output/package.box",
"provider_override": "libvirt",
"type": "vagrant"
},
{
"type": "checksum",
"checksum_types": ["md5"],
"output": "output/packer_{{.BuildName}}_{{.ChecksumType}}.checksum",
"keep_input_artifact": true
},
{
"inline": ["jq --arg checksum \"$(cat output/packer_qemu_md5.checksum | awk '{print $1}')\" '.versions[0].providers[0].checksum = $checksum' metadata.json > ../metadata.json"],
"type": "shell-local"
}
]