#!/bin/sh

gzip -dc /var/lib/pacman/local/*/mtree | perl -ne 'if (s!^\.(/[^.]\S*) .+ sha256digest=(\w+).*!$2 *$1!) {s/\\(\d{3})/chr oct $1/ge; print}' | sudo sha256sum -c --quiet

#gzip -dc /var/lib/pacman/local/*/mtree | perl -ane '($f, @f) = map {s/\\(\d{3})/chr oct $1/ge; $_} @F; $f =~ s/^\.//; %f = map {split /=/, $_, 2} @f; if ($f eq "/set") {%def = %f;} else {%f = (%def, %f); if ($f{sha256digest} && $f !~ /^\/\.[A-Z]+/) {print "$f{sha256digest} $f\n";}}' | sudo sha256sum -c
