Index: install.php
===================================================================
RCS file: /cvs/drupal/drupal/install.php,v
retrieving revision 1.225
diff -u -p -r1.225 install.php
--- install.php	29 Nov 2009 19:50:24 -0000	1.225
+++ install.php	30 Nov 2009 05:45:40 -0000
@@ -845,7 +845,7 @@ function install_settings_form($form, &$
       '#required' => TRUE,
       '#options' => $drivers,
       '#default_value' => !empty($database['driver']) ? $database['driver'] : current(array_keys($drivers)),
-      '#description' => st('The type of database your @drupal data will be stored in.', array('@drupal' => drupal_install_profile_name())),
+      '#description' => st('The type of database your @drupal data will be stored in.', array('@drupal' => drupal_install_profile_distribution_name())),
     );
     if (count($drivers) == 1) {
       $form['basic_options']['driver']['#disabled'] = TRUE;
@@ -859,7 +859,7 @@ function install_settings_form($form, &$
       '#default_value' => empty($database['database']) ? '' : $database['database'],
       '#size' => 45,
       '#required' => TRUE,
-      '#description' => st('The name of the database your @drupal data will be stored in. It must exist on your server before @drupal can be installed.', array('@drupal' => drupal_install_profile_name())),
+      '#description' => st('The name of the database your @drupal data will be stored in. It must exist on your server before @drupal can be installed.', array('@drupal' => drupal_install_profile_distribution_name())),
     );
 
     // Database username
@@ -916,7 +916,7 @@ function install_settings_form($form, &$
       '#title' => st('Table prefix'),
       '#default_value' => '',
       '#size' => 45,
-      '#description' => st('If more than one application will be sharing this database, enter a table prefix such as %prefix for your @drupal site here.', array('@drupal' => drupal_install_profile_name(), '%prefix' => $db_prefix)),
+      '#description' => st('If more than one application will be sharing this database, enter a table prefix such as %prefix for your @drupal site here.', array('@drupal' => drupal_install_profile_distribution_name(), '%prefix' => $db_prefix)),
     );
 
     $form['save'] = array(
@@ -961,7 +961,7 @@ function install_database_errors($databa
   $database_types = drupal_detect_database_types();
   $driver = $database['driver'];
   if (!isset($database_types[$driver])) {
-    $errors['driver'] = st("In your %settings_file file you have configured @drupal to use a %driver server, however your PHP installation currently does not support this database type.", array('%settings_file' => $settings_file, '@drupal' => drupal_install_profile_name(), '%driver' => $database['driver']));
+    $errors['driver'] = st("In your %settings_file file you have configured @drupal to use a %driver server, however your PHP installation currently does not support this database type.", array('%settings_file' => $settings_file, '@drupal' => drupal_install_profile_distribution_name(), '%driver' => $database['driver']));
   }
   else {
     // Run tasks associated with the database type. Any errors are caught in the
@@ -1104,8 +1104,22 @@ function install_select_profile_form($fo
     $names[$profile->name] = $name;
   }
 
-  // Display radio buttons alphabetically by human-readable name.
+  // Display radio buttons alphabetically by human-readable name, but always
+  // put the core profiles first (if they are present in the filesystem).
   natcasesort($names);
+  if (isset($names['expert'])) {
+    // If the expert ("Minimal") core profile is present, put it in front of
+    // any non-core profiles rather than including it with them alphabetically,
+    // since the other profiles might be intended to group together in a
+    // particular way.
+    $names = array('expert' => $names['expert']) + $names;
+  }
+  if (isset($names['default'])) {
+    // If the default ("Standard") core profile is present, put it at the very
+    // top of the list. This profile will have its radio button pre-selected,
+    // so we want it to always appear at the top.
+    $names = array('default' => $names['default']) + $names;
+  }
 
   foreach ($names as $profile => $name) {
     $form['profile'][$name] = array(
@@ -1324,7 +1338,7 @@ function install_profile_modules(&$insta
   }
   $batch = array(
     'operations' => $operations,
-    'title' => st('Installing @drupal', array('@drupal' => drupal_install_profile_name())),
+    'title' => st('Installing @drupal', array('@drupal' => drupal_install_profile_distribution_name())),
     'error_message' => st('The installation has encountered an error.'),
   );
   return $batch;
@@ -1436,9 +1450,9 @@ function install_import_locales_remainin
  *   A message informing the user that the installation is complete.
  */
 function install_finished(&$install_state) {
-  drupal_set_title(st('@drupal installation complete', array('@drupal' => drupal_install_profile_name())), PASS_THROUGH);
+  drupal_set_title(st('@drupal installation complete', array('@drupal' => drupal_install_profile_distribution_name())), PASS_THROUGH);
   $messages = drupal_set_message();
-  $output = '<p>' . st('Congratulations, you installed @drupal!', array('@drupal' => drupal_install_profile_name())) . '</p>';
+  $output = '<p>' . st('Congratulations, you installed @drupal!', array('@drupal' => drupal_install_profile_distribution_name())) . '</p>';
   $output .= '<p>' . (isset($messages['error']) ? st('Review the messages above before visiting <a href="@url">your new site</a>.', array('@url' => url(''))) : st('<a href="@url">Visit your new site</a>.', array('@url' => url('')))) . '</p>';
 
   // Rebuild the module and theme data, in case any newly-installed modules
@@ -1525,7 +1539,7 @@ function install_check_requirements($ins
         'title'       => st('Settings file'),
         'value'       => st('The settings file does not exist.'),
         'severity'    => REQUIREMENT_ERROR,
-        'description' => st('The @drupal installer requires that you create a settings file as part of the installation process. Copy the %default_file file to %file. More details about installing Drupal are available in <a href="@install_txt">INSTALL.txt</a>.', array('@drupal' => drupal_install_profile_name(), '%file' => $file, '%default_file' => $conf_path . '/default.settings.php', '@install_txt' => base_path() . 'INSTALL.txt')),
+        'description' => st('The @drupal installer requires that you create a settings file as part of the installation process. Copy the %default_file file to %file. More details about installing Drupal are available in <a href="@install_txt">INSTALL.txt</a>.', array('@drupal' => drupal_install_profile_distribution_name(), '%file' => $file, '%default_file' => $conf_path . '/default.settings.php', '@install_txt' => base_path() . 'INSTALL.txt')),
       );
     }
     else {
@@ -1538,7 +1552,7 @@ function install_check_requirements($ins
           'title'       => st('Settings file'),
           'value'       => st('The settings file is not writable.'),
           'severity'    => REQUIREMENT_ERROR,
-          'description' => st('The @drupal installer requires write permissions to %file during the installation process. If you are unsure how to grant file permissions, consult the <a href="@handbook_url">online handbook</a>.', array('@drupal' => drupal_install_profile_name(), '%file' => $file, '@handbook_url' => 'http://drupal.org/server-permissions')),
+          'description' => st('The @drupal installer requires write permissions to %file during the installation process. If you are unsure how to grant file permissions, consult the <a href="@handbook_url">online handbook</a>.', array('@drupal' => drupal_install_profile_distribution_name(), '%file' => $file, '@handbook_url' => 'http://drupal.org/server-permissions')),
         );
       }
       else {
Index: includes/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/install.inc,v
retrieving revision 1.116
diff -u -p -r1.116 install.inc
--- includes/install.inc	26 Nov 2009 18:57:16 -0000	1.116
+++ includes/install.inc	30 Nov 2009 05:45:40 -0000
@@ -167,22 +167,17 @@ function drupal_set_installed_schema_ver
 }
 
 /**
- * Loads the install profile definition, extracting its defined name.
+ * Loads the install profile, extracting its defined distribution name.
  *
  * @return
- *   The name defined in the profile's _profile_details() hook.
+ *   The distribution name defined in the profile's .info file. Defaults to
+ *   "Drupal" if none is explicitly provided by the install profile.
+ *
+ * @see install_profile_info()
  */
-function drupal_install_profile_name() {
+function drupal_install_profile_distribution_name() {
   global $install_state;
-
-  if (isset($install_state['profile_info']['name'])) {
-    $name = $install_state['profile_info']['name'];
-  }
-  else {
-    $name = 'Drupal';
-  }
-
-  return $name;
+  return $install_state['profile_info']['distribution_name'];
 }
 
 /**
@@ -1063,15 +1058,22 @@ function drupal_check_module($module) {
 /**
  * Retrieve info about an install profile from its .info file.
  *
- * Information stored in the profile.info file:
+ * The information stored in a profile .info file is similar to that stored in
+ * a normal Drupal module .info file. For example:
  * - name: The real name of the install profile for display purposes.
  * - description: A brief description of the profile.
  * - dependencies: An array of shortnames of other modules this install profile requires.
  *
+ * Additional, less commonly-used information that can appear in a profile.info
+ * file but not in a normal Drupal module .info file includes:
+ * - distribution_name: The name of the Drupal distribution that is being
+ *   installed, to be shown throughout the installation process. Defaults to
+ *   'Drupal'.
+ *
  * Example of .info file:
  * @verbatim
- *    name = Drupal (minimal)
- *    description = Create a Drupal site with only required modules enabled.
+ *    name = Minimal
+ *    description = Start with only a few modules enabled.
  *    dependencies[] = block
  *    dependencies[] = dblog
  * @endverbatim
@@ -1091,6 +1093,7 @@ function install_profile_info($profile, 
     $defaults = array(
       'dependencies' => array(),
       'description' => '',
+      'distribution_name' => 'Drupal',
       'version' => NULL,
       'php' => DRUPAL_MINIMUM_PHP,
     );
Index: profiles/default/default.info
===================================================================
RCS file: /cvs/drupal/drupal/profiles/default/default.info,v
retrieving revision 1.8
diff -u -p -r1.8 default.info
--- profiles/default/default.info	10 Nov 2009 17:27:54 -0000	1.8
+++ profiles/default/default.info	30 Nov 2009 05:45:40 -0000
@@ -1,5 +1,5 @@
 ; $Id: default.info,v 1.8 2009/11/10 17:27:54 webchick Exp $
-name = Drupal
+name = Standard
 description = Install with common features pre-configured.
 version = VERSION
 core = 7.x
Index: profiles/expert/expert.info
===================================================================
RCS file: /cvs/drupal/drupal/profiles/expert/expert.info,v
retrieving revision 1.2
diff -u -p -r1.2 expert.info
--- profiles/expert/expert.info	21 Aug 2009 07:50:08 -0000	1.2
+++ profiles/expert/expert.info	30 Nov 2009 05:45:40 -0000
@@ -1,6 +1,6 @@
 ; $Id: expert.info,v 1.2 2009/08/21 07:50:08 webchick Exp $
-name = Drupal (minimal)
-description = Create a Drupal site with only required modules enabled.
+name = Minimal
+description = Start with only a few modules enabled.
 version = VERSION
 core = 7.x
 dependencies[] = block
