Index: drush_pm/drush_pm.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/drush_pm/drush_pm.module,v
retrieving revision 1.18.2.1
diff -u -p -r1.18.2.1 drush_pm.module
--- drush_pm/drush_pm.module	13 Apr 2008 15:30:14 -0000	1.18.2.1
+++ drush_pm/drush_pm.module	14 May 2008 01:09:11 -0000
@@ -143,10 +143,14 @@ function drush_pm_install_package() {
   // Download and install each module
   foreach($projects as $project_name => $project) {
     if (isset($info[$project_name]) && $release = drush_pm_get_release($project, $info[$project_name])) {
+      foreach (module_implements('drush_pm_project_alter') as $module) {
+        $function = $module .'_drush_pm_project_alter';
+        $function($modulepath, $project_name, $release);
+      }
       if (is_dir($modulepath . $project_name)) {
         drush_error(t('Project !project is already installed. Skipping.', array('!project' => $project_name)));
       }
@@ -278,6 +282,10 @@ function drush_pm_update() {  
     // move a directory up, so we can copy updated dir to parent
     array_pop($basepath);
     $project_parent_path = DRUSH_DRUPAL_ROOT. '/'. implode('/', $basepath). '/';
+    foreach (module_implements('drush_pm_project_alter') as $module) {
+      $function = $module .'_drush_pm_project_alter';
+      $function($project_parent_path, $project['name'], $project['releases'][$project['candidate_version']]);
+    }
     if (!$package_handler($project['name'], $project['releases'][$project['candidate_version']], $project_parent_path)) {
       drush_error(t('Updating project !project failed. Restoring previously installed version.', array('!project' => $project['name'])));
       drush_op('rename', $backup_target, $source);
