Index: update.php
===================================================================
RCS file: /cvs/drupal/drupal/update.php,v
retrieving revision 1.310
diff -u -p -r1.310 update.php
--- update.php	4 Nov 2009 05:39:14 -0000	1.310
+++ update.php	17 Nov 2009 17:33:45 -0000
@@ -194,7 +194,7 @@ function update_info_page() {
   $output .= "<li>Install your new files in the appropriate location, as described in the handbook.</li>\n";
   $output .= "</ol>\n";
   $output .= "<p>When you have performed the steps above, you may proceed.</p>\n";
-  $output .= '<form method="post" action="update.php?op=selection&amp;token=' . $token . '"><p><input type="submit" value="Continue" /></p></form>';
+  $output .= '<form method="post" action="update.php?op=selection&amp;token=' . $token . '"><p><input type="submit" value="Continue" class="form-submit" /></p></form>';
   $output .= "\n";
   return $output;
 }
Index: includes/theme.maintenance.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.maintenance.inc,v
retrieving revision 1.44
diff -u -p -r1.44 theme.maintenance.inc
--- includes/theme.maintenance.inc	27 Oct 2009 19:29:12 -0000	1.44
+++ includes/theme.maintenance.inc	17 Nov 2009 17:50:39 -0000
@@ -10,7 +10,7 @@
  * Sets up the theming system for site installs, updates and when the site is
  * in maintenance mode. It also applies when the database is unavailable.
  *
- * Minnelli is always used for the initial install and update operations. In
+ * Seven is always used for the initial install and update operations. In
  * other cases, "settings.php" must have a "maintenance_theme" key set for the
  * $conf variable in order to change the maintenance theme.
  */
@@ -33,7 +33,7 @@ function _drupal_maintenance_theme() {
 
   // Install and update pages are treated differently to prevent theming overrides.
   if (defined('MAINTENANCE_MODE') && (MAINTENANCE_MODE == 'install' || MAINTENANCE_MODE == 'update')) {
-    $custom_theme = 'minnelli';
+    $custom_theme = 'seven';
   }
   else {
     if (!db_is_active()) {
@@ -46,7 +46,7 @@ function _drupal_maintenance_theme() {
       drupal_load('module', 'filter');
     }
 
-    $custom_theme = variable_get('maintenance_theme', 'minnelli');
+    $custom_theme = variable_get('maintenance_theme', 'seven');
   }
 
   $themes = list_themes();
@@ -165,9 +165,21 @@ function theme_install_page($variables) 
   // fix path_to_theme() for the template, to point at the actual
   // theme rather than system module as owner of the hook.
   global $theme_path;
-  $theme_path = 'themes/garland';
+  $theme_path = 'themes/seven';
 
-  return theme_render_template('themes/garland/maintenance-page.tpl.php', $variables);
+  // Allow for conditional branding during installation.
+  if (empty($variables['logo']) || !file_exists(DRUPAL_ROOT . $variables['logo'])) {
+    // Check for a custom logo.
+    if (file_exists(DRUPAL_ROOT . '/misc/branding.png')) {
+      $variables['logo'] = file_create_url('misc/branding.png');
+    }
+    // Otherwise, use the default logo.
+    else {
+      $variables['logo'] = file_create_url('misc/druplicon.png');
+    }
+  }
+
+  return theme_render_template('themes/seven/maintenance-page.tpl.php', $variables);
 }
 
 /**
@@ -203,9 +215,9 @@ function theme_update_page($variables) {
   // fix path_to_theme() for the template, to point at the actual
   // theme rather than system module as owner of the hook.
   global $theme_path;
-  $theme_path = 'themes/garland';
+  $theme_path = 'themes/seven';
 
-  return theme_render_template('themes/garland/maintenance-page.tpl.php', $variables);
+  return theme_render_template('themes/seven/maintenance-page.tpl.php', $variables);
 }
 
 /**
Index: modules/simpletest/tests/menu.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/menu.test,v
retrieving revision 1.20
diff -u -p -r1.20 menu.test
--- modules/simpletest/tests/menu.test	17 Oct 2009 02:58:04 -0000	1.20
+++ modules/simpletest/tests/menu.test	17 Nov 2009 17:33:45 -0000
@@ -60,7 +60,7 @@ class MenuIncTestCase extends DrupalWebT
     // For a regular user, the fact that the site is in maintenance mode means
     // we expect the theme callback system to be bypassed entirely.
     $this->drupalGet('menu-test/theme-callback/use-admin-theme');
-    $this->assertRaw('minnelli/minnelli.css', t("The maintenance theme's CSS appears on the page."));
+    $this->assertRaw('seven/style.css', t("The maintenance theme's CSS appears on the page."));
 
     // An administrator, however, should continue to see the requested theme.
     $admin_user = $this->drupalCreateUser(array('access site in maintenance mode'));
Index: themes/seven/maintenance-page.tpl.php
===================================================================
RCS file: themes/seven/maintenance-page.tpl.php
diff -N themes/seven/maintenance-page.tpl.php
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ themes/seven/maintenance-page.tpl.php	17 Nov 2009 17:45:59 -0000
@@ -0,0 +1,46 @@
+<?php
+// $Id: page.tpl.php,v 1.1 2009/07/31 19:35:57 dries Exp $
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
+  <head>
+    <title><?php print $head_title; ?></title>
+    <?php print $head; ?>
+    <?php print $styles; ?>
+    <?php print $scripts; ?>
+  </head>
+  <body class="<?php print $classes; ?>">
+
+  <?php print $page_top; ?>
+
+  <div id="branding">
+    <?php if ($title): ?><h1 class="page-title"><?php print $title; ?></h1><?php endif; ?>
+  </div>
+
+  <div id="page">
+
+    <?php if ($sidebar_first): ?>
+      <div id="sidebar-first" class="sidebar">
+        <img id="branding-logo" src="<?php print $logo; ?>" />
+        <?php print $sidebar_first ?>
+      </div>
+    <?php endif; ?>
+
+    <div id="content" class="clearfix">
+      <?php if ($show_messages && $messages): ?>
+        <div id="console"><?php print $messages; ?></div>
+      <?php endif; ?>
+      <?php if ($help): ?>
+        <div id="help">
+          <?php print $help; ?>
+        </div>
+      <?php endif; ?>
+      <?php print $content; ?>
+    </div>
+
+  </div>
+
+  <?php print $page_bottom; ?>
+
+  </body>
+</html>
Index: themes/seven/seven.info
===================================================================
RCS file: /cvs/drupal/drupal/themes/seven/seven.info,v
retrieving revision 1.2
diff -u -p -r1.2 seven.info
--- themes/seven/seven.info	29 Sep 2009 16:30:30 -0000	1.2
+++ themes/seven/seven.info	17 Nov 2009 17:33:45 -0000
@@ -12,3 +12,5 @@ regions[content] = Content
 regions[help] = Help
 regions[page_top] = Page top
 regions[page_bottom] = Page bottom
+regions[sidebar_first] = First sidebar
+regions_hidden[] = sidebar_first
Index: themes/seven/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/seven/style.css,v
retrieving revision 1.23
diff -u -p -r1.23 style.css
--- themes/seven/style.css	16 Nov 2009 05:34:24 -0000	1.23
+++ themes/seven/style.css	17 Nov 2009 17:33:45 -0000
@@ -748,6 +748,59 @@ div.admin-options div.form-item {
   border: none;
 }
 
+/* Maintenance theming */
+body.in-maintenance #sidebar-first {
+  float: right;
+  width: 200px;
+}
+body.in-maintenance #content {
+  width: 550px;
+  padding-right: 20px;
+}
+body.in-maintenance #page {
+  width: 770px;
+  margin: 0 auto;
+  padding-top: 2em;
+}
+body.in-maintenance #branding h1 {
+  width: 770px;
+  margin: 0 auto;
+  float: none;
+}
+
+body.in-maintenance .form-type-radio {
+  display: inline-block;
+}
+
+body.in-maintenance .form-submit {
+  display: block;
+}
+
+body.in-maintenance #branding-logo {
+  margin-bottom: 1.5em;
+}
+
+ol.task-list {
+  margin-left: 0; /* LTR */
+  list-style-type: none;
+  list-style-image: none;
+}
+ol.task-list li {
+  padding: 0.5em 1em 0.5em 0; /* LTR */
+  color: #adadad;
+}
+ol.task-list li.active {
+  background: transparent url(images/task-item.png) no-repeat 3px 50%; /* LTR */
+  padding: 0.5em 1em 0.5em 20px; /* LTR */
+  color: #000;
+}
+ol.task-list li.done {
+  color: #393;
+  background: transparent url(images/task-check.png) no-repeat 0px 50%; /* LTR */
+  padding: 0.5em 1em 0.5em 20px; /* LTR */
+  color: green;
+}
+
 /* Overlay theming */
 body.overlay {
   background: #fff;
