Index: modules/system/system.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.api.php,v
retrieving revision 1.128
diff -u -r1.128 system.api.php
--- modules/system/system.api.php	7 Feb 2010 09:11:28 -0000	1.128
+++ modules/system/system.api.php	9 Feb 2010 01:13:24 -0000
@@ -2741,6 +2741,8 @@
  * - weight: This optional key specifies the weight of this archiver.
  *   When mapping file extensions to archivers, the first archiver by
  *   weight found that supports the requested extension will be used.
+ *
+ * @see hook_archiver_info_alter()
  */
 function hook_archiver_info() {
   return array(
@@ -2751,6 +2753,18 @@
   );
 }
 
+/**
+ * Alter archiver information declared by other modules.
+ *
+ * See hook_archiver_info() for a description of archivers and the archiver
+ * information structure.
+ *
+ * @param $info
+ *   Archiver information to alter (return values from hook_archiver_info()).
+ */
+function hook_archiver_info_alter(&$info) {
+  $info['tar']['extensions'][] = 'tgz';
+}
 
 /**
  * Defines additional date types.
Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.1101
diff -u -r1.1101 common.inc
--- includes/common.inc	7 Feb 2010 05:12:34 -0000	1.1101
+++ includes/common.inc	9 Feb 2010 01:13:24 -0000
@@ -6618,7 +6618,10 @@
 }
 
 /**
- * Retrieve a list of all available archivers.
+ * Retrieves a list of all available archivers.
+ *
+ * @see hook_archiver_info()
+ * @see hook_archiver_info_alter()
  */
 function archiver_get_info() {
   $archiver_info = &drupal_static(__FUNCTION__, array());
