Author: arekm                        Date: Sun Nov 18 14:21:11 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix rebuilddb with root

---- Files affected:
SOURCES:
   rpm-rpm5-patchset-8784.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/rpm-rpm5-patchset-8784.patch
diff -u /dev/null SOURCES/rpm-rpm5-patchset-8784.patch:1.1
--- /dev/null   Sun Nov 18 15:21:11 2007
+++ SOURCES/rpm-rpm5-patchset-8784.patch        Sun Nov 18 15:21:06 2007
@@ -0,0 +1,41 @@
+diff -urN rpm-4.4.9.org/rpmdb/rpmdb.c rpm-4.4.9/rpmdb/rpmdb.c
+--- rpm-4.4.9.org/rpmdb/rpmdb.c        2007-11-18 15:11:35.653546000 +0100
++++ rpm-4.4.9/rpmdb/rpmdb.c    2007-11-18 15:14:35.666077651 +0100
+@@ -3899,11 +3899,6 @@
+     int * dbiTags = NULL;
+     int dbiTagsMax = 0;
+ 
+-    /[EMAIL PROTECTED]@*/
+-    if (prefix == NULL) prefix = "/";
+-    /[EMAIL PROTECTED]@*/
+-    prefix = rpmGetPath(prefix, NULL);        /* strip trailing '/' */
+-
+     _dbapi = rpmExpandNumeric("%{_dbapi}");
+     _dbapi_rebuild = rpmExpandNumeric("%{_dbapi_rebuild}");
+ 
+@@ -3920,6 +3915,16 @@
+       rc = 1;
+       goto exit;
+     }
++    /* Add --root prefix iff --dbpath is not a URL. */
++    switch (urlPath(tfn, NULL)) {
++        default:
++          prefix = xstrdup("");
++          break;
++      case URL_IS_UNKNOWN:
++          prefix = rpmGetPath((prefix ? prefix : "/"), NULL);
++          break;
++    }
++
+     dbpath = rootdbpath = rpmGetPath(prefix, tfn, NULL);
+     if (!(prefix[0] == '/' && prefix[1] == '\0'))
+       dbpath += strlen(prefix);
+@@ -3945,7 +3950,7 @@
+     }
+     newdbpath = newrootdbpath = rpmGetPath(prefix, tfn, NULL);
+     if (!(prefix[0] == '/' && prefix[1] == '\0'))
+-      newdbpath += strlen(prefix) - 1;
++      newdbpath += strlen(prefix);
+     tfn = _free(tfn);
+ 
+     rpmMessage(RPMMESS_DEBUG, _("rebuilding database %s into %s\n"),
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to