We release software on RPM-based linux. We receive many packages from different teams, some outside of our business unit, that must upgrade correctly (in the future we want to check dependencies are correct). Recently we were bitten by a bug in upgrading from a package delivered from outside our business unit. The time has come to start attempting to automate testing for this sort of thing.
The sort of thing I had in mind was assuming the install is good (this would generally be caught at functional test time anyway), then check that an upgrade with pre/post scripts modifies files in the same manner as the install. If not then flag for review.
Specifically we want to check upgrades, corner cases like kernel upgrades, chroot installs where the running kernel may not even be available in the chroot, etc.
My question is, does software that does this sort of thing already exist? I haven't had much luck in my searching.
This automated process would also be backed up with packaging guidelines of course, but as some of our RPMs come from outside our organisation, we would still like this fallback to give us assurances in the future.