? profiler-6.x-1.0.tar.gz
Index: profiler.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/profiler/profiler.inc,v
retrieving revision 1.4
diff -u -p -r1.4 profiler.inc
--- profiler.inc	7 Sep 2010 19:00:25 -0000	1.4
+++ profiler.inc	12 Sep 2010 18:42:41 -0000
@@ -59,9 +59,19 @@ function profiler_v2_load_config($profil
   $file = "./profiles/{$profile_name}/{$profile_name}.info";
   // Support legacy .profiler.inc files as well.
   $file = is_file($file) ? $file : "./profiles/{$profile_name}/{$profile_name}.profiler.inc";
+  // Load .install if it exists.
+  $install_file = "./profiles/{$profile_name}/{$profile_name}.install";
+  if (file_exists($install_file)) {
+    require_once($install_file);
+  }
+
   $data = is_file($file) ? file_get_contents($file) : '';
   if ($data && $info = profiler_v2_parse_info_file($data)) {
     if (!empty($info['base']) && is_string($info['base'])) {
+      // Load base .profile file.
+      $base_profile = $info['base'];
+      require_once("./profiles/{$base_profile}/{$base_profile}.profile");
+
       $data = profiler_v2_load_config($info['base'], FALSE) . "\n" . $data;
     }
   }
Index: profiler_api.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/profiler/profiler_api.inc,v
retrieving revision 1.1
diff -u -p -r1.1 profiler_api.inc
--- profiler_api.inc	7 Sep 2010 14:26:13 -0000	1.1
+++ profiler_api.inc	12 Sep 2010 18:42:42 -0000
@@ -75,14 +75,7 @@ function profiler_profile_tasks($config,
 
     // Run hook_install() for the install profile.
     global $profile;
-    $function = "{$profile}_install";
-    $file = "./profiles/{$profile}/{$profile}.install";
-    if (file_exists($file)) {
-      require_once($file);
-    }
-    if (function_exists($function)) {
-      call_user_func($function);
-    }
+    profiler_run_hook_install($profile, $config);
 
     // Rebuild key tables/caches
     menu_rebuild();
@@ -400,3 +393,24 @@ function profiler_install_users($users) 
     user_save($account, array('roles' => $formatted));
   }
 }
+
+/**
+ * Run hook_install() for the given profile. Will run the base
+ * hook_install if the current profile doesn't define one.
+ *
+ * @param $profile
+ *   The machine name of the profile.
+ * @param $config
+ *   The profile's configuration array.
+ */
+function profiler_run_hook_install($profile, $config) {
+  $function = "{$profile}_install";
+  if (function_exists($function)) {
+    call_user_func($function);
+  }
+  elseif (!empty($config['base'])) {
+    // Load base profile configuration.
+    $base_config = profiler_v2_load_config($config['base']);
+    profiler_run_hook_install($config['base'], $base_config);
+  }
+}
\ No newline at end of file
