If we accept upstream's position that blkid shouldn't pick one fs id over the other (which I disagree with - this is a case where we clearly know which of the UUIDs is the correct one, which is why we're talking about autocleaning the superblock on upgrades, so why don't we just fix blkid to DTRT instead of adding another layer to work around blkid's behavior after the fact?), then AFAICS cryptsetup is still not the right package to fix this, because in an ideal world the cryptsetup initscripts and upstart jobs will all go away in favor of udev rules, and then there's nothing to trigger cryptsetup's cleaning in the first place /because/ of this bug. I think this bug belongs to udev.
If we accept upstream's position that blkid shouldn't pick one fs id over the other (which I disagree with - this is a case where we clearly know which of the UUIDs is the correct one, which is why we're talking about autocleaning the superblock on upgrades, so why don't we just fix blkid to DTRT instead of adding another layer to work around blkid's behavior after the fact?), then AFAICS cryptsetup is still not the right package to fix this, because in an ideal world the cryptsetup initscripts and upstart jobs will all go away in favor of udev rules, and then there's nothing to trigger cryptsetup's cleaning in the first place /because/ of this bug. I think this bug belongs to udev.