tags 432496 patch thanks Hi Kitame-san,
I've prepared a patch for this bug which allows the gconf source to build against libdb4.5 instead of libdb3. Please find this patch attached. Although the database formats for db3 and db4.5 are compatible, the transaction logs are not; so as documented at <http://www.oracle.com/technology/documentation/berkeley-db/db/ref/upgrade/process.html>, since gconf was opening its databases with transaction support, any previous db3 databases will not be directly usable after gconf upgrade without processing these logs by hand -- a wholly automatic upgrade process is not possible, because there may be per-user gconf databases located anywhere on the system. However, the BDB backend is also not used by default, so I think this should be acceptable. I have uploaded this change as an NMU to the DELAYED/5-day queue on gluck. If you disagree that this is an acceptable solution, or you have any other objections to the NMU, please let me know. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
diff -u gconf-1.0.9/backends/bdb.c gconf-1.0.9/backends/bdb.c --- gconf-1.0.9/backends/bdb.c +++ gconf-1.0.9/backends/bdb.c @@ -154,7 +154,7 @@ dbname); #endif } - if ((ret = dbp->open (dbp, dbname, NULL, DB_BTREE, flags, 0664)) != 0) + if ((ret = dbp->open (dbp, NULL, dbname, NULL, DB_BTREE, flags, 0664)) != 0) { dbp->err (dbp, ret, "%s: open", dbname); goto err1; @@ -433,7 +433,7 @@ if (!inited) { - lock_id (bdb_db_env, &id); + bdb_db_env->lock_id (bdb_db_env, &id); inited = 1; } return id; @@ -455,7 +455,7 @@ init_dbt_int (&kdir_id, &dir_id); #if LOCKING - if (lock_get + if (bdb_db_env->lock_get (bdb_db_env, get_lock_id (), 0, &dir, DB_LOCK_WRITE, &lock) != 0) { /* TODO: error failed to lock id row of DB_DIR table */ @@ -541,7 +541,7 @@ ret = dir_id; unlock_and_return: #ifdef LOCKING - if (lock_put (bdb_db_env, &lock) != 0) + if (bdb_db_env->lock_put (bdb_db_env, &lock) != 0) { #ifdef GCONF_ERROR_VERBOSE fprintf (stderr, "%s: CRITICAL failed to unlock BDB dir database\n", @@ -562,7 +562,6 @@ guint32 id = get_or_create_dir (bdb, dir); int ret; DBT *tkeyp; - DBT *skeyp; free_dir (dir); CLEAR_STRUCT (val); @@ -620,7 +619,7 @@ } } -static +static int entry_already_added (GSList * list, const char *key) { while (list) @@ -880,7 +879,6 @@ const char *key, char **schema_namep, GError ** err) { GConfValue *value; - char *schema_key; *err = NULL; if (schema_namep != NULL) { @@ -1094,7 +1092,6 @@ DBT skey; char *parent; int parent_id; - char *localised_key; CLEAR_STRUCT (skey); *err = NULL; diff -u gconf-1.0.9/debian/changelog gconf-1.0.9/debian/changelog --- gconf-1.0.9/debian/changelog +++ gconf-1.0.9/debian/changelog @@ -1,3 +1,11 @@ +gconf (1.0.9-7.3) unstable; urgency=low + + * Non-maintainer upload. + * Switch from libdb3 to libdb4.5, as libdb3-dev is no longer supported + in Debian for lenny. Closes: #432496. + + -- Steve Langasek <[EMAIL PROTECTED]> Sun, 15 Jul 2007 12:56:08 -0700 + gconf (1.0.9-7.2) unstable; urgency=low * NMU. diff -u gconf-1.0.9/debian/control gconf-1.0.9/debian/control --- gconf-1.0.9/debian/control +++ gconf-1.0.9/debian/control @@ -2,7 +2,7 @@ Section: libs Priority: optional Maintainer: Takuo KITAME <[EMAIL PROTECTED]> -Build-Depends: libgtk1.2-dev, gtk-doc-tools, liborbit-dev, libpopt-dev, liboaf-dev (>= 0.3.0), libxml-dev, zlib1g-dev, gettext, debhelper (>> 3.0.0), libdb3-dev +Build-Depends: libgtk1.2-dev, gtk-doc-tools, liborbit-dev, libpopt-dev, liboaf-dev (>= 0.3.0), libxml-dev, zlib1g-dev, gettext, debhelper (>> 3.0.0), libdb4.5-dev Standards-Version: 3.5.2 Package: gconf