Magento will consider any declared module dependencies in app/etc/modules/Namespace_Module.xml when calculating runtime configuration values such as rewrites, events, etc. however it does not follow a similar process when sequencing module setup scripts. The setup scripts are executed in alphabetical order, which can cause issues when one module depends on setup scripts defined in a module that comes later in the alphabet.
The relevant code is in applyAllDataUpdates method of Mage_Core_Model_Resource_Setup:
$resources = Mage::getConfig()->getNode('global/resources')->children();
foreach ($resources as $resName => $resource) {
<snip/>
$setupClass->applyDataUpdates();
}
Is there a safe/preferred/recommended option to ensure that necessary setup scripts have been executed prior to running the required scripts?