diff --git a/package/project_package.install b/package/project_package.install
index 77b12ed..7291dca 100644
--- a/package/project_package.install
+++ b/package/project_package.install
@@ -46,6 +46,244 @@ function project_package_schema() {
     ),
     'primary key' => array('package_nid', 'item_nid'),
   );
+  $schema['project_package_remote_item'] = array(
+    'description' => 'Keeps track of what remote items (or libraries) are included in a release of a given package project.',
+    'fields' => array(
+      'id' => array(
+        'description' => 'The primary identifier for a remote item.',
+        'type' => 'serial',
+        'unsigned' => TRUE,
+        'not null' => TRUE
+      ),
+      'package_nid' => array(
+        'description' => 'Primary Key: The {node}.nid of the package release node.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'url' => array(
+        'description' => 'The URL of a remote item (or library) included as an item in the package.',
+        'type' => 'varchar',
+        'length' => 255,
+        'not null' => TRUE,
+        'default' => '',
+      ),
+    ),
+    'primary key' => array('id'),
+  );
+  $schema['project_package_local_patch'] = array(
+    'description' => 'Keeps track of any patches that are applied in a release of a given package project.',
+    'fields' => array(
+      'package_nid' => array(
+        'description' => 'Primary Key: The {node}.nid of the package release node.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'item_nid' => array(
+        'description' => 'The {node}.nid of a local release node (from the same site) that was patched.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'patch_file_url' => array(
+        'description' => 'The URL where a given patch file applied to a package can be found.',
+        'type' => 'text',
+        'not null' => TRUE,
+      ),
+      'patch_description_url' => array(
+        'description' => 'The (optional) URL where a patch file applied to a package is described.',
+        'type' => 'text',
+        'not null' => FALSE,
+      ),
+      'patch_nid' => array(
+        'description' => 'The (optional) {node}.nid of a node on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+      'patch_comment_id' => array(
+        'description' => 'The (optional) {comment}.cid of a comment on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+    ),
+    'primary key' => array('package_nid'),
+  );
+  $schema['project_package_remote_patch'] = array(
+    'description' => 'Keeps track of any patches that are applied in a release of a given package project.',
+    'fields' => array(
+      'package_nid' => array(
+        'description' => 'Primary Key: The {node}.nid of the package release node.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'remote_id' => array(
+        'description' => 'The {project_package_remote_item}.id of a remote item (or library) that was patched.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'patch_file_url' => array(
+        'description' => 'The URL where a given patch file applied to a package can be found.',
+        'type' => 'text',
+        'not null' => TRUE,
+      ),
+      'patch_description_url' => array(
+        'description' => 'The (optional) URL where a patch file applied to a package is described.',
+        'type' => 'text',
+        'not null' => FALSE,
+      ),
+      'patch_nid' => array(
+        'description' => 'The (optional) {node}.nid of a node on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+      'patch_comment_id' => array(
+        'description' => 'The (optional) {comment}.cid of a comment on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+    ),
+    'primary key' => array('package_nid'),
+  );
+
   return $schema;
 }
 
+/**
+ * Add tables for remote items (or libraries) and patches to releases and remote items.
+ */
+function project_package_update_6001(&$sandbox) {
+  $ret = array();
+
+  $remote_item_schema = array(
+    'description' => 'Keeps track of what remote items (or libraries) are included in a release of a given package project.',
+    'fields' => array(
+      'id' => array(
+        'description' => 'The primary identifier for a remote item.',
+        'type' => 'serial',
+        'unsigned' => TRUE,
+        'not null' => TRUE
+      ),
+      'package_nid' => array(
+        'description' => 'Primary Key: The {node}.nid of the package release node.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'url' => array(
+        'description' => 'The URL of a remote item (or library) included as an item in the package.',
+        'type' => 'varchar',
+        'length' => 255,
+        'not null' => TRUE,
+        'default' => '',
+      ),
+    ),
+    'primary key' => array('id'),
+  );
+
+  db_create_table($ret, 'project_package_remote_item', $remote_item_schema);
+
+  $local_patch_schema = array(
+    'description' => 'Keeps track of any patches that are applied in a release of a given package project.',
+    'fields' => array(
+      'package_nid' => array(
+        'description' => 'Primary Key: The {node}.nid of the package release node.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'item_nid' => array(
+        'description' => 'The {node}.nid of a local release node (from the same site) that was patched.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'patch_file_url' => array(
+        'description' => 'The URL where a given patch file applied to a package can be found.',
+        'type' => 'text',
+        'not null' => TRUE,
+      ),
+      'patch_description_url' => array(
+        'description' => 'The (optional) URL where a patch file applied to a package is described.',
+        'type' => 'text',
+        'not null' => FALSE,
+      ),
+      'patch_nid' => array(
+        'description' => 'The (optional) {node}.nid of a node on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+      'patch_comment_id' => array(
+        'description' => 'The (optional) {comment}.cid of a comment on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+    ),
+    'primary key' => array('package_nid'),
+  );
+
+  db_create_table($ret, 'project_package_local_patch', $local_patch_schema);
+
+  $remote_patch_schema = array(
+    'description' => 'Keeps track of any patches that are applied in a release of a given package project.',
+    'fields' => array(
+      'package_nid' => array(
+        'description' => 'Primary Key: The {node}.nid of the package release node.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'remote_id' => array(
+        'description' => 'The {project_package_remote_item}.id of a remote item (or library) that was patched.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'patch_file_url' => array(
+        'description' => 'The URL where a given patch file applied to a package can be found.',
+        'type' => 'text',
+        'not null' => TRUE,
+      ),
+      'patch_description_url' => array(
+        'description' => 'The (optional) URL where a patch file applied to a package is described.',
+        'type' => 'text',
+        'not null' => FALSE,
+      ),
+      'patch_nid' => array(
+        'description' => 'The (optional) {node}.nid of a node on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+      'patch_comment_id' => array(
+        'description' => 'The (optional) {comment}.cid of a comment on this site that describes a patch file applied to a package.',
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => FALSE,
+      ),
+    ),
+    'primary key' => array('package_nid'),
+  );
+
+  db_create_table($ret, 'project_package_remote_patch', $remote_patch_schema);
+
+  return $ret;
+}
