[100223] branches/release_2_1/base

cal at macports.org cal at macports.org
Mon Dec 3 16:50:32 PST 2012


Revision: 100223
          https://trac.macports.org/changeset/100223
Author:   cal at macports.org
Date:     2012-12-03 16:50:31 -0800 (Mon, 03 Dec 2012)
Log Message:
-----------
Merge from trunk: r100129, r100217-100219, r100220

r100129: Fix endless loop in rev-upgrade on broken or old portindex
r100217-19: Fixes and small optimizations in registry code
r100220: ChangeLog entry

Revision Links:
--------------
    https://trac.macports.org/changeset/100129
    https://trac.macports.org/changeset/100217
    https://trac.macports.org/changeset/100220
    https://trac.macports.org/changeset/100129
    https://trac.macports.org/changeset/100217
    https://trac.macports.org/changeset/100220

Modified Paths:
--------------
    branches/release_2_1/base/ChangeLog
    branches/release_2_1/base/src/cregistry/registry.c
    branches/release_2_1/base/src/macports1.0/macports.tcl
    branches/release_2_1/base/src/registry2.0/portuninstall.tcl

Property Changed:
----------------
    branches/release_2_1/base/
    branches/release_2_1/base/ChangeLog
    branches/release_2_1/base/src/macports1.0/


Property changes on: branches/release_2_1/base
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/gsoc11-rev-upgrade/base:78828-88375
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93129,93153,93197,93250,93256,93258-93259,93261,93268,93274,93303,93339,93511-93512,93816,93962,95382,95438-95439,95480,95552,95616,95620,95873,96136-96137,96399-96401,96538-96539,97868-97869
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
   + /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/gsoc11-rev-upgrade/base:78828-88375
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93129,93153,93197,93250,93256,93258-93259,93261,93268,93274,93303,93339,93511-93512,93816,93962,95382,95438-95439,95480,95552,95616,95620,95873,96136-96137,96399-96401,96538-96539,97868-97869,100129,100217-100220
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692

Modified: branches/release_2_1/base/ChangeLog
===================================================================
--- branches/release_2_1/base/ChangeLog	2012-12-04 00:44:27 UTC (rev 100222)
+++ branches/release_2_1/base/ChangeLog	2012-12-04 00:50:31 UTC (rev 100223)
@@ -13,6 +13,22 @@
       ccache >= 3.1.7 by running the initialization step as the macportsuser.
       (raimue in r97868)
 
+    - Fix an endless loop that could be triggered in rev-upgrade when a user
+      hasn't run selfupdate in more than a year or the portindex is corrupt.
+      (cal in r100129)
+
+    - Set a busy timeout on SQLite connections to prevent MacPorts from
+      uselessly burning CPU cycles when waiting for a database lock.
+      (cal in r100217)
+
+    - Switch from exclusive locking to immediate locking in the registry
+      database to avoid locking reads where not needed.
+      (cal in r100218)
+
+    - Fix a problem where interrupting the uninstallation process could leave
+      the registry database in a corrupted state.
+      (cal in r100219)
+
 Release 2.1.2 (2012-07-26 by jmr):
     - Fixed autodetection of developer_dir with Xcode 4.4
       (#35150, mfeiri in r95552)


Property changes on: branches/release_2_1/base/ChangeLog
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base/ChangeLog:37343-46937
/branches/gsoc09-logging/base/ChangeLog:51231-60371
/branches/gsoc11-rev-upgrade/base/ChangeLog:78828-88375
/branches/universal-sanity/base/ChangeLog:51872-52323
/branches/variant-descs-14482/base/ChangeLog:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base/ChangeLog:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,93062,93129,93153,93197,93225,93250,93256,93268,93274,95439,95620,95873,96137,96399-96401,96539,97869
/users/perry/base-bugs_and_notes/ChangeLog:45682-46060
/users/perry/base-select/ChangeLog:44044-44692
   + /branches/gsoc08-privileges/base/ChangeLog:37343-46937
/branches/gsoc09-logging/base/ChangeLog:51231-60371
/branches/gsoc11-rev-upgrade/base/ChangeLog:78828-88375
/branches/universal-sanity/base/ChangeLog:51872-52323
/branches/variant-descs-14482/base/ChangeLog:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base/ChangeLog:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,93062,93129,93153,93197,93225,93250,93256,93268,93274,95439,95620,95873,96137,96399-96401,96539,97869,100129,100217-100220
/users/perry/base-bugs_and_notes/ChangeLog:45682-46060
/users/perry/base-select/ChangeLog:44044-44692

Modified: branches/release_2_1/base/src/cregistry/registry.c
===================================================================
--- branches/release_2_1/base/src/cregistry/registry.c	2012-12-04 00:44:27 UTC (rev 100222)
+++ branches/release_2_1/base/src/cregistry/registry.c	2012-12-04 00:50:31 UTC (rev 100223)
@@ -118,6 +118,8 @@
         sqlite3_extended_result_codes(reg->db, 1);
 #endif
 
+        sqlite3_busy_timeout(reg->db, 25);
+
         if (init_db(reg->db, errPtr)) {
             reg->status = reg_none;
             *regPtr = reg;
@@ -364,7 +366,7 @@
  * @return             true if success; false if failure
  */
 int reg_start_write(reg_registry* reg, reg_error* errPtr) {
-    if (reg_start(reg, "BEGIN EXCLUSIVE", errPtr)) {
+    if (reg_start(reg, "BEGIN IMMEDIATE", errPtr)) {
         reg->status |= reg_transacting | reg_can_write;
         return 1;
     } else {


Property changes on: branches/release_2_1/base/src/macports1.0
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base/src/macports1.0:37343-46937
/branches/gsoc09-logging/base/src/macports1.0:51231-60371
/branches/gsoc11-rev-upgrade/base/src/macports1.0:78828-88375
/branches/universal-sanity/base/src/macports1.0:51872-52323
/branches/variant-descs-14482/base/src/macports1.0:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base/src/macports1.0:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93129,93153,93197,93221,93816,93962,95552
/users/perry/base-bugs_and_notes/src/macports1.0:45682-46060
/users/perry/base-select/src/macports1.0:44044-44692
   + /branches/gsoc08-privileges/base/src/macports1.0:37343-46937
/branches/gsoc09-logging/base/src/macports1.0:51231-60371
/branches/gsoc11-rev-upgrade/base/src/macports1.0:78828-88375
/branches/universal-sanity/base/src/macports1.0:51872-52323
/branches/variant-descs-14482/base/src/macports1.0:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base/src/macports1.0:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93129,93153,93197,93221,93816,93962,95552,100129,100217-100219
/users/perry/base-bugs_and_notes/src/macports1.0:45682-46060
/users/perry/base-select/src/macports1.0:44044-44692

Modified: branches/release_2_1/base/src/macports1.0/macports.tcl
===================================================================
--- branches/release_2_1/base/src/macports1.0/macports.tcl	2012-12-04 00:44:27 UTC (rev 100222)
+++ branches/release_2_1/base/src/macports1.0/macports.tcl	2012-12-04 00:50:31 UTC (rev 100223)
@@ -4342,8 +4342,8 @@
                 }
                 if {[llength $result] < 2} {
                     ui_warn "No port $portname found in the index; can't rebuild"
-                    unset broken_files_by_port($port)
-                    continue
+                    ui_warn "Either your portindex is corrupt or $portname has been removed; consider uninstalling it."
+                    error "Port $portname not found in index"
                 }
             }
             if {![info exists broken_port_counts($portname)]} {

Modified: branches/release_2_1/base/src/registry2.0/portuninstall.tcl
===================================================================
--- branches/release_2_1/base/src/registry2.0/portuninstall.tcl	2012-12-04 00:44:27 UTC (rev 100222)
+++ branches/release_2_1/base/src/registry2.0/portuninstall.tcl	2012-12-04 00:50:31 UTC (rev 100223)
@@ -217,7 +217,9 @@
         # files so just ignore the failure
         catch {file delete [::file dirname $imagefile]}
 
-        registry::entry delete $port
+        registry::write {
+            registry::entry delete $port
+        }
     }
     
     # uninstall dependencies if requested
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20121203/4d5390a6/attachment-0001.html>


More information about the macports-changes mailing list