Index: modules/system/system.info
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.info,v
retrieving revision 1.20
diff -u -r1.20 system.info
--- modules/system/system.info	15 Dec 2009 08:37:18 -0000	1.20
+++ modules/system/system.info	20 Jan 2010 00:37:34 -0000
@@ -1,7 +1,7 @@
 ; $Id: system.info,v 1.20 2009/12/15 08:37:18 dries Exp $
 name = System
 description = Handles general site configuration for administrators.
-package = Core
+package = Core - required
 version = VERSION
 core = 7.x
 files[] = system.module
Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.253
diff -u -r1.253 system.admin.inc
--- modules/system/system.admin.inc	18 Jan 2010 17:08:20 -0000	1.253
+++ modules/system/system.admin.inc	20 Jan 2010 00:37:34 -0000
@@ -830,7 +830,7 @@
 
   // Remove hidden modules from display list.
   foreach ($files as $filename => $file) {
-    if (!empty($file->info['hidden']) || !empty($file->info['required'])) {
+    if (!empty($file->info['hidden'])) {
       unset($files[$filename]);
     }
   }
@@ -855,6 +855,11 @@
   foreach ($files as $filename => $module) {
     $extra = array();
     $extra['enabled'] = (bool) $module->status;
+    if (!empty($module->info['required'] )) {
+      $extra['disabled'] = TRUE;
+      $extra['required_by'][] = t('Core');
+    }
+
     // If this module requires other modules, add them to the array.
     foreach ($module->requires as $requires => $v) {
       if (!isset($files[$requires])) {
@@ -930,6 +935,7 @@
     }
     $form['modules'][$module->info['package']][$filename] = _system_modules_build_row($module->info, $extra);
   }
+
   // Add basic information to the fieldsets.
   foreach (element_children($form['modules']) as $package) {
     $form['modules'][$package] += array(
@@ -947,6 +953,9 @@
     );
   }
 
+  // Collapse the Core Required fieldset.
+  $form['modules']['Core - required']['#collapsed'] = TRUE;
+
   $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions')));
   $form['actions']['submit'] = array(
     '#type' => 'submit',
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.878
diff -u -r1.878 system.module
--- modules/system/system.module	18 Jan 2010 17:08:20 -0000	1.878
+++ modules/system/system.module	20 Jan 2010 00:37:34 -0000
@@ -95,7 +95,9 @@
     case 'admin/appearance/settings':
       return '<p>' . t('These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.') . '</p>';
     case 'admin/modules':
-      $output = '<p>' . t('Download additional <a href="@modules">contributed modules</a> to extend Drupal\'s functionality.', array('@modules' => 'http://drupal.org/project/modules')) . '</p>';
+      $output = '';
+      $output .= '<p>' . t('Enable and disable modules using the checkboxes below. Some core modules cannot be disabled. Other modules cannot be disabled because they are required by other modules that are currently enabled.') . '</p>';
+      $output .= '<p>' . t('Download additional <a href="@modules">contributed modules</a> to extend your site functionality.', array('@modules' => 'http://drupal.org/project/modules')) . '</p>';
       if (module_exists('update')) {
         if (update_manager_access()) {
           $output .= '<p>' . t('Regularly review and install <a href="@updates">available updates</a> to maintain a secure and current site. Always run the <a href="@update-php">update script</a> each time a module is updated.', array('@update-php' => $base_url . '/update.php', '@updates' => url('admin/reports/updates'))) . '</p>';
Index: modules/user/user.info
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.info,v
retrieving revision 1.13
diff -u -r1.13 user.info
--- modules/user/user.info	17 Nov 2009 21:24:19 -0000	1.13
+++ modules/user/user.info	20 Jan 2010 00:37:34 -0000
@@ -1,7 +1,7 @@
 ; $Id: user.info,v 1.13 2009/11/17 21:24:19 dries Exp $
 name = User
 description = Manages the user registration and login system.
-package = Core
+package = Core - required
 version = VERSION
 core = 7.x
 files[] = user.module
Index: profiles/standard/standard.info
===================================================================
RCS file: /cvs/drupal/drupal/profiles/standard/standard.info,v
retrieving revision 1.1
diff -u -r1.1 standard.info
--- profiles/standard/standard.info	4 Jan 2010 23:08:34 -0000	1.1
+++ profiles/standard/standard.info	20 Jan 2010 00:37:34 -0000
@@ -22,3 +22,4 @@
 dependencies[] = file
 dependencies[] = rdf
 files[] = standard.profile
+hidden = TRUE
Index: modules/node/node.info
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.info,v
retrieving revision 1.13
diff -u -r1.13 node.info
--- modules/node/node.info	17 Nov 2009 21:24:18 -0000	1.13
+++ modules/node/node.info	20 Jan 2010 00:37:34 -0000
@@ -1,7 +1,7 @@
 ; $Id: node.info,v 1.13 2009/11/17 21:24:18 dries Exp $
 name = Node
 description = Allows content to be submitted to the site and displayed on pages.
-package = Core
+package = Core - required
 version = VERSION
 core = 7.x
 files[] = node.module
Index: modules/filter/filter.info
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.info,v
retrieving revision 1.13
diff -u -r1.13 filter.info
--- modules/filter/filter.info	17 Nov 2009 21:24:18 -0000	1.13
+++ modules/filter/filter.info	20 Jan 2010 00:37:34 -0000
@@ -1,7 +1,7 @@
 ; $Id: filter.info,v 1.13 2009/11/17 21:24:18 dries Exp $
 name = Filter
 description = Filters content in preparation for display.
-package = Core
+package = Core - required
 version = VERSION
 core = 7.x
 files[] = filter.module
Index: profiles/minimal/minimal.info
===================================================================
RCS file: /cvs/drupal/drupal/profiles/minimal/minimal.info,v
retrieving revision 1.1
diff -u -r1.1 minimal.info
--- profiles/minimal/minimal.info	4 Jan 2010 23:08:34 -0000	1.1
+++ profiles/minimal/minimal.info	20 Jan 2010 00:37:34 -0000
@@ -6,3 +6,5 @@
 dependencies[] = block
 dependencies[] = dblog
 files[] = minimal.profile
+hidden = TRUE
+
