status_t PackageManager::PrepareTransaction(Transaction& transaction) { Volume* volume = fRoot->GetVolume(transaction.Repository().Location()); if (volume == NULL) return B_BAD_VALUE; return volume->CreateTransaction(transaction.Repository().Location(), transaction.ActivationTransaction(), transaction.TransactionDirectory()); }