rpms/gnome-libs/devel RH-gnome-libs-rhsnddefs.patch, NONE, 1.1 db.1.85.nodebug.patch, NONE, 1.1 db.1.85.patch, NONE, 1.1 db.1.85.s390.patch, NONE, 1.1 gnome-icon-item.c-preedit-diff, NONE, 1.1 gnome-libs-1.2.13-bghack.patch, NONE, 1.1 gnome-libs-1.2.13-config-dir-variable.patch, NONE, 1.1 gnome-libs-1.2.13-notearoffs.patch, NONE, 1.1 gnome-libs-1.2.13-noxalf.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-ac25.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-alpha_size_t.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-db1.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-ghelp.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-htmlview.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-moz-remote-fix.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-quote.patch, NONE, 1.1 gnome-libs-1.4.1.2.90-remove-duplicate-definition.patch, NONE, 1.1 gnome-libs-1.4.2-prototypes.patch, NONE, 1.1 gnome-libs-gtkrc.patch, NONE, 1.1 gnome-libs.spec, NONE, 1.1 utf8-ta.po, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Paul Howarth (pghmcfc) fedora-extras-commits at redhat.com
Thu Sep 14 06:23:10 UTC 2006


Author: pghmcfc

Update of /cvs/extras/rpms/gnome-libs/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2545/devel

Modified Files:
	.cvsignore sources 
Added Files:
	RH-gnome-libs-rhsnddefs.patch db.1.85.nodebug.patch 
	db.1.85.patch db.1.85.s390.patch 
	gnome-icon-item.c-preedit-diff gnome-libs-1.2.13-bghack.patch 
	gnome-libs-1.2.13-config-dir-variable.patch 
	gnome-libs-1.2.13-notearoffs.patch 
	gnome-libs-1.2.13-noxalf.patch 
	gnome-libs-1.4.1.2.90-ac25.patch 
	gnome-libs-1.4.1.2.90-alpha_size_t.patch 
	gnome-libs-1.4.1.2.90-db1.patch 
	gnome-libs-1.4.1.2.90-ghelp.patch 
	gnome-libs-1.4.1.2.90-htmlview.patch 
	gnome-libs-1.4.1.2.90-moz-remote-fix.patch 
	gnome-libs-1.4.1.2.90-quote.patch 
	gnome-libs-1.4.1.2.90-remove-duplicate-definition.patch 
	gnome-libs-1.4.2-prototypes.patch gnome-libs-gtkrc.patch 
	gnome-libs.spec utf8-ta.po 
Log Message:
auto-import gnome-libs-1.4.2-3 on branch devel from gnome-libs-1.4.2-3.src.rpm

RH-gnome-libs-rhsnddefs.patch:

--- NEW FILE RH-gnome-libs-rhsnddefs.patch ---
--- gnome-libs-1.0.10/gnome-data/gnome.soundlist.rhsnddefs	Mon May 31 07:04:03 1999
+++ gnome-libs-1.0.10/gnome-data/gnome.soundlist	Mon Jun  7 11:57:18 1999
@@ -8,7 +8,7 @@
 description[it]=Eventi di sistema GNOME
 
 [login]
-file=login.wav
+file=
 description=Login
 description[ca]=Entrada al sistema
 description[es]=Apertura de sesión
@@ -18,7 +18,7 @@
 description[it]=Login
 
 [logout]
-file=logout.wav
+file=
 description=Logout
 description[ca]=Eixida del sistema
 description[es]=Salida de sesión

db.1.85.nodebug.patch:

--- NEW FILE db.1.85.nodebug.patch ---
--- db.1.85/PORT/linux/Makefile	Thu Aug 16 18:47:21 2001
+++ db.1.85/PORT/linux/Makefile	Thu Aug 16 18:47:29 2001
@@ -45,22 +45,22 @@
 db_dump185.o: db_dump185.c
 	$(CL) -o $@ $<
 %.o: ../../hash/%.c
-	$(CL) -I../../hash -g -o $@ $<
+	$(CL) -I../../hash -o $@ $<
 %.os: ../../hash/%.c
 	$(CL) -I../../hash -fPIC -o $@ $<
 %.o: ../../btree/%.c
-	$(CL) -I../../btree -g -o $@ $<
+	$(CL) -I../../btree -o $@ $<
 %.os: ../../btree/%.c
 	$(CL) -I../../btree -fPIC -o $@ $<
 db.o: ../../db/db.c
-	$(CL) -g -o $@ $<
+	$(CL) -o $@ $<
 db.os: ../../db/db.c
 	$(CL) -fPIC -o $@ $<
 mpool.o: ../../mpool/mpool.c
-	$(CL) -g -o $@ $<
+	$(CL) -o $@ $<
 mpool.os: ../../mpool/mpool.c
 	$(CL) -fPIC -o $@ $<
 %.o: ../../recno/%.c
-	$(CL) -I../../recno -g -o $@ $<
+	$(CL) -I../../recno -o $@ $<
 %.os: ../../recno/%.c
 	$(CL) -I../../recno -fPIC -o $@ $<

db.1.85.patch:

--- NEW FILE db.1.85.patch ---
--- db.1.85/btree/bt_delete.c.jj	Thu Jul 28 16:30:03 1994
+++ db.1.85/btree/bt_delete.c	Wed Apr 19 17:56:12 2000
@@ -154,7 +154,7 @@ __bt_stkacq(t, hp, c)
 	pgno_t pgno;
 	recno_t nextpg, prevpg;
 	int exact, level;
-	
+
 	/*
 	 * Find the first occurrence of the key in the tree.  Toss the
 	 * currently locked page so we don't hit an already-locked page.
@@ -270,7 +270,7 @@ __bt_stkacq(t, hp, c)
 		if ((h = mpool_get(t->bt_mp, prevpg, 0)) == NULL)
 			return (1);
 	}
-	
+
 
 ret:	mpool_put(t->bt_mp, h, 0);
 	return ((*hp = mpool_get(t->bt_mp, c->pg.pgno, 0)) == NULL);
@@ -402,7 +402,7 @@ __bt_pdelete(t, h)
 		/* Get the parent page. */
 		if ((pg = mpool_get(t->bt_mp, parent->pgno, 0)) == NULL)
 			return (RET_ERROR);
-		
+
 		index = parent->index;
 		bi = GETBINTERNAL(pg, index);
 
@@ -418,7 +418,7 @@ __bt_pdelete(t, h)
 		 * root page. If it's the rootpage, turn it back into an empty
 		 * leaf page.
 		 */
-		if (NEXTINDEX(pg) == 1)
+		if (NEXTINDEX(pg) == 1) {
 			if (pg->pgno == P_ROOT) {
 				pg->lower = BTDATAOFF;
 				pg->upper = t->bt_psize;
@@ -428,7 +428,7 @@ __bt_pdelete(t, h)
 					return (RET_ERROR);
 				continue;
 			}
-		else {
+		} else {
 			/* Pack remaining key items at the end of the page. */
 			nksize = NBINTERNAL(bi->ksize);
 			from = (char *)pg + pg->upper;
@@ -571,7 +571,7 @@ __bt_curdel(t, key, h, index)
 			key = &c->key;
 		}
 		/* Check previous key, if not at the beginning of the page. */
-		if (index > 0) { 
+		if (index > 0) {
 			e.page = h;
 			e.index = index - 1;
 			if (__bt_cmp(t, key, &e) == 0) {
--- db.1.85/btree/bt_open.c.jj	Thu Aug 18 15:30:42 1994
+++ db.1.85/btree/bt_open.c	Wed Apr 19 17:56:12 2000
@@ -125,7 +125,7 @@ __bt_open(fname, flags, mode, openinfo, 
 		 */
 		if (b.psize &&
 		    (b.psize < MINPSIZE || b.psize > MAX_PAGE_OFFSET + 1 ||
-		    b.psize & sizeof(indx_t) - 1))
+		    b.psize & (sizeof(indx_t) - 1)))
 			goto einval;
 
 		/* Minimum number of keys per page; absolute minimum is 2. */
@@ -200,7 +200,7 @@ __bt_open(fname, flags, mode, openinfo, 
 		default:
 			goto einval;
 		}
-		
+
 		if ((t->bt_fd = open(fname, flags, mode)) < 0)
 			goto err;
 
@@ -245,7 +245,7 @@ __bt_open(fname, flags, mode, openinfo, 
 		if (m.magic != BTREEMAGIC || m.version != BTREEVERSION)
 			goto eftype;
 		if (m.psize < MINPSIZE || m.psize > MAX_PAGE_OFFSET + 1 ||
-		    m.psize & sizeof(indx_t) - 1)
+		    m.psize & (sizeof(indx_t) - 1))
 			goto eftype;
 		if (m.flags & ~SAVEMETA)
 			goto eftype;
@@ -259,7 +259,9 @@ __bt_open(fname, flags, mode, openinfo, 
 		 * Don't overflow the page offset type.
 		 */
 		if (b.psize == 0) {
+#ifdef _STATBUF_ST_BLKSIZE
 			b.psize = sb.st_blksize;
+#endif
 			if (b.psize < MINPSIZE)
 				b.psize = MINPSIZE;
 			if (b.psize > MAX_PAGE_OFFSET + 1)
@@ -278,8 +280,8 @@ __bt_open(fname, flags, mode, openinfo, 
 	t->bt_psize = b.psize;
 
 	/* Set the cache size; must be a multiple of the page size. */
-	if (b.cachesize && b.cachesize & b.psize - 1)
-		b.cachesize += (~b.cachesize & b.psize - 1) + 1;
+	if (b.cachesize && b.cachesize & (b.psize - 1))
+		b.cachesize += (~b.cachesize & (b.psize - 1)) + 1;
 	if (b.cachesize < b.psize * MINCACHE)
 		b.cachesize = b.psize * MINCACHE;
 
@@ -388,18 +390,30 @@ tmp()
 {
 	sigset_t set, oset;
 	int fd;
-	char *envtmp;
-	char path[MAXPATHLEN];
+	const char *envtmp;
+	char *path;
+	static const char fmt[] = "%s/bt.XXXXXX";
+	size_t n;
 
 	envtmp = getenv("TMPDIR");
-	(void)snprintf(path,
-	    sizeof(path), "%s/bt.XXXXXX", envtmp ? envtmp : "/tmp");
+	if (!envtmp)
+	  envtmp = "/tmp";
+	n = strlen (envtmp) + sizeof fmt;
+#ifdef	__GNUC__
+	path = __builtin_alloca(n);
+#else
+	path = malloc(n);
+#endif
+	(void)snprintf(path, n, fmt, envtmp ? envtmp : "/tmp");
 
 	(void)sigfillset(&set);
 	(void)sigprocmask(SIG_BLOCK, &set, &oset);
 	if ((fd = mkstemp(path)) != -1)
 		(void)unlink(path);
 	(void)sigprocmask(SIG_SETMASK, &oset, NULL);
+#ifndef	__GNUC__
+	free(path);
+#endif
 	return(fd);
 }
 
--- db.1.85/btree/bt_page.c.jj	Thu Jul 14 03:29:02 1994
+++ db.1.85/btree/bt_page.c	Wed Apr 19 17:56:12 2000
@@ -65,6 +65,7 @@ __bt_free(t, h)
 	h->prevpg = P_INVALID;
 	h->nextpg = t->bt_free;
 	t->bt_free = h->pgno;
+	F_SET(t, B_METADIRTY);
 
 	/* Make sure the page gets written back. */
 	return (mpool_put(t->bt_mp, h, MPOOL_DIRTY));
@@ -92,6 +93,7 @@ __bt_new(t, npg)
 	    (h = mpool_get(t->bt_mp, t->bt_free, 0)) != NULL) {
 		*npg = t->bt_free;
 		t->bt_free = h->nextpg;
+		F_SET(t, B_METADIRTY);
 		return (h);
 	}
 	return (mpool_new(t->bt_mp, npg));
--- db.1.85/btree/bt_put.c.jj	Tue Jul 26 20:56:14 1994
+++ db.1.85/btree/bt_put.c	Wed Apr 19 17:56:12 2000
@@ -201,7 +201,7 @@ delete:		if (__bt_dleaf(t, key, h, index
 	 * into the offset array, shift the pointers up.
 	 */
 	nbytes = NBLEAFDBT(key->size, data->size);
-	if (h->upper - h->lower < nbytes + sizeof(indx_t)) {
+	if ((u_int32_t) (h->upper - h->lower) < nbytes + sizeof(indx_t)) {
 		if ((status = __bt_split(t, h, key,
 		    data, dflags, nbytes, index)) != RET_SUCCESS)
 			return (status);
@@ -223,7 +223,7 @@ delete:		if (__bt_dleaf(t, key, h, index
 	    t->bt_cursor.pg.pgno == h->pgno && t->bt_cursor.pg.index >= index)
 		++t->bt_cursor.pg.index;
 
-	if (t->bt_order == NOT)
+	if (t->bt_order == NOT) {
 		if (h->nextpg == P_INVALID) {
 			if (index == NEXTINDEX(h) - 1) {
 				t->bt_order = FORWARD;
@@ -237,6 +237,7 @@ delete:		if (__bt_dleaf(t, key, h, index
 				t->bt_last.pgno = h->pgno;
 			}
 		}
+	}
 
 	mpool_put(t->bt_mp, h, MPOOL_DIRTY);
 
@@ -284,7 +285,7 @@ bt_fast(t, key, data, exactp)
 	 * have to search to get split stack.
 	 */
 	nbytes = NBLEAFDBT(key->size, data->size);
-	if (h->upper - h->lower < nbytes + sizeof(indx_t))
+	if ((u_int32_t) (h->upper - h->lower) < nbytes + sizeof(indx_t))
 		goto miss;
 
 	if (t->bt_order == FORWARD) {
--- db.1.85/btree/bt_seq.c.jj	Tue Jul 26 18:57:24 1994
+++ db.1.85/btree/bt_seq.c	Wed Apr 19 17:56:12 2000
@@ -92,7 +92,7 @@ __bt_seq(dbp, key, data, flags)
 	}
 
 	/*
-	 * If scan unitialized as yet, or starting at a specific record, set
+	 * If scan uninitialized as yet, or starting at a specific record, set
 	 * the scan to a specific key.  Both __bt_seqset and __bt_seqadv pin
 	 * the page the cursor references if they're successful.
 	 */
@@ -358,13 +358,13 @@ __bt_first(t, key, erval, exactp)
 	 * page) and return it.
 	 */
 	if ((ep = __bt_search(t, key, exactp)) == NULL)
-		return (NULL);
+		return (RET_SPECIAL);
 	if (*exactp) {
 		if (F_ISSET(t, B_NODUPS)) {
 			*erval = *ep;
 			return (RET_SUCCESS);
 		}
-			
+
 		/*
 		 * Walk backwards, as long as the entry matches and there are
 		 * keys left in the tree.  Save a copy of each match in case
--- db.1.85/btree/bt_split.c.jj	Tue Jul 26 20:22:02 1994
+++ db.1.85/btree/bt_split.c	Wed Apr 19 17:56:12 2000
@@ -215,7 +215,8 @@ __bt_split(t, sp, key, data, flags, ilen
 		}
 
 		/* Split the parent page if necessary or shift the indices. */
-		if (h->upper - h->lower < nbytes + sizeof(indx_t)) {
+		if ((u_int32_t) (h->upper - h->lower)
+		    < nbytes + sizeof(indx_t)) {
 			sp = h;
 			h = h->pgno == P_ROOT ?
 			    bt_root(t, h, &l, &r, &skip, nbytes) :
@@ -673,7 +674,8 @@ bt_psplit(t, h, l, r, pskip, ilen)
 		 * where we decide to try and copy too much onto the left page.
 		 * Make sure that doesn't happen.
 		 */
-		if (skip <= off && used + nbytes >= full) {
+		if ((skip <= off && used + nbytes + sizeof(indx_t) >= full)
+		    || nxt == top - 1) {
 			--off;
 			break;
 		}
@@ -686,7 +688,7 @@ bt_psplit(t, h, l, r, pskip, ilen)
 			memmove((char *)l + l->upper, src, nbytes);
 		}
 
-		used += nbytes;
+		used += nbytes + sizeof(indx_t);
 		if (used >= half) {
 			if (!isbigkey || bigkeycnt == 3)
 				break;
--- db.1.85/btree/bt_utils.c.jj	Wed Jul 20 17:06:53 1994
+++ db.1.85/btree/bt_utils.c	Wed Apr 19 17:56:12 2000
@@ -76,7 +76,7 @@ __bt_ret(t, e, key, rkey, data, rdata, c
 	bl = GETBLEAF(e->page, e->index);
 
 	/*
-	 * We must copy big keys/data to make them contigous.  Otherwise,
+	 * We must copy big keys/data to make them contiguous.  Otherwise,
 	 * leave the page pinned and don't copy unless the user specified
 	 * concurrent access.
 	 */
--- db.1.85/btree/btree.h.jj	Thu Aug 18 15:30:43 1994
+++ db.1.85/btree/btree.h	Wed Apr 19 17:58:46 2000
@@ -43,6 +43,14 @@
 
 #include <mpool.h>
 
+#define mpool_open __mpool_open
+#define mpool_filter __mpool_filter
+#define mpool_new __mpool_new
+#define mpool_get __mpool_get
+#define mpool_put __mpool_put
+#define mpool_sync __mpool_sync
+#define mpool_close __mpool_close
+
 #define	DEFMINKEYPAGE	(2)		/* Minimum keys per page */
 #define	MINCACHE	(5)		/* Minimum cached pages */
 #define	MINPSIZE	(512)		/* Minimum page size */
@@ -161,7 +169,7 @@ typedef struct _rinternal {
 #define NRINTERNAL							\
 	LALIGN(sizeof(recno_t) + sizeof(pgno_t))
 
-/* Copy a RINTERAL entry to the page. */
+/* Copy a RINTERNAL entry to the page. */
 #define	WR_RINTERNAL(p, nrecs, pgno) {					\
 	*(recno_t *)p = nrecs;						\
 	p += sizeof(recno_t);						\
--- db.1.85/hash/extern.h.jj	Thu Jun 16 22:30:14 1994
+++ db.1.85/hash/extern.h	Wed Apr 19 17:56:12 2000
@@ -52,7 +52,7 @@ void	 __free_ovflpage __P((HTAB *, BUFHE
 BUFHEAD	*__get_buf __P((HTAB *, u_int32_t, BUFHEAD *, int));
 int	 __get_page __P((HTAB *, char *, u_int32_t, int, int, int));
 int	 __ibitmap __P((HTAB *, int, int, int));
-u_int32_t	 __log2 __P((u_int32_t));
+u_int32_t	 __hash_log2 __P((u_int32_t));
 int	 __put_page __P((HTAB *, char *, u_int32_t, int, int));
 void	 __reclaim_buf __P((HTAB *, BUFHEAD *));
 int	 __split_page __P((HTAB *, u_int32_t, u_int32_t));
--- db.1.85/hash/hash.c.jj	Fri Jun 24 17:12:29 1994
+++ db.1.85/hash/hash.c	Wed Apr 19 17:56:12 2000
@@ -157,7 +157,8 @@ __hash_open(file, flags, mode, info, dfl
 		if (hashp->VERSION != HASHVERSION &&
 		    hashp->VERSION != OLDHASHVERSION)
 			RETURN_ERROR(EFTYPE, error1);
-		if (hashp->hash(CHARKEY, sizeof(CHARKEY)) != hashp->H_CHARKEY)
+		if (hashp->hash(CHARKEY, sizeof(CHARKEY))
+		    != (u_int32_t) hashp->H_CHARKEY)
 			RETURN_ERROR(EFTYPE, error1);
 		/*
 		 * Figure out how many segments we need.  Max_Bucket is the
@@ -189,7 +190,7 @@ __hash_open(file, flags, mode, info, dfl
 		__buf_init(hashp, DEF_BUFSIZE);
 
 	hashp->new_file = new_table;
-	hashp->save_file = file && (hashp->flags & O_RDWR);
+	hashp->save_file = file && (hashp->flags & O_ACCMODE) != O_RDONLY;
 	hashp->cbucket = -1;
 	if (!(dbp = (DB *)malloc(sizeof(DB)))) {
 		save_errno = errno;
@@ -281,7 +282,9 @@ init_hash(hashp, file, info)
 	const char *file;
 	HASHINFO *info;
 {
+#ifdef _STATBUF_ST_BLKSIZE
 	struct stat statbuf;
+#endif
 	int nelem;
 
 	nelem = 1;
@@ -298,17 +301,19 @@ init_hash(hashp, file, info)
 	memset(hashp->BITMAPS, 0, sizeof (hashp->BITMAPS));
 
 	/* Fix bucket size to be optimal for file system */
+#ifdef _STATBUF_ST_BLKSIZE
 	if (file != NULL) {
 		if (stat(file, &statbuf))
 			return (NULL);
 		hashp->BSIZE = statbuf.st_blksize;
-		hashp->BSHIFT = __log2(hashp->BSIZE);
+		hashp->BSHIFT = __hash_log2(hashp->BSIZE);
 	}
+#endif
 
 	if (info) {
 		if (info->bsize) {
 			/* Round pagesize up to power of 2 */
-			hashp->BSHIFT = __log2(info->bsize);
+			hashp->BSHIFT = __hash_log2(info->bsize);
 			hashp->BSIZE = 1 << hashp->BSHIFT;
 			if (hashp->BSIZE > MAX_BSIZE) {
 				errno = EINVAL;
@@ -357,7 +362,7 @@ init_htab(hashp, nelem)
 	 */
 	nelem = (nelem - 1) / hashp->FFACTOR + 1;
 
-	l2 = __log2(MAX(nelem, 2));
+	l2 = __hash_log2(MAX(nelem, 2));
 	nbuckets = 1 << l2;
 
 	hashp->SPARES[l2] = l2 + 1;
@@ -375,7 +380,7 @@ init_htab(hashp, nelem)
 	    hashp->BSHIFT) + 1;
 
 	nsegs = (nbuckets - 1) / hashp->SGSIZE + 1;
-	nsegs = 1 << __log2(nsegs);
+	nsegs = 1 << __hash_log2(nsegs);
 
 	if (nsegs > hashp->DSIZE)
 		hashp->DSIZE = nsegs;
@@ -505,7 +510,7 @@ flush_meta(hashp)
 	else
 		if (wsize != sizeof(HASHHDR)) {
 			errno = EFTYPE;
-			hashp->errno = errno;
+			hashp->errnum = errno;
 			return (-1);
 		}
 	for (i = 0; i < NCACHED; i++)
@@ -536,7 +541,7 @@ hash_get(dbp, key, data, flag)
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag) {
-		hashp->errno = errno = EINVAL;
+		hashp->errnum = errno = EINVAL;
 		return (ERROR);
 	}
 	return (hash_access(hashp, HASH_GET, (DBT *)key, data));
@@ -553,11 +558,11 @@ hash_put(dbp, key, data, flag)
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag && flag != R_NOOVERWRITE) {
-		hashp->errno = errno = EINVAL;
+		hashp->errnum = errno = EINVAL;
 		return (ERROR);
 	}
 	if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
-		hashp->errno = errno = EPERM;
+		hashp->errnum = errno = EPERM;
 		return (ERROR);
 	}
 	return (hash_access(hashp, flag == R_NOOVERWRITE ?
@@ -574,11 +579,11 @@ hash_delete(dbp, key, flag)
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag && flag != R_CURSOR) {
-		hashp->errno = errno = EINVAL;
+		hashp->errnum = errno = EINVAL;
 		return (ERROR);
 	}
 	if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
-		hashp->errno = errno = EPERM;
+		hashp->errnum = errno = EPERM;
 		return (ERROR);
 	}
 	return (hash_access(hashp, HASH_DELETE, (DBT *)key, NULL));
@@ -729,7 +734,7 @@ hash_seq(dbp, key, data, flag)
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag && flag != R_FIRST && flag != R_NEXT) {
-		hashp->errno = errno = EINVAL;
+		hashp->errnum = errno = EINVAL;
 		return (ERROR);
 	}
 #ifdef HASH_STATISTICS
@@ -744,7 +749,7 @@ hash_seq(dbp, key, data, flag)
 	for (bp = NULL; !bp || !bp[0]; ) {
 		if (!(bufp = hashp->cpage)) {
 			for (bucket = hashp->cbucket;
-			    bucket <= hashp->MAX_BUCKET;
+			    bucket <= (u_int32_t) hashp->MAX_BUCKET;
 			    bucket++, hashp->cndx = 1) {
 				bufp = __get_buf(hashp, bucket, NULL, 0);
 				if (!bufp)
@@ -842,13 +847,13 @@ __expand_table(hashp)
 	 * * increases), we need to copy the current contents of the spare
 	 * split bucket to the next bucket.
 	 */
-	spare_ndx = __log2(hashp->MAX_BUCKET + 1);
+	spare_ndx = __hash_log2(hashp->MAX_BUCKET + 1);
 	if (spare_ndx > hashp->OVFL_POINT) {
 		hashp->SPARES[spare_ndx] = hashp->SPARES[hashp->OVFL_POINT];
 		hashp->OVFL_POINT = spare_ndx;
 	}
 
-	if (new_bucket > hashp->HIGH_MASK) {
+	if (new_bucket > (u_int32_t) hashp->HIGH_MASK) {
 		/* Starting a new doubling */
 		hashp->LOW_MASK = hashp->HIGH_MASK;
 		hashp->HIGH_MASK = new_bucket | hashp->LOW_MASK;
@@ -868,7 +873,7 @@ hash_realloc(p_ptr, oldsize, newsize)
 {
 	register void *p;
 
-	if (p = malloc(newsize)) {
+	if ((p = malloc(newsize))) {
 		memmove(p, *p_ptr, oldsize);
 		memset((char *)p + oldsize, 0, newsize - oldsize);
 		free(*p_ptr);
--- db.1.85/hash/hash.h.jj	Fri Jun 24 17:12:29 1994
+++ db.1.85/hash/hash.h	Wed Apr 19 17:56:12 2000
@@ -71,28 +71,28 @@ typedef struct hashhdr {		/* Disk reside
 	int		dsize;		/* Directory Size */
 	int		ssize;		/* Segment Size */
 	int		sshift;		/* Segment shift */
-	int		ovfl_point;	/* Where overflow pages are being 
+	int		ovfl_point;	/* Where overflow pages are being
 					 * allocated */
 	int		last_freed;	/* Last overflow page freed */
 	int		max_bucket;	/* ID of Maximum bucket in use */
 	int		high_mask;	/* Mask to modulo into entire table */
-	int		low_mask;	/* Mask to modulo into lower half of 
+	int		low_mask;	/* Mask to modulo into lower half of
 					 * table */
 	int		ffactor;	/* Fill factor */
 	int		nkeys;		/* Number of keys in hash table */
 	int		hdrpages;	/* Size of table header */
 	int		h_charkey;	/* value of hash(CHARKEY) */
-#define NCACHED	32			/* number of bit maps and spare 
+#define NCACHED	32			/* number of bit maps and spare
 					 * points */
 	int		spares[NCACHED];/* spare pages for overflow */
-	u_int16_t	bitmaps[NCACHED];	/* address of overflow page 
+	u_int16_t	bitmaps[NCACHED];	/* address of overflow page
 						 * bitmaps */
 } HASHHDR;
 
 typedef struct htab	 {		/* Memory resident data structure */
 	HASHHDR 	hdr;		/* Header */
 	int		nsegs;		/* Number of allocated segments */
-	int		exsegs;		/* Number of extra allocated 
+	int		exsegs;		/* Number of extra allocated
 					 * segments */
 	u_int32_t			/* Hash function */
 	    (*hash)__P((const void *, size_t));
@@ -103,16 +103,16 @@ typedef struct htab	 {		/* Memory reside
 	BUFHEAD 	*cpage;		/* Current page */
 	int		cbucket;	/* Current bucket */
 	int		cndx;		/* Index of next item on cpage */
-	int		errno;		/* Error Number -- for DBM 
-					 * compatability */
-	int		new_file;	/* Indicates if fd is backing store 
+	int		errnum;		/* Error Number -- for DBM
+					 * compatibility */
+	int		new_file;	/* Indicates if fd is backing store
 					 * or no */
-	int		save_file;	/* Indicates whether we need to flush 
+	int		save_file;	/* Indicates whether we need to flush
 					 * file at
 					 * exit */
 	u_int32_t	*mapp[NCACHED];	/* Pointers to page maps */
 	int		nmaps;		/* Initial number of bitmaps */
-	int		nbufs;		/* Number of buffers left to 
+	int		nbufs;		/* Number of buffers left to
 					 * allocate */
 	BUFHEAD 	bufhead;	/* Header of buffer lru list */
 	SEGMENT 	*dir;		/* Hash Bucket directory */
@@ -170,7 +170,7 @@ typedef struct htab	 {		/* Memory reside
 #define	OADDR_OF(S,O)	((u_int32_t)((u_int32_t)(S) << SPLITSHIFT) + (O))
 
 #define BUCKET_TO_PAGE(B) \
-	(B) + hashp->HDRPAGES + ((B) ? hashp->SPARES[__log2((B)+1)-1] : 0)
+	(B) + hashp->HDRPAGES + ((B) ? hashp->SPARES[__hash_log2((B)+1)-1] : 0)
 #define OADDR_TO_PAGE(B) 	\
 	BUCKET_TO_PAGE ( (1 << SPLITNUM((B))) -1 ) + OPAGENUM((B));
 
@@ -194,7 +194,7 @@ typedef struct htab	 {		/* Memory reside
  *		so it starts on this page and continues on the next.
  *		The format of the page is:
  *		    KEY_OFF PARTIAL_KEY OVFL_PAGENO OVFLPAGE
- *		
+ *
  *		    KEY_OFF -- offset of the beginning of the key
  *		    PARTIAL_KEY -- 1
  *		    OVFL_PAGENO - page number of the next overflow page
@@ -229,7 +229,7 @@ typedef struct htab	 {		/* Memory reside
  *		    OVFL_PAGENO - page number of the next overflow page
  *		    OVFLPAGE -- 0
  *
- * FULL_KEY_DATA 
+ * FULL_KEY_DATA
  *		This must be the first key/data pair on the page.
  *		There are two cases:
  *
--- db.1.85/hash/hash_bigkey.c.jj	Fri Jun 24 17:12:30 1994
+++ db.1.85/hash/hash_bigkey.c	Wed Apr 19 17:56:12 2000
@@ -121,7 +121,7 @@ __big_insert(hashp, bufp, key, val)
 		if (!bufp)
 			return (-1);
 		n = p[0];
-		if (!key_size)
+		if (!key_size) {
 			if (FREESPACE(p)) {
 				move_bytes = MIN(FREESPACE(p), val_size);
 				off = OFFSET(p) - move_bytes;
@@ -134,6 +134,7 @@ __big_insert(hashp, bufp, key, val)
 				OFFSET(p) = off;
 			} else
 				p[n - 2] = FULL_KEY;
+		}
 		p = (u_int16_t *)bufp->page;
 		cp = bufp->page;
 		bufp->flags |= BUF_MOD;
@@ -147,7 +148,7 @@ __big_insert(hashp, bufp, key, val)
 		 * Here's the hack to make sure that if the data ends on the
 		 * same page as the key ends, FREESPACE is at least one.
 		 */
-		if (space == val_size && val_size == val->size)
+		if ((int) space == val_size && (size_t) val_size == val->size)
 			move_bytes--;
 		off = OFFSET(p) - move_bytes;
 		memmove(cp + off, val_data, move_bytes);
@@ -249,7 +250,7 @@ __big_delete(hashp, bufp)
 	bufp->flags |= BUF_MOD;
 	if (rbufp)
 		__free_ovflpage(hashp, rbufp);
-	if (last_bfp != rbufp)
+	if (last_bfp && last_bfp != rbufp)
 		__free_ovflpage(hashp, last_bfp);
 
 	hashp->NKEYS--;
@@ -431,7 +432,7 @@ __big_return(hashp, bufp, ndx, val, set_
 		}
 
 	val->size = collect_data(hashp, bufp, (int)len, set_current);
-	if (val->size == -1)
+	if (val->size == (size_t) -1)
 		return (-1);
 	if (save_p->addr != save_addr) {
 		/* We are pretty short on buffers. */
@@ -510,7 +511,7 @@ __big_keydata(hashp, bufp, key, val, set
 	int set;
 {
 	key->size = collect_key(hashp, bufp, 0, val, set);
-	if (key->size == -1)
+	if (key->size == (size_t) -1)
 		return (-1);
 	key->data = (u_char *)hashp->tmp_key;
 	return (0);
@@ -590,7 +591,7 @@ __big_split(hashp, op, np, big_keyp, add
 		return (-1);
 	change = (__call_hash(hashp, key.data, key.size) != obucket);
 
-	if (ret->next_addr = __find_last_page(hashp, &big_keyp)) {
+	if ((ret->next_addr = __find_last_page(hashp, &big_keyp))) {
 		if (!(ret->nextp =
 		    __get_buf(hashp, ret->next_addr, big_keyp, 0)))
 			return (-1);;
--- db.1.85/hash/hash_log2.c.jj	Tue May 31 22:56:53 1994
+++ db.1.85/hash/hash_log2.c	Wed Apr 19 17:56:12 2000
@@ -42,8 +42,10 @@ static char sccsid[] = "@(#)hash_log2.c	
 
 #include <db.h>
 
+u_int32_t __hash_log2 __P((u_int32_t));
+
 u_int32_t
-__log2(num)
+__hash_log2(num)
 	u_int32_t num;
 {
 	register u_int32_t i, limit;
--- db.1.85/hash/ndbm.c.jj	Thu Jul 21 20:02:40 1994
+++ db.1.85/hash/ndbm.c	Wed Apr 19 17:56:12 2000
@@ -47,6 +47,7 @@ static char sccsid[] = "@(#)ndbm.c	8.4 (
 
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
 
 #include <ndbm.h>
 #include "hash.h"
@@ -61,8 +62,16 @@ dbm_open(file, flags, mode)
 	const char *file;
 	int flags, mode;
 {
+  	DBM *db;
 	HASHINFO info;
-	char path[MAXPATHLEN];
+	const size_t len = strlen(file) + sizeof (DBM_SUFFIX);
+#ifdef __GNUC__
+	char path[len];
+#else
+	char *path = malloc(len);
+	if (path == NULL)
+		return NULL;
+#endif
 
 	info.bsize = 4096;
 	info.ffactor = 40;
@@ -72,7 +81,11 @@ dbm_open(file, flags, mode)
 	info.lorder = 0;
 	(void)strcpy(path, file);
 	(void)strcat(path, DBM_SUFFIX);
-	return ((DBM *)__hash_open(path, flags, mode, &info, 0));
+	db = (DBM *)__hash_open(path, flags, mode, &info, 0);
+#ifndef	__GNUC__
+	free(path);
+#endif
+	return db;
 }
 
 extern void
@@ -180,7 +193,7 @@ dbm_error(db)
 	HTAB *hp;
 
 	hp = (HTAB *)db->internal;
-	return (hp->errno);
+	return (hp->errnum);
 }
 
 extern int
@@ -190,7 +203,7 @@ dbm_clearerr(db)
 	HTAB *hp;
 
 	hp = (HTAB *)db->internal;
-	hp->errno = 0;
+	hp->errnum = 0;
 	return (0);
 }
 
--- db.1.85/recno/rec_close.c.jj	Thu Aug 18 17:23:29 1994
+++ db.1.85/recno/rec_close.c	Wed Apr 19 17:56:12 2000
@@ -79,13 +79,14 @@ __rec_close(dbp)
 	if (F_ISSET(t, R_MEMMAPPED) && munmap(t->bt_smap, t->bt_msize))
 		status = RET_ERROR;
 
-	if (!F_ISSET(t, R_INMEM))
+	if (!F_ISSET(t, R_INMEM)) {
 		if (F_ISSET(t, R_CLOSEFP)) {
 			if (fclose(t->bt_rfp))
 				status = RET_ERROR;
 		} else
 			if (close(t->bt_rfd))
 				status = RET_ERROR;
+	}
 
 	if (__bt_close(dbp) == RET_ERROR)
 		status = RET_ERROR;
@@ -150,7 +151,7 @@ __rec_sync(dbp, flags)
 		 */
 		status = (dbp->seq)(dbp, &key, &data, R_FIRST);
 		while (status == RET_SUCCESS) {
-			if (write(t->bt_rfd, data.data, data.size) != data.size)
+			if ((size_t) write(t->bt_rfd, data.data, data.size) != data.size)
 				return (RET_ERROR);
 			status = (dbp->seq)(dbp, &key, &data, R_NEXT);
 		}
@@ -162,7 +163,7 @@ __rec_sync(dbp, flags)
 		while (status == RET_SUCCESS) {
 			iov[0].iov_base = data.data;
 			iov[0].iov_len = data.size;
-			if (writev(t->bt_rfd, iov, 2) != data.size + 1)
+			if ((size_t) writev(t->bt_rfd, iov, 2) != data.size + 1)
 				return (RET_ERROR);
 			status = (dbp->seq)(dbp, &key, &data, R_NEXT);
 		}
--- db.1.85/recno/rec_put.c.jj	Thu Aug 18 17:24:16 1994
+++ db.1.85/recno/rec_put.c	Wed Apr 19 17:56:12 2000
@@ -170,7 +170,7 @@ einval:		errno = EINVAL;
 
 	if (flags == R_SETCURSOR)
 		t->bt_cursor.rcursor = nrec;
-	
+
 	F_SET(t, R_MODIFIED);
 	return (__rec_ret(t, NULL, nrec, key, NULL));
 }
@@ -256,7 +256,7 @@ __rec_iput(t, nrec, data, flags)
 	 * the offset array, shift the pointers up.
 	 */
 	nbytes = NRLEAFDBT(data->size);
-	if (h->upper - h->lower < nbytes + sizeof(indx_t)) {
+	if ((u_int32_t) (h->upper - h->lower) < nbytes + sizeof(indx_t)) {
 		status = __bt_split(t, h, NULL, data, dflags, nbytes, index);
 		if (status == RET_SUCCESS)
 			++t->bt_nrecs;
--- db.1.85/recno/rec_seq.c.jj	Thu Jul 14 03:35:40 1994
+++ db.1.85/recno/rec_seq.c	Wed Apr 19 17:56:12 2000
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  */
 
-#ifndef lint
+#if defined(LIBC_SCCS) && !defined(lint)
 static char sccsid[] = "@(#)rec_seq.c	8.3 (Berkeley) 7/14/94";
 #endif /* not lint */
 
--- db.1.85/recno/rec_utils.c.jj	Sat Jul 16 16:55:08 1994
+++ db.1.85/recno/rec_utils.c	Wed Apr 19 17:56:12 2000
@@ -90,7 +90,7 @@ dataonly:
 		return (RET_SUCCESS);
 
 	/*
-	 * We must copy big keys/data to make them contigous.  Otherwise,
+	 * We must copy big keys/data to make them contiguous.  Otherwise,
 	 * leave the page pinned and don't copy unless the user specified
 	 * concurrent access.
 	 */
--- db.1.85/mpool/mpool.c.jj	Tue Jul 26 21:19:35 1994
+++ db.1.85/mpool/mpool.c	Wed Apr 19 18:06:21 2000
@@ -50,6 +50,14 @@ static char sccsid[] = "@(#)mpool.c	8.5 
 #define	__MPOOLINTERFACE_PRIVATE
 #include <mpool.h>
 
+#define mpool_open __mpool_open
+#define mpool_filter __mpool_filter
+#define mpool_new __mpool_new
+#define mpool_get __mpool_get
+#define mpool_put __mpool_put
+#define mpool_sync __mpool_sync
+#define mpool_close __mpool_close
+
 static BKT *mpool_bkt __P((MPOOL *));
 static BKT *mpool_look __P((MPOOL *, pgno_t));
 static int  mpool_write __P((MPOOL *, BKT *));
@@ -109,7 +117,7 @@ mpool_filter(mp, pgin, pgout, pgcookie)
 	mp->pgout = pgout;
 	mp->pgcookie = pgcookie;
 }
-	
+
 /*
  * mpool_new --
  *	Get a new page of memory.
@@ -205,7 +213,8 @@ mpool_get(mp, pgno, flags)
 	off = mp->pagesize * pgno;
 	if (lseek(mp->fd, off, SEEK_SET) != off)
 		return (NULL);
-	if ((nr = read(mp->fd, bp->page, mp->pagesize)) != mp->pagesize) {
+	if ((u_long) (nr = read(mp->fd, bp->page, mp->pagesize))
+	    != mp->pagesize) {
 		if (nr >= 0)
 			errno = EFTYPE;
 		return (NULL);
@@ -300,6 +309,23 @@ mpool_sync(mp)
 	return (fsync(mp->fd) ? RET_ERROR : RET_SUCCESS);
 }
 
+#undef mpool_open
+#undef mpool_filter
+#undef mpool_new
+#undef mpool_get
+#undef mpool_put
+#undef mpool_close
+#undef mpool_sync
+#define weak_alias(original, alias) \
+	asm (".weak " #alias "\n" #alias " = " #original);
+weak_alias (__mpool_open, mpool_open)
+weak_alias (__mpool_filter, mpool_filter)
+weak_alias (__mpool_new, mpool_new)
+weak_alias (__mpool_get, mpool_get)
+weak_alias (__mpool_put, mpool_put)
+weak_alias (__mpool_close, mpool_close)
+weak_alias (__mpool_sync, mpool_sync)
+
 /*
  * mpool_bkt
  *	Get a page from the cache (or create one).
@@ -380,7 +406,7 @@ mpool_write(mp, bp)
 	off = mp->pagesize * bp->pgno;
 	if (lseek(mp->fd, off, SEEK_SET) != off)
 		return (RET_ERROR);
-	if (write(mp->fd, bp->page, mp->pagesize) != mp->pagesize)
+	if ((u_long) write(mp->fd, bp->page, mp->pagesize) != mp->pagesize)
 		return (RET_ERROR);
 
 	bp->flags &= ~MPOOL_DIRTY;
@@ -436,7 +462,7 @@ mpool_stat(mp)
 	    mp->pagealloc, mp->pageflush);
 	if (mp->cachehit + mp->cachemiss)
 		(void)fprintf(stderr,
-		    "%.0f%% cache hit rate (%lu hits, %lu misses)\n", 
+		    "%.0f%% cache hit rate (%lu hits, %lu misses)\n",
 		    ((double)mp->cachehit / (mp->cachehit + mp->cachemiss))
 		    * 100, mp->cachehit, mp->cachemiss);
 	(void)fprintf(stderr, "%lu page reads, %lu page writes\n",
@@ -456,7 +482,7 @@ mpool_stat(mp)
 			cnt = 0;
 		} else
 			sep = ", ";
-			
+
 	}
 	(void)fprintf(stderr, "\n");
 }
--- db.1.85/db/db.c.jj	Tue Feb 22 00:07:47 1994
+++ db.1.85/db/db.c	Wed Apr 19 18:06:46 2000
@@ -44,6 +44,8 @@ static char sccsid[] = "@(#)db.c	8.4 (Be
 
 #include <db.h>
 
+#define dbopen __dbopen
+
 DB *
 dbopen(fname, flags, mode, type, openinfo)
 	const char *fname;
@@ -72,9 +74,13 @@ dbopen(fname, flags, mode, type, openinf
 	errno = EINVAL;
 	return (NULL);
 }
+#undef dbopen
+#define weak_alias(original, alias) \
+        asm (".weak " #alias "\n" #alias " = " #original);
+weak_alias (__dbopen, dbopen)
 
 static int
-__dberr()
+__dberr __P((void))
 {
 	return (RET_ERROR);
 }
@@ -90,10 +96,14 @@ __dbpanic(dbp)
 	DB *dbp;
 {
 	/* The only thing that can succeed is a close. */
-	dbp->del = (int (*)())__dberr;
-	dbp->fd = (int (*)())__dberr;
-	dbp->get = (int (*)())__dberr;
-	dbp->put = (int (*)())__dberr;
-	dbp->seq = (int (*)())__dberr;
-	dbp->sync = (int (*)())__dberr;
+	dbp->del = (int (*)__P((const struct __db *,
+				const DBT *, u_int))) __dberr;
+	dbp->get = (int (*)__P((const struct __db *,
+				const DBT *, DBT *, u_int))) __dberr;
+	dbp->put = (int (*)__P((const struct __db *,
+				DBT *, const DBT *, u_int))) __dberr;
+	dbp->seq = (int (*)__P((const struct __db *,
+				DBT *, DBT *, u_int))) __dberr;
+	dbp->sync = (int (*)__P((const struct __db *, u_int))) __dberr;
+	dbp->fd = (int (*)__P((const struct __db *))) __dberr;
 }
--- db.1.85/PORT/include/ndbm.h.jj	Thu Jun  3 05:32:29 1993
+++ db.1.85/PORT/include/ndbm.h	Wed Apr 19 17:56:12 2000
@@ -36,8 +36,8 @@
  *	@(#)ndbm.h	8.1 (Berkeley) 6/2/93
  */
 
-#ifndef _NDBM_H_
-#define	_NDBM_H_
+#ifndef _NDBM_H
+#define	_NDBM_H 1
 
 #include <db.h>
 
@@ -72,6 +72,8 @@ datum	 dbm_nextkey __P((DBM *));
 DBM	*dbm_open __P((const char *, int, int));
 int	 dbm_store __P((DBM *, datum, datum, int));
 int	 dbm_dirfno __P((DBM *));
+int	 dbm_error __P((DBM *));
+int	 dbm_clearerr __P((DBM *));
 __END_DECLS
 
-#endif /* !_NDBM_H_ */
+#endif /* ndbm.h */
--- db.1.85/PORT/linux/include/compat.h.jj	Tue Jun 21 00:13:19 1994
+++ db.1.85/PORT/linux/include/compat.h	Wed Apr 19 17:56:12 2000
@@ -1,155 +1,9 @@
-/*-
- * Copyright (c) 1991, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)compat.h	8.13 (Berkeley) 2/21/94
- */
-
-#ifndef	_COMPAT_H_
-#define	_COMPAT_H_
+/* Values for building 4.4 BSD db routines in the GNU C library.  */
 
-#include <sys/types.h>
+#ifndef _compat_h_
+#define _compat_h_
 
-/*
- * If your system doesn't typedef u_long, u_short, or u_char, change
- * the 0 to a 1.
- */
-#if 0
-typedef unsigned char	u_char;		/* 4.[34]BSD names. */
-typedef unsigned int	u_int;
-typedef unsigned long	u_long;
-typedef unsigned short	u_short;
-#endif
-
-/* If your system doesn't typedef size_t, change the 0 to a 1. */
-#if 0
-typedef unsigned int	size_t;		/* POSIX, 4.[34]BSD names. */
-#endif
-
-/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
-#if 0
-typedef	int		ssize_t;	/* POSIX names. */
-#endif
-
-/*
- * If your system doesn't have the POSIX type for a signal mask,
- * change the 0 to a 1.
- */
-#if 0					/* POSIX 1003.1 signal mask type. */
-typedef unsigned int	sigset_t;
-#endif
-
-/*
- * If your system's vsprintf returns a char *, not an int,
- * change the 0 to a 1.
- */
-#if 0
-#define	VSPRINTF_CHARSTAR
-#endif
-
-/*
- * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
- * temporary file creation is intended to block all of the possible signals
- * long enough to create the file and unlink it.  All of this stuff is
- * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
- */
-#ifdef	NO_POSIX_SIGNALS
-#define	sigemptyset(set)	(*(set) = 0)
-#define	sigfillset(set)		(*(set) = ~(sigset_t)0, 0)
-#define	sigaddset(set,signo)	(*(set) |= sigmask(signo), 0)
-#define	sigdelset(set,signo)	(*(set) &= ~sigmask(signo), 0)
-#define	sigismember(set,signo)	((*(set) & sigmask(signo)) != 0)
-
-#define	SIG_BLOCK	1
-#define	SIG_UNBLOCK	2
-#define	SIG_SETMASK	3
-
-static int __sigtemp;		/* For the use of sigprocmask */
-
-/* Repeated test of oset != NULL is to avoid "*0". */
-#define	sigprocmask(how, set, oset)					\
-	((__sigtemp =							\
-	(((how) == SIG_BLOCK) ?						\
-		sigblock(0) | *(set) :					\
-	(((how) == SIG_UNBLOCK) ?					\
-		sigblock(0) & ~(*(set)) :				\
-	((how) == SIG_SETMASK ?						\
-		*(set) : sigblock(0))))),				\
-	((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :	\
-		sigsetmask(__sigtemp)), 0)
-#endif
-
-/*
- * If your system doesn't have an include file with the appropriate
- * byte order set, make sure you specify the correct one.
- */
-#ifndef BYTE_ORDER
-#define	LITTLE_ENDIAN	1234		/* LSB first: i386, vax */
-#define	BIG_ENDIAN	4321		/* MSB first: 68000, ibm, net */
-#define	BYTE_ORDER	LITTLE_ENDIAN	/* Set for your system. */
-#endif
-
-#if defined(SYSV) || defined(SYSTEM5)
-#define	index(a, b)		strchr(a, b)
-#define	rindex(a, b)		strrchr(a, b)
-#define	bzero(a, b)		memset(a, 0, b)
-#define	bcmp(a, b, n)		memcmp(a, b, n)
-#define	bcopy(a, b, n)		memmove(b, a, n)
-#endif
-
-#if defined(BSD) || defined(BSD4_3)
-#define	strchr(a, b)		index(a, b)
-#define	strrchr(a, b)		rindex(a, b)
-#define	memcmp(a, b, n)		bcmp(a, b, n)
-#define	memmove(a, b, n)	bcopy(b, a, n)
-#endif
-
-/*
- * 32-bit machine.  The db routines are theoretically independent of
- * the size of u_shorts and u_longs, but I don't know that anyone has
- * ever actually tried it.  At a minimum, change the following #define's
- * if you are trying to compile on a different type of system.
- */
-#ifndef USHRT_MAX
-#define	USHRT_MAX		0xFFFF
-#define	ULONG_MAX		0xFFFFFFFF
-#endif
-
-#ifndef O_ACCMODE			/* POSIX 1003.1 access mode mask. */
-#define	O_ACCMODE	(O_RDONLY|O_WRONLY|O_RDWR)
-#endif
-
-#ifndef	_POSIX2_RE_DUP_MAX		/* POSIX 1003.2 RE limit. */
-#define	_POSIX2_RE_DUP_MAX	255
-#endif
+#include <fcntl.h>
 
 /*
  * If you can't provide lock values in the open(2) call.  Note, this
@@ -163,41 +17,26 @@ static int __sigtemp;		/* For the use of
 #define	O_SHLOCK	0
 #endif
 
+#include <errno.h>
+
 #ifndef EFTYPE
 #define	EFTYPE		EINVAL		/* POSIX 1003.1 format errno. */
 #endif
 
-#ifndef	WCOREDUMP			/* 4.4BSD extension */
-#define	WCOREDUMP(a)	0
-#endif
-
-#ifndef	STDERR_FILENO
-#define	STDIN_FILENO	0		/* ANSI C #defines */
-#define	STDOUT_FILENO	1
-#define	STDERR_FILENO	2
-#endif
-
-#ifndef SEEK_END
-#define	SEEK_SET	0		/* POSIX 1003.1 seek values */
-#define	SEEK_CUR	1
-#define	SEEK_END	2
-#endif
+#include <unistd.h>
+#include <limits.h>
 
 #ifndef _POSIX_VDISABLE			/* POSIX 1003.1 disabling char. */
 #define	_POSIX_VDISABLE	0		/* Some systems used 0. */
 #endif
 
+#include <termios.h>
+
 #ifndef	TCSASOFT			/* 4.4BSD extension. */
 #define	TCSASOFT	0
 #endif
 
-#ifndef _POSIX2_RE_DUP_MAX		/* POSIX 1003.2 values. */
-#define	_POSIX2_RE_DUP_MAX	255
-#endif
-
-#ifndef NULL				/* ANSI C #defines NULL everywhere. */
-#define	NULL		0
-#endif
+#include <sys/param.h>
 
 #ifndef	MAX				/* Usually found in <sys/param.h>. */
 #define	MAX(_a,_b)	((_a)<(_b)?(_b):(_a))
@@ -206,26 +45,5 @@ static int __sigtemp;		/* For the use of
 #define	MIN(_a,_b)	((_a)<(_b)?(_a):(_b))
 #endif
 
-/* Default file permissions. */
-#ifndef DEFFILEMODE			/* 4.4BSD extension. */
-#define	DEFFILEMODE	(S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
-#endif
-
-#ifndef S_ISDIR				/* POSIX 1003.1 file type tests. */
-#define	S_ISDIR(m)	((m & 0170000) == 0040000)	/* directory */
-#define	S_ISCHR(m)	((m & 0170000) == 0020000)	/* char special */
-#define	S_ISBLK(m)	((m & 0170000) == 0060000)	/* block special */
-#define	S_ISREG(m)	((m & 0170000) == 0100000)	/* regular file */
-#define	S_ISFIFO(m)	((m & 0170000) == 0010000)	/* fifo */
-#endif
-#ifndef S_ISLNK				/* BSD POSIX 1003.1 extensions */
-#define	S_ISLNK(m)	((m & 0170000) == 0120000)	/* symbolic link */
-#define	S_ISSOCK(m)	((m & 0170000) == 0140000)	/* socket */
-#endif
-
-/* The type of a va_list. */
-#ifndef _BSD_VA_LIST_			/* 4.4BSD #define. */
-#define	_BSD_VA_LIST_	char *
-#endif
 
-#endif /* !_COMPAT_H_ */
+#endif /* compat.h */
--- db.1.85/PORT/linux/Makefile.jj	Thu Jul 14 03:43:16 1994
+++ db.1.85/PORT/linux/Makefile	Thu Apr 20 08:54:43 2000
@@ -1,8 +1,16 @@
 #	@(#)Makefile	8.9 (Berkeley) 7/14/94
 
 LIBDB=	libdb.a
+ARCH=$(shell uname -m)
+ifeq ($(ARCH),alpha)
+SOVER=2.1
+else
+SOVER=2
+endif
+LIBDBSO=libdb.so.$(SOVER)
+PROG=	db_dump185
 OBJ1=	hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
-	hsearch.o ndbm.o
+	ndbm.o
 OBJ2=	bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
 	bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
 	bt_utils.o
@@ -10,93 +18,49 @@ OBJ3=	db.o
 OBJ4=	mpool.o
 OBJ5=	rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
 	rec_seq.o rec_utils.o
+MISC=
+OBJS=	$(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(OBJ5) $(MISC)
+SHOBJS=	$(patsubst %.o,%.os,$(OBJS))
 
-MISC=	snprintf.o
+all: $(LIBDB) $(LIBDBSO) $(PROG)
 
-${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+$(LIBDB): $(OBJS)
 	rm -f $@
-	ar cq $@ \
-	    `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+	ar cq $@ $(OBJS)
 	ranlib $@
 
-clean:
-	rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+$(LIBDBSO): $(SHOBJS)
+	$(CC) -Wl,-O1 -Wl,--version-script=libdb.map -Wl,-soname=$(LIBDBSO) -shared -o $@ $^
+	ln -sf $@ libdb.so
 
-OORG=	-O
-CL=	${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+$(PROG): db_dump185.o $(LIBDBSO)
+	$(CC) -o $@ db_dump185.o -L. -ldb
 
-hash.o: ../../hash/hash.c
-	${CL} -I../../hash ../../hash/hash.c
-hash_bigkey.o: ../../hash/hash_bigkey.c
-	${CL} -I../../hash ../../hash/hash_bigkey.c
-hash_buf.o: ../../hash/hash_buf.c
-	${CL} -I../../hash ../../hash/hash_buf.c
-hash_func.o: ../../hash/hash_func.c
-	${CL} -I../../hash ../../hash/hash_func.c
-hash_log2.o: ../../hash/hash_log2.c
-	${CL} -I../../hash ../../hash/hash_log2.c
-hash_page.o: ../../hash/hash_page.c
-	${CL} -I../../hash ../../hash/hash_page.c
-hsearch.o: ../../hash/hsearch.c
-	${CL} -I../../hash ../../hash/hsearch.c
-ndbm.o: ../../hash/ndbm.c
-	${CL} -I../../hash ../../hash/ndbm.c
-
-bt_close.o: ../../btree/bt_close.c
-	${CL} -I../../btree ../../btree/bt_close.c
-bt_conv.o: ../../btree/bt_conv.c
-	${CL} -I../../btree ../../btree/bt_conv.c
-bt_debug.o: ../../btree/bt_debug.c
-	${CL} -I../../btree ../../btree/bt_debug.c
-bt_delete.o: ../../btree/bt_delete.c
-	${CL} -I../../btree ../../btree/bt_delete.c
-bt_get.o: ../../btree/bt_get.c
-	${CL} -I../../btree ../../btree/bt_get.c
-bt_open.o: ../../btree/bt_open.c
-	${CL} -I../../btree ../../btree/bt_open.c
-bt_overflow.o: ../../btree/bt_overflow.c
-	${CL} -I../../btree ../../btree/bt_overflow.c
-bt_page.o: ../../btree/bt_page.c
-	${CL} -I../../btree ../../btree/bt_page.c
-bt_put.o: ../../btree/bt_put.c
-	${CL} -I../../btree ../../btree/bt_put.c
-bt_search.o: ../../btree/bt_search.c
-	${CL} -I../../btree ../../btree/bt_search.c
-bt_seq.o: ../../btree/bt_seq.c
-	${CL} -I../../btree ../../btree/bt_seq.c
-bt_split.o: ../../btree/bt_split.c
-	${CL} -I../../btree ../../btree/bt_split.c
-bt_stack.o: ../../btree/bt_stack.c
-	${CL} -I../../btree ../../btree/bt_stack.c
-bt_utils.o: ../../btree/bt_utils.c
-	${CL} -I../../btree ../../btree/bt_utils.c
+clean:
+	rm -f $(LIBDB) $(LIBDBSO) $(OBJS) $(SHOBJS)
 
-db.o: ../../db/db.c
-	${CL} ../../db/db.c
+OORG=	-O2
+CL=	$(CC) -c -D__DBINTERFACE_PRIVATE $(OORG) -I. -Iinclude
 
+db_dump185.o: db_dump185.c
+	$(CL) -o $@ $<
+%.o: ../../hash/%.c
+	$(CL) -I../../hash -g -o $@ $<
+%.os: ../../hash/%.c
+	$(CL) -I../../hash -fpic -o $@ $<
+%.o: ../../btree/%.c
+	$(CL) -I../../btree -g -o $@ $<
+%.os: ../../btree/%.c
+	$(CL) -I../../btree -fpic -o $@ $<
+db.o: ../../db/db.c
+	$(CL) -g -o $@ $<
+db.os: ../../db/db.c
+	$(CL) -fpic -o $@ $<
 mpool.o: ../../mpool/mpool.c
-	${CL} -I../../mpool ../../mpool/mpool.c
-
-rec_close.o: ../../recno/rec_close.c
-	${CL} -I../../recno ../../recno/rec_close.c
-rec_delete.o: ../../recno/rec_delete.c
-	${CL} -I../../recno ../../recno/rec_delete.c
-rec_get.o: ../../recno/rec_get.c
-	${CL} -I../../recno ../../recno/rec_get.c
-rec_open.o: ../../recno/rec_open.c
-	${CL} -I../../recno ../../recno/rec_open.c
-rec_put.o: ../../recno/rec_put.c
-	${CL} -I../../recno ../../recno/rec_put.c
-rec_search.o: ../../recno/rec_search.c
-	${CL} -I../../recno ../../recno/rec_search.c
-rec_seq.o: ../../recno/rec_seq.c
-	${CL} -I../../recno ../../recno/rec_seq.c
-rec_utils.o: ../../recno/rec_utils.c
-	${CL} -I../../recno ../../recno/rec_utils.c
-
-memmove.o:
-	${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
-mktemp.o:
-	${CC} -c -O -I. -Iinclude clib/mktemp.c
-snprintf.o:
-	${CC} -c -O -I. -Iinclude clib/snprintf.c
+	$(CL) -g -o $@ $<
+mpool.os: ../../mpool/mpool.c
+	$(CL) -fpic -o $@ $<
+%.o: ../../recno/%.c
+	$(CL) -I../../recno -g -o $@ $<
+%.os: ../../recno/%.c
+	$(CL) -I../../recno -fpic -o $@ $<
--- db.1.85/PORT/linux/libdb.map.jj	Wed Apr 19 17:56:12 2000
+++ db.1.85/PORT/linux/libdb.map	Wed Apr 19 17:56:12 2000
@@ -0,0 +1,11 @@
+GLIBC_2.0 {
+  global:
+    # the real DB entry point.
+    dbopen; __dbopen;
+
+    # The compatibility functions.
+    dbm_clearerr; dbm_close; dbm_delete; dbm_dirfno; dbm_error;
+    dbm_fetch; dbm_firstkey; dbm_nextkey; dbm_open; dbm_store;
+  local:
+    *;
+};
--- db.1.85/PORT/linux/db_dump185.c.jj	Thu Apr 20 08:49:24 2000
+++ db.1.85/PORT/linux/db_dump185.c	Thu Apr 20 08:50:25 2000
@@ -0,0 +1,350 @@
+/*-
+ * See the file LICENSE for redistribution information.
+ *
+ * Copyright (c) 1996, 1997, 1998
+ *	Sleepycat Software.  All rights reserved.
+ */
+
+#ifndef lint
+static const char copyright[] =
+"@(#) Copyright (c) 1996, 1997, 1998\n\
+	Sleepycat Software Inc.  All rights reserved.\n";
+static const char sccsid[] = "@(#)db_dump185.c	10.10 (Sleepycat) 4/10/98";
+#endif
+
+#ifndef NO_SYSTEM_INCLUDES
+#include <sys/types.h>
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#endif
+
+#include "db.h"
+
+/* Hash Table Information */
+typedef struct hashhdr185 {		/* Disk resident portion */
+	int		magic;		/* Magic NO for hash tables */
+	int		version;	/* Version ID */
+	u_int32_t	lorder;		/* Byte Order */
+	int		bsize;		/* Bucket/Page Size */
+	int		bshift;		/* Bucket shift */
+	int		dsize;		/* Directory Size */
+	int		ssize;		/* Segment Size */
+	int		sshift;		/* Segment shift */
+	int		ovfl_point;	/* Where overflow pages are being
+					 * allocated */
+	int		last_freed;	/* Last overflow page freed */
+	int		max_bucket;	/* ID of Maximum bucket in use */
+	int		high_mask;	/* Mask to modulo into entire table */
+	int		low_mask;	/* Mask to modulo into lower half of
+					 * table */
+	int		ffactor;	/* Fill factor */
+	int		nkeys;		/* Number of keys in hash table */
+} HASHHDR185;
+typedef struct htab185	 {		/* Memory resident data structure */
+	HASHHDR185 	hdr;		/* Header */
+} HTAB185;
+
+/* Hash Table Information */
+typedef struct hashhdr186 {	/* Disk resident portion */
+	int32_t	magic;		/* Magic NO for hash tables */
+	int32_t	version;	/* Version ID */
+	int32_t	lorder;		/* Byte Order */
+	int32_t	bsize;		/* Bucket/Page Size */
+	int32_t	bshift;		/* Bucket shift */
+	int32_t	ovfl_point;	/* Where overflow pages are being allocated */
+	int32_t	last_freed;	/* Last overflow page freed */
+	int32_t	max_bucket;	/* ID of Maximum bucket in use */
+	int32_t	high_mask;	/* Mask to modulo into entire table */
+	int32_t	low_mask;	/* Mask to modulo into lower half of table */
+	int32_t	ffactor;	/* Fill factor */
+	int32_t	nkeys;		/* Number of keys in hash table */
+	int32_t	hdrpages;	/* Size of table header */
+	int32_t	h_charkey;	/* value of hash(CHARKEY) */
+#define NCACHED	32		/* number of bit maps and spare points */
+	int32_t	spares[NCACHED];/* spare pages for overflow */
+	u_int16_t	bitmaps[NCACHED];	/* address of overflow page bitmaps */
+} HASHHDR186;
+typedef struct htab186	 {		/* Memory resident data structure */
+	HASHHDR186 	hdr;		/* Header */
+} HTAB186;
+
+typedef struct _epgno {
+	u_int32_t pgno;			/* the page number */
+	u_int16_t index;		/* the index on the page */
+} EPGNO;
+
+typedef struct _epg {
+	void	*page;			/* the (pinned) page */
+	u_int16_t index;		/* the index on the page */
+} EPG;
+
+typedef struct _cursor {
+	EPGNO	 pg;			/* B: Saved tree reference. */
+	DBT	 key;			/* B: Saved key, or key.data == NULL. */
+	u_int32_t rcursor;		/* R: recno cursor (1-based) */
+
+#define	CURS_ACQUIRE	0x01		/*  B: Cursor needs to be reacquired. */
+#define	CURS_AFTER	0x02		/*  B: Unreturned cursor after key. */
+#define	CURS_BEFORE	0x04		/*  B: Unreturned cursor before key. */
+#define	CURS_INIT	0x08		/* RB: Cursor initialized. */
+	u_int8_t flags;
+} CURSOR;
+
+/* The in-memory btree/recno data structure. */
+typedef struct _btree {
+	void	 *bt_mp;		/* memory pool cookie */
+
+	void	 *bt_dbp;		/* pointer to enclosing DB */
+
+	EPG	  bt_cur;		/* current (pinned) page */
+	void	 *bt_pinned;		/* page pinned across calls */
+
+	CURSOR	  bt_cursor;		/* cursor */
+
+	EPGNO	  bt_stack[50];		/* stack of parent pages */
+	EPGNO	 *bt_sp;		/* current stack pointer */
+
+	DBT	  bt_rkey;		/* returned key */
+	DBT	  bt_rdata;		/* returned data */
+
+	int	  bt_fd;		/* tree file descriptor */
+
+	u_int32_t bt_free;		/* next free page */
+	u_int32_t bt_psize;		/* page size */
+	u_int16_t bt_ovflsize;		/* cut-off for key/data overflow */
+	int	  bt_lorder;		/* byte order */
+					/* sorted order */
+	enum { NOT, BACK, FORWARD } bt_order;
+	EPGNO	  bt_last;		/* last insert */
+
+					/* B: key comparison function */
+	int	(*bt_cmp) __P((const DBT *, const DBT *));
+					/* B: prefix comparison function */
+	size_t	(*bt_pfx) __P((const DBT *, const DBT *));
+					/* R: recno input function */
+	int	(*bt_irec) __P((struct _btree *, u_int32_t));
+
+	FILE	 *bt_rfp;		/* R: record FILE pointer */
+	int	  bt_rfd;		/* R: record file descriptor */
+
+	void	 *bt_cmap;		/* R: current point in mapped space */
+	void	 *bt_smap;		/* R: start of mapped space */
+	void	 *bt_emap;		/* R: end of mapped space */
+	size_t	  bt_msize;		/* R: size of mapped region. */
+
+	u_int32_t bt_nrecs;		/* R: number of records */
+	size_t	  bt_reclen;		/* R: fixed record length */
+	u_char	  bt_bval;		/* R: delimiting byte/pad character */
+
+/*
+ * NB:
+ * B_NODUPS and R_RECNO are stored on disk, and may not be changed.
+ */
+#define	B_INMEM		0x00001		/* in-memory tree */
+#define	B_METADIRTY	0x00002		/* need to write metadata */
+#define	B_MODIFIED	0x00004		/* tree modified */
+#define	B_NEEDSWAP	0x00008		/* if byte order requires swapping */
+#define	B_RDONLY	0x00010		/* read-only tree */
+
+#define	B_NODUPS	0x00020		/* no duplicate keys permitted */
+#define	R_RECNO		0x00080		/* record oriented tree */
+
+#define	R_CLOSEFP	0x00040		/* opened a file pointer */
+#define	R_EOF		0x00100		/* end of input file reached. */
+#define	R_FIXLEN	0x00200		/* fixed length records */
+#define	R_MEMMAPPED	0x00400		/* memory mapped file. */
+#define	R_INMEM		0x00800		/* in-memory file */
+#define	R_MODIFIED	0x01000		/* modified file */
+#define	R_RDONLY	0x02000		/* read-only file */
+
+#define	B_DB_LOCK	0x04000		/* DB_LOCK specified. */
+#define	B_DB_SHMEM	0x08000		/* DB_SHMEM specified. */
+#define	B_DB_TXN	0x10000		/* DB_TXN specified. */
+	u_int32_t flags;
+} BTREE;
+
+void	db_btree __P((DB *, int));
+void	db_hash __P((DB *, int));
+void	dbt_dump __P((DBT *));
+void	dbt_print __P((DBT *));
+int	main __P((int, char *[]));
+void	usage __P((void));
+
+const char
+	*progname = "db_dump185";			/* Program name. */
+
+int
+main(argc, argv)
+	int argc;
+	char *argv[];
+{
+	extern char *optarg;
+	extern int optind;
+	DB *dbp;
+	DBT key, data;
+	int ch, pflag, rval;
+
+	pflag = 0;
+	while ((ch = getopt(argc, argv, "f:p")) != EOF)
+		switch (ch) {
+		case 'f':
+			if (freopen(optarg, "w", stdout) == NULL)
+				err(1, "%s", optarg);
+			break;
+		case 'p':
+			pflag = 1;
+			break;
+		case '?':
+		default:
+			usage();
+		}
+	argc -= optind;
+	argv += optind;
+
+	if (argc != 1)
+		usage();
+
+	if ((dbp = dbopen(argv[0], O_RDONLY, 0, DB_BTREE, NULL)) == NULL) {
+		if ((dbp = dbopen(argv[0], O_RDONLY, 0, DB_HASH, NULL)) == NULL)
+			err(1, "%s", argv[0]);
+		db_hash(dbp, pflag);
+	} else
+		db_btree(dbp, pflag);
+
+	/*
+	 * !!!
+	 * DB 1.85 DBTs are a subset of DB 2.0 DBTs, so we just use the
+	 * new dump/print routines.
+	 */
+	if (pflag)
+		while (!(rval = dbp->seq(dbp, &key, &data, R_NEXT))) {
+			dbt_print(&key);
+			dbt_print(&data);
+		}
+	else
+		while (!(rval = dbp->seq(dbp, &key, &data, R_NEXT))) {
+			dbt_dump(&key);
+			dbt_dump(&data);
+		}
+
+	if (rval == -1)
+		err(1, "seq");
+	return (0);
+}
+
+/*
+ * db_hash --
+ *	Dump out hash header information.
+ */
+void
+db_hash(dbp, pflag)
+	DB *dbp;
+	int pflag;
+{
+	HTAB185 *hash185p;
+	HTAB186 *hash186p;
+
+	printf("format=%s\n", pflag ? "print" : "bytevalue");
+	printf("type=hash\n");
+
+	/* DB 1.85 was version 2, DB 1.86 was version 3. */
+	hash185p = dbp->internal;
+	if (hash185p->hdr.version > 2) {
+		hash186p = dbp->internal;
+		printf("h_ffactor=%lu\n", (u_long)hash186p->hdr.ffactor);
+		if (hash186p->hdr.lorder != 0)
+			printf("db_lorder=%lu\n", (u_long)hash186p->hdr.lorder);
+		printf("db_pagesize=%lu\n", (u_long)hash186p->hdr.bsize);
+	} else {
+		printf("h_ffactor=%lu\n", (u_long)hash185p->hdr.ffactor);
+		if (hash185p->hdr.lorder != 0)
+			printf("db_lorder=%lu\n", (u_long)hash185p->hdr.lorder);
+		printf("db_pagesize=%lu\n", (u_long)hash185p->hdr.bsize);
+	}
+	printf("HEADER=END\n");
+}
+
+/*
+ * db_btree --
+ *	Dump out btree header information.
+ */
+void
+db_btree(dbp, pflag)
+	DB *dbp;
+	int pflag;
+{
+	BTREE *btp;
+
+	btp = dbp->internal;
+
+	printf("format=%s\n", pflag ? "print" : "bytevalue");
+	printf("type=btree\n");
+#ifdef NOT_AVAILABLE_IN_185
+	printf("bt_minkey=%lu\n", (u_long)XXX);
+	printf("bt_maxkey=%lu\n", (u_long)XXX);
+#endif
+	if (btp->bt_lorder != 0)
+		printf("db_lorder=%lu\n", (u_long)btp->bt_lorder);
+	printf("db_pagesize=%lu\n", (u_long)btp->bt_psize);
+	if (!(btp->flags & B_NODUPS))
+		printf("duplicates=1\n");
+	printf("HEADER=END\n");
+}
+
+static char hex[] = "0123456789abcdef";
+
+/*
+ * dbt_dump --
+ *	Write out a key or data item using byte values.
+ */
+void
+dbt_dump(dbtp)
+	DBT *dbtp;
+{
+	size_t len;
+	u_int8_t *p;
+
+	for (len = dbtp->size, p = dbtp->data; len--; ++p)
+		(void)printf("%c%c",
+		    hex[(*p & 0xf0) >> 4], hex[*p & 0x0f]);
+	printf("\n");
+}
+
+/*
+ * dbt_print --
+ *	Write out a key or data item using printable characters.
+ */
+void
+dbt_print(dbtp)
+	DBT *dbtp;
+{
+	size_t len;
+	u_int8_t *p;
+
+	for (len = dbtp->size, p = dbtp->data; len--; ++p)
+		if (isprint(*p)) {
+			if (*p == '\\')
+				(void)printf("\\");
+			(void)printf("%c", *p);
+		} else
+			(void)printf("\\%c%c",
+			    hex[(*p & 0xf0) >> 4], hex[*p & 0x0f]);
+	printf("\n");
+}
+
+/*
+ * usage --
+ *	Display the usage message.
+ */
+void
+usage()
+{
+	(void)fprintf(stderr, "usage: db_dump185 [-p] [-f file] db_file\n");
+	exit(1);
+}
--- db.1.85/include/mpool.h.jj	Thu Jul 14 03:33:26 1994
+++ db.1.85/include/mpool.h	Wed Apr 19 17:56:12 2000
@@ -33,6 +33,9 @@
  *	@(#)mpool.h	8.2 (Berkeley) 7/14/94
  */
 
+#ifndef _MPOOL_H
+#define _MPOOL_H 1
+
 #include <sys/queue.h>
 
 /*
@@ -67,9 +70,9 @@ typedef struct MPOOL {
 	u_long	pagesize;		/* file page size */
 	int	fd;			/* file descriptor */
 					/* page in conversion routine */
-	void    (*pgin) __P((void *, pgno_t, void *));
+	void    (*pgin) __PMT((void *, pgno_t, void *));
 					/* page out conversion routine */
-	void    (*pgout) __P((void *, pgno_t, void *));
+	void    (*pgout) __PMT((void *, pgno_t, void *));
 	void	*pgcookie;		/* cookie for page in/out routines */
 #ifdef STATISTICS
 	u_long	cachehit;
@@ -85,15 +88,25 @@ typedef struct MPOOL {
 } MPOOL;
 
 __BEGIN_DECLS
+MPOOL	*__mpool_open __P((void *, int, pgno_t, pgno_t));
 MPOOL	*mpool_open __P((void *, int, pgno_t, pgno_t));
+void	 __mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
+	    void (*)(void *, pgno_t, void *), void *));
 void	 mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
 	    void (*)(void *, pgno_t, void *), void *));
+void	*__mpool_new __P((MPOOL *, pgno_t *));
 void	*mpool_new __P((MPOOL *, pgno_t *));
+void	*__mpool_get __P((MPOOL *, pgno_t, u_int));
 void	*mpool_get __P((MPOOL *, pgno_t, u_int));
+int	 __mpool_put __P((MPOOL *, void *, u_int));
 int	 mpool_put __P((MPOOL *, void *, u_int));
+int	 __mpool_sync __P((MPOOL *));
 int	 mpool_sync __P((MPOOL *));
+int	 __mpool_close __P((MPOOL *));
 int	 mpool_close __P((MPOOL *));
 #ifdef STATISTICS
 void	 mpool_stat __P((MPOOL *));
 #endif
 __END_DECLS
+
+#endif /* mpool.h */
--- db.1.85/include/db.h.jj	Tue Jun 21 21:59:28 1994
+++ db.1.85/include/db.h	Wed Apr 19 17:56:12 2000
@@ -33,8 +33,8 @@
  *	@(#)db.h	8.7 (Berkeley) 6/16/94
  */
 
-#ifndef _DB_H_
-#define	_DB_H_
+#ifndef _DB_H
+#define	_DB_H 1
 
 #include <sys/types.h>
 #include <sys/cdefs.h>
@@ -117,14 +117,14 @@ typedef enum { DB_BTREE, DB_HASH, DB_REC
 /* Access method description structure. */
 typedef struct __db {
 	DBTYPE type;			/* Underlying db type. */
-	int (*close)	__P((struct __db *));
-	int (*del)	__P((const struct __db *, const DBT *, u_int));
-	int (*get)	__P((const struct __db *, const DBT *, DBT *, u_int));
-	int (*put)	__P((const struct __db *, DBT *, const DBT *, u_int));
-	int (*seq)	__P((const struct __db *, DBT *, DBT *, u_int));
-	int (*sync)	__P((const struct __db *, u_int));
+	int (*close)	__PMT((struct __db *));
+	int (*del)	__PMT((const struct __db *, const DBT *, u_int));
+	int (*get)	__PMT((const struct __db *, const DBT *, DBT *, u_int));
+	int (*put)	__PMT((const struct __db *, DBT *, const DBT *, u_int));
+	int (*seq)	__PMT((const struct __db *, DBT *, DBT *, u_int));
+	int (*sync)	__PMT((const struct __db *, u_int));
 	void *internal;			/* Access method private. */
-	int (*fd)	__P((const struct __db *));
+	int (*fd)	__PMT((const struct __db *));
 } DB;
 
 #define	BTREEMAGIC	0x053162
@@ -139,9 +139,9 @@ typedef struct {
 	int	minkeypage;	/* minimum keys per page */
 	u_int	psize;		/* page size */
 	int	(*compare)	/* comparison function */
-	    __P((const DBT *, const DBT *));
+	    __PMT((const DBT *, const DBT *));
 	size_t	(*prefix)	/* prefix function */
-	    __P((const DBT *, const DBT *));
+	    __PMT((const DBT *, const DBT *));
 	int	lorder;		/* byte order */
 } BTREEINFO;
 
@@ -155,7 +155,7 @@ typedef struct {
 	u_int	nelem;		/* number of elements */
 	u_int	cachesize;	/* bytes to cache */
 	u_int32_t		/* hash function */
-		(*hash) __P((const void *, size_t));
+		(*hash) __PMT((const void *, size_t));
 	int	lorder;		/* byte order */
 } HASHINFO;
 
@@ -224,6 +224,7 @@ typedef struct {
 #endif
 
 __BEGIN_DECLS
+DB *__dbopen __P((const char *, int, int, DBTYPE, const void *));
 DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
 
 #ifdef __DBINTERFACE_PRIVATE
@@ -233,4 +234,5 @@ DB	*__rec_open __P((const char *, int, i
 void	 __dbpanic __P((DB *dbp));
 #endif
 __END_DECLS
-#endif /* !_DB_H_ */
+
+#endif /* db.h */

db.1.85.s390.patch:

--- NEW FILE db.1.85.s390.patch ---
--- db.1.85/PORT/linux/Makefile.old	Fri Apr 20 17:14:35 2001
+++ db.1.85/PORT/linux/Makefile	Fri Apr 20 17:14:57 2001
@@ -47,20 +47,20 @@
 %.o: ../../hash/%.c
 	$(CL) -I../../hash -g -o $@ $<
 %.os: ../../hash/%.c
-	$(CL) -I../../hash -fpic -o $@ $<
+	$(CL) -I../../hash -fPIC -o $@ $<
 %.o: ../../btree/%.c
 	$(CL) -I../../btree -g -o $@ $<
 %.os: ../../btree/%.c
-	$(CL) -I../../btree -fpic -o $@ $<
+	$(CL) -I../../btree -fPIC -o $@ $<
 db.o: ../../db/db.c
 	$(CL) -g -o $@ $<
 db.os: ../../db/db.c
-	$(CL) -fpic -o $@ $<
+	$(CL) -fPIC -o $@ $<
 mpool.o: ../../mpool/mpool.c
 	$(CL) -g -o $@ $<
 mpool.os: ../../mpool/mpool.c
-	$(CL) -fpic -o $@ $<
+	$(CL) -fPIC -o $@ $<
 %.o: ../../recno/%.c
 	$(CL) -I../../recno -g -o $@ $<
 %.os: ../../recno/%.c
-	$(CL) -I../../recno -fpic -o $@ $<
+	$(CL) -I../../recno -fPIC -o $@ $<


--- NEW FILE gnome-icon-item.c-preedit-diff ---
--- libgnomeui/gnome-icon-item.c	Sat Oct 16 20:26:29 1999
+++ libgnomeui/gnome-icon-item.c	Sat Oct 16 23:58:52 1999
@@ -104,6 +104,12 @@
 
 	priv->need_state_update = TRUE;
 	gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (iti));
+	{
+		GdkIC *ic;
+		GtkObject *canvas = (GtkObject *)GNOME_CANVAS_ITEM(iti)->canvas;
+		ic = gtk_object_get_data((GtkObject *)canvas, "ic");
+		if (ic) gdk_im_end();
+	}
 
 	gtk_signal_emit (GTK_OBJECT (iti), iti_signals[EDITING_STOPPED]);
 }
@@ -194,6 +200,64 @@
 	iti_edition_accept (iti);
 }
 
+static void
+ic_destroy(GtkObject *canvas)
+{
+	GdkIC *ic;
+	GdkICAttr *attr;
+	ic = gtk_object_get_data(canvas, "ic");
+	if (ic) {
+		gdk_ic_destroy(ic);
+		gtk_object_set_data(canvas, "ic", NULL);
+	}
+	attr = gtk_object_get_data(canvas, "ic-attr");
+	if (attr) {
+		gdk_ic_attr_destroy(attr);
+		gtk_object_set_data(canvas, "ic-attr", NULL);
+	}
+}
+
+static GdkIC *
+create_ic(Iti *iti)
+{
+        GdkIC *ic;
+	GdkICAttr *attr;
+	GtkLayout *canvas;
+	GtkWidget *widget;
+	GdkICAttributesType attrmask = GDK_IC_ALL_REQ;
+	GdkIMStyle supported_style = GDK_IM_PREEDIT_NOTHING |
+				     GDK_IM_PREEDIT_POSITION |
+				     GDK_IM_STATUS_NOTHING;
+	attr = gdk_ic_attr_new();
+	if (!attr) return NULL;
+	attr->style = gdk_im_decide_style (supported_style);
+	attrmask |= GDK_IC_PREEDIT_FOREGROUND | GDK_IC_PREEDIT_BACKGROUND;
+	canvas = (GtkLayout *)GNOME_CANVAS_ITEM(iti)->canvas;
+	widget = (GtkWidget *)canvas;
+
+	attr->client_window = canvas->bin_window;
+	attr->preedit_foreground = widget->style->fg[GTK_STATE_NORMAL];
+	attr->preedit_background = widget->style->bg[GTK_STATE_NORMAL];
+	if (attr->style & GDK_IM_PREEDIT_POSITION) {
+		int width, height;
+		gdk_window_get_size(canvas->bin_window, &width, &height);
+		attrmask |= GDK_IC_PREEDIT_POSITION_REQ;
+		attr->spot_location.x = 0;
+		attr->spot_location.y = 0;
+		attr->preedit_area.x = 0;
+		attr->preedit_area.y = 0;
+		attr->preedit_area.width = width;
+		attr->preedit_area.height = height;
+		attr->preedit_fontset = iti->ti->font;
+	}
+	ic = gdk_ic_new(attr, attrmask);
+	if (!ic) return NULL;
+	gtk_object_set_data((GtkObject *)canvas, "ic", ic);
+	gtk_object_set_data((GtkObject *)canvas, "ic-attr", attr);
+	gtk_signal_connect((GtkObject *)canvas, "unrealize", (GtkSignalFunc)ic_destroy, NULL);
+	return ic;
+}
+
 /* Starts the editing state of an icon text item */
 static void
 iti_start_editing (Iti *iti)
@@ -225,6 +289,13 @@
 
 	priv->need_state_update = TRUE;
 	gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (iti));
+	{
+		GdkIC *ic;
+		GtkLayout *canvas = (GtkLayout *)GNOME_CANVAS_ITEM(iti)->canvas;
+		ic = gtk_object_get_data((GtkObject *)canvas,"ic");
+		if (ic == NULL && gdk_im_ready()) ic = create_ic(iti);
+		if (ic) gdk_im_begin(ic, canvas->bin_window);
+	}
 
 	gtk_signal_emit (GTK_OBJECT (iti), iti_signals[EDITING_STARTED]);
 }
@@ -396,9 +467,14 @@
 	GdkGC *gc, *bgc, *sgc, *bsgc;
         GList *item;
         int xpos, len;
+	int xx = x, yy = y;
 
 	priv = iti->priv;
 	style = GTK_WIDGET (GNOME_CANVAS_ITEM (iti)->canvas)->style;
+	xx = x - GNOME_CANVAS_ITEM(iti)->x1 - MARGIN_X + 
+		GNOME_CANVAS_ITEM(iti)->canvas->layout.hadjustment->value;
+	yy = y - GNOME_CANVAS_ITEM(iti)->y1 - MARGIN_Y + 
+		GNOME_CANVAS_ITEM(iti)->canvas->layout.vadjustment->value;
 
 	ti = iti->ti;
 	len = 0;
@@ -462,19 +538,38 @@
 					  px, y,
 					  text_wc, 1);
 
-			if (cursor == i)
+			if (cursor == i) {
+				GdkIC *ic;
+				ic = gtk_object_get_data((GtkObject *)GNOME_CANVAS_ITEM(iti)->canvas, "ic");
+				if (ic && (gdk_ic_get_style(ic) & GDK_IM_PREEDIT_POSITION)) {
+				        GdkICAttr *attr;
+					attr = gtk_object_get_data((GtkObject *)GNOME_CANVAS_ITEM(iti)->canvas, "ic-attr");
+					attr->spot_location.x = px - 1- xx;
+					attr->spot_location.y = y - yy;
+				        gdk_ic_set_attr (ic, attr, GDK_IC_SPOT_LOCATION);
+				}
 				gdk_draw_line (drawable,
 					       gc,
 					       px - 1,
 					       y - ti->font->ascent,
 					       px - 1,
 					       y + ti->font->descent - 1);
+			}
 
 			offset += size;
 		}
 
-		if (cursor == i) {
+		if (cursor == i && !item->next) {
 			int px = x + xpos + offset;
+			GdkIC *ic;
+			ic = gtk_object_get_data((GtkObject *)GNOME_CANVAS_ITEM(iti)->canvas, "ic");
+			if (ic && (gdk_ic_get_style(ic) & GDK_IM_PREEDIT_POSITION)) {
+			        GdkICAttr *attr;
+				attr = gtk_object_get_data((GtkObject *)GNOME_CANVAS_ITEM(iti)->canvas, "ic-attr");
+				attr->spot_location.x = px - 1 - xx;
+				attr->spot_location.y = y - yy;
+			        gdk_ic_set_attr (ic, attr, GDK_IC_SPOT_LOCATION);
+			}
 
 			gdk_draw_line (drawable,
 				       gc,

gnome-libs-1.2.13-bghack.patch:

--- NEW FILE gnome-libs-1.2.13-bghack.patch ---
--- gnome-libs-1.2.13/libgnomeui/gnome-canvas.c.bghack	Mon Jan  8 12:51:06 2001
+++ gnome-libs-1.2.13/libgnomeui/gnome-canvas.c	Mon Jul 23 16:45:01 2001
@@ -3172,6 +3172,18 @@
 #define IMAGE_WIDTH_AA 256
 #define IMAGE_HEIGHT_AA 64
 
+static GQuark bg_hack_quark = 0;
+void
+gnome_canvas_set_nautilus_bg_hack (GnomeCanvas *canvas,
+				   gboolean     use_bg_hack)
+{
+	if (!bg_hack_quark)
+		bg_hack_quark = g_quark_from_static_string ("nautilus-bg-hack");
+
+	use_bg_hack = use_bg_hack != FALSE;
+	gtk_object_set_data_by_id (GTK_OBJECT (canvas), bg_hack_quark, GUINT_TO_POINTER (use_bg_hack));
+}
+
 /* Repaints the areas in the canvas that need it */
 static void
 paint (GnomeCanvas *canvas)
@@ -3183,6 +3195,12 @@
 	GdkPixmap *pixmap;
 	ArtIRect *rects;
 	gint n_rects, i;
+	gboolean bg_hack = FALSE;
+
+	if (!bg_hack_quark)
+		bg_hack_quark = g_quark_from_static_string ("nautilus-bg-hack");
+	if (gtk_object_get_data_by_id (GTK_OBJECT (canvas), bg_hack_quark))
+		bg_hack = TRUE;
 
 	if (canvas->need_update) {
 		double affine[6];
@@ -3241,7 +3259,9 @@
 			if (canvas->aa) {
 				GnomeCanvasBuf buf;
 				GdkColor *color;
-
+				gint dest_x;
+				gint dest_y;
+				
 				buf.buf = g_new (guchar, IMAGE_WIDTH_AA * IMAGE_HEIGHT_AA * 3);
 				buf.buf_rowstride = IMAGE_WIDTH_AA * 3;
 				buf.rect.x0 = draw_x1;
@@ -3260,23 +3280,26 @@
 						canvas->root->object.klass)->render) (
 							canvas->root, &buf);
 
+				dest_x = draw_x1 - DISPLAY_X1 (canvas) + canvas->zoom_xofs;
+				dest_y = draw_y1 - DISPLAY_Y1 (canvas) + canvas->zoom_yofs;
+
 				if (buf.is_bg) {
-					gdk_rgb_gc_set_foreground (canvas->pixmap_gc, buf.bg_color);
-					gdk_draw_rectangle (canvas->layout.bin_window,
-							    canvas->pixmap_gc,
-							    TRUE,
-							    (draw_x1 - DISPLAY_X1 (canvas)
-							     + canvas->zoom_xofs),
-							    (draw_y1 - DISPLAY_Y1 (canvas)
-							     + canvas->zoom_yofs),
-							    width, height);
+					if (bg_hack)
+						gdk_window_clear_area (canvas->layout.bin_window,
+								       dest_x, dest_y,
+								       width, height);
+					else {
+						gdk_rgb_gc_set_foreground (canvas->pixmap_gc, buf.bg_color);
+						gdk_draw_rectangle (canvas->layout.bin_window,
+								    canvas->pixmap_gc,
+								    TRUE,
+								    dest_x, dest_y,
+								    width, height);
+					}
 				} else {
 					gdk_draw_rgb_image_dithalign (canvas->layout.bin_window,
 							    canvas->pixmap_gc,
-							    (draw_x1 - DISPLAY_X1 (canvas)
-							     + canvas->zoom_xofs),
-							    (draw_y1 - DISPLAY_Y1 (canvas)
-							     + canvas->zoom_yofs),
+						            dest_x, dest_y,
 							    width, height,
 							    canvas->dither,
 							    buf.buf,

gnome-libs-1.2.13-config-dir-variable.patch:

--- NEW FILE gnome-libs-1.2.13-config-dir-variable.patch ---
--- gnome-libs-1.2.13/libgnome/gnomelib-init.c.config-dir-variable	Thu Feb 15 23:22:29 2001
+++ gnome-libs-1.2.13/libgnome/gnomelib-init.c	Thu Apr 18 19:18:23 2002
@@ -176,9 +176,23 @@
 	 * never freed - gnome_config currently uses this, and it's better
 	 * to figure it out once than to repeatedly get it
 	 */
-	gnome_user_dir = g_concat_dir_and_file (gnome_user_home_dir, ".gnome");
-	gnome_user_private_dir = g_concat_dir_and_file (gnome_user_home_dir,
-							".gnome_private");
+        if (g_getenv ("GNOME_CONFIG_DIR"))
+          {
+            char *str;
+            
+            gnome_user_dir = g_concat_dir_and_file (gnome_user_home_dir, g_getenv ("GNOME_CONFIG_DIR"));
+
+            str = g_strconcat (g_getenv ("GNOME_CONFIG_DIR"), "_private", NULL);
+            gnome_user_private_dir = g_concat_dir_and_file (gnome_user_home_dir, str);
+            g_free (str);
+          }
+        else
+          {
+            gnome_user_dir = g_concat_dir_and_file (gnome_user_home_dir, ".gnome");
+            gnome_user_private_dir = g_concat_dir_and_file (gnome_user_home_dir,
+                                                            ".gnome_private");
+          }
+        
 	gnome_user_accels_dir = g_concat_dir_and_file (gnome_user_dir, "accels");
 	create_user_gnome_directories ();
 
--- gnome-libs-1.2.13/libgnome/gnome-mime.c.config-dir-variable	Fri Mar 16 14:44:42 2001
+++ gnome-libs-1.2.13/libgnome/gnome-mime.c	Thu Apr 18 19:18:23 2002
@@ -290,7 +290,7 @@
 	gnome_mime_dir.dirname = gnome_unconditional_datadir_file ("mime-info");
 	gnome_mime_dir.system_dir = TRUE;
 
-	user_mime_dir.dirname  = g_concat_dir_and_file (gnome_util_user_home (), ".gnome/mime-info");
+        user_mime_dir.dirname  = gnome_util_home_file ("mime-info");
 	user_mime_dir.system_dir = FALSE;
 	mime_load (&gnome_mime_dir);
 	mime_load (&user_mime_dir);
--- gnome-libs-1.2.13/libgnome/gnome-mime-info.c.config-dir-variable	Wed Jul 12 15:03:13 2000
+++ gnome-libs-1.2.13/libgnome/gnome-mime-info.c	Thu Apr 18 19:18:23 2002
@@ -455,8 +455,8 @@
 	 */
 	gnome_mime_dir.dirname = gnome_unconditional_datadir_file ("mime-info");
 	gnome_mime_dir.system_dir = TRUE;
-	
-	user_mime_dir.dirname  = g_concat_dir_and_file (gnome_util_user_home (), ".gnome/mime-info");
+
+        user_mime_dir.dirname  = gnome_util_home_file ("mime-info");
 	user_mime_dir.system_dir = FALSE;
 
 	/*
--- gnome-libs-1.2.13/libgnome/gnome-util.c.config-dir-variable	Tue Dec 26 19:15:45 2000
+++ gnome-libs-1.2.13/libgnome/gnome-util.c	Thu Apr 18 19:18:23 2002
@@ -545,3 +545,21 @@
 	return 0;
 }
 
+
+char*
+libgnome_internal_hack_added_post_1_4_do_not_use_util_home_file (const char *afile)
+{
+  char *prefix;
+  char *ret;
+  
+  if (g_getenv ("GNOME_CONFIG_DIR"))
+    prefix = g_concat_dir_and_file (g_get_home_dir (), g_getenv ("GNOME_CONFIG_DIR"));
+  else
+    prefix = g_concat_dir_and_file (g_get_home_dir (), ".gnome");
+  
+  ret = g_concat_dir_and_file (prefix, afile);
+
+  g_free (prefix);
+
+  return ret;
+}
--- gnome-libs-1.2.13/libgnome/gnome-util.h.config-dir-variable	Mon Jan 25 21:47:28 1999
+++ gnome-libs-1.2.13/libgnome/gnome-util.h	Thu Apr 18 19:22:03 2002
@@ -81,7 +81,8 @@
 /* very similar to above, but adds $HOME/.gnome/ to beginning
  * This is meant to be the most useful version.
  */
-#define gnome_util_home_file(afile) (g_strconcat(gnome_util_user_home(), "/.gnome/", (afile), NULL))
+char* libgnome_internal_hack_added_post_1_4_do_not_use_util_home_file (const char *afile);
+#define gnome_util_home_file(afile) libgnome_internal_hack_added_post_1_4_do_not_use_util_home_file (afile)
 
 /* Find the name of the user's shell.  */
 char *gnome_util_user_shell (void);

gnome-libs-1.2.13-notearoffs.patch:

--- NEW FILE gnome-libs-1.2.13-notearoffs.patch ---
--- gnome-libs-1.2.13/libgnomeui/gnome-preferences.c.notearoffs	Fri Jul 13 17:48:46 2001
+++ gnome-libs-1.2.13/libgnomeui/gnome-preferences.c	Fri Jul 13 18:27:50 2001
@@ -36,7 +36,7 @@
   TRUE,               /* PropertyBox has Help */
   FALSE,              /* Use dialogs, not the statusbar */
   FALSE,              /* Statusbar isn't interactive */
-  TRUE,               /* Menubars are detachable */
+  FALSE,              /* Menubars are detachable */
   TRUE,               /* Menubars are relieved */
   TRUE,               /* Toolbars are detachable */
   TRUE,               /* Toolbars are relieved */
@@ -44,7 +44,7 @@
   TRUE,               /* Toolbars show lines for separators */
   TRUE,               /* Toolbars show labels */
   TRUE,               /* Center dialogs over apps when possible */
-  TRUE,               /* Menus have a tearoff bar */
+  FALSE,              /* Menus have a tearoff bar */
   TRUE,               /* Menu items have icons in them */
   TRUE,               /* Disable the Imlib cache */
   GTK_WINDOW_DIALOG,  /* Dialogs are treated specially */
@@ -268,7 +268,7 @@
   gnome_config_pop_prefix();
   gnome_config_push_prefix(APP);
 
-  b = gnome_config_get_bool_with_default(MENUBAR_DETACHABLE_KEY"=true",
+  b = gnome_config_get_bool_with_default(MENUBAR_DETACHABLE_KEY"=false",
 					 NULL);
   settings->menubar_detachable = b;
 
@@ -296,7 +296,7 @@
 					 NULL);
   settings->toolbar_labels = b;
 
-  b = gnome_config_get_bool_with_default (MENUS_HAVE_TEAROFF_KEY"=true",
+  b = gnome_config_get_bool_with_default (MENUS_HAVE_TEAROFF_KEY"=false",
 					  NULL);
   settings->menus_have_tearoff = b;
 

gnome-libs-1.2.13-noxalf.patch:

--- NEW FILE gnome-libs-1.2.13-noxalf.patch ---
--- gnome-libs-1.2.13/libgnome/gnome-dentry.c.noxalf	Fri Jul 13 16:23:06 2001
+++ gnome-libs-1.2.13/libgnome/gnome-dentry.c	Fri Jul 13 16:24:29 2001
@@ -624,7 +624,7 @@
 		no_xalf = TRUE;
 	
 	if ( ! no_xalf &&
-	    gnome_config_get_bool("/xalf/settings/enabled=true")) {
+	    gnome_config_get_bool("/xalf/settings/enabled=false")) {
 		xalf = gnome_is_program_in_path ("xalf");
 
 		if (xalf != NULL) {

gnome-libs-1.4.1.2.90-ac25.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-ac25.patch ---
--- gnome-libs-1.4.1.2.90/configure.in.ac25	Sun Jan 27 19:03:58 2002
+++ gnome-libs-1.4.1.2.90/configure.in	Sun Jan 27 19:52:01 2002
@@ -229,8 +229,8 @@
 
 dnl Test for libz
 AC_CHECK_LIB(z, inflate,
-  AC_CHECK_HEADER(zlib.h,
-    Z_LIBS="-lz";  AC_DEFINE(HAVE_LIBZ)))
+  [AC_CHECK_HEADER(zlib.h,
+    Z_LIBS="-lz";  AC_DEFINE(HAVE_LIBZ))])
 AC_CHECK_LIB(z, compress, , 
    AC_MSG_ERROR([[
 *** Incorrect libz version found.  Please make sure you do not have
@@ -262,31 +262,31 @@
 
 dnl Test for libtiff
 AC_CHECK_LIB(tiff, TIFFReadScanline,
-  AC_CHECK_HEADER(tiffio.h,
-    TIFF_LIBS="-ltiff"; AC_DEFINE(HAVE_LIBTIFF)),
-  AC_CHECK_LIB(tiff, TIFFWriteScanline,
-    AC_CHECK_HEADER(tiffio.h,
-      TIFF_LIBS="-ltiff $JPEG_LIBS $Z_LIBS"; AC_DEFINE(HAVE_LIBTIFF)),
-    AC_CHECK_LIB(tiff34, TIFFFlushData,
-      AC_CHECK_HEADER(tiffio.h,
-        TIFF_LIBS="-ltiff34 $JPEG_LIBS $Z_LIBS"; AC_DEFINE(HAVE_LIBTIFF)),,
-$JPEG_LIBS $Z_LIBS -lm), $JPEG_LIBS $Z_LIBS -lm), -lm)
+  [AC_CHECK_HEADER(tiffio.h,
+    TIFF_LIBS="-ltiff"; AC_DEFINE(HAVE_LIBTIFF))],
+ [ AC_CHECK_LIB(tiff, TIFFWriteScanline,
+   [ AC_CHECK_HEADER(tiffio.h,
+      TIFF_LIBS="-ltiff $JPEG_LIBS $Z_LIBS"; AC_DEFINE(HAVE_LIBTIFF))],
+   [ AC_CHECK_LIB(tiff34, TIFFFlushData,
+      [  AC_CHECK_HEADER(tiffio.h,
+        TIFF_LIBS="-ltiff34 $JPEG_LIBS $Z_LIBS"; AC_DEFINE(HAVE_LIBTIFF)) ],,
+$JPEG_LIBS $Z_LIBS -lm) ], $JPEG_LIBS $Z_LIBS -lm) ], -lm)
 
 dnl Test for libgif
 AC_CHECK_LIB(gif, DGifOpenFileName,
-  AC_CHECK_HEADER(gif_lib.h,
-    GIF_LIBS="-lgif"; AC_DEFINE(HAVE_LIBGIF)),,$GTK_LIBS)
+  [ AC_CHECK_HEADER(gif_lib.h,
+    GIF_LIBS="-lgif"; AC_DEFINE(HAVE_LIBGIF)) ],,$GTK_LIBS)
 
 dnl Test for libungif
 AC_CHECK_LIB(ungif, DGifOpenFileName,
-  AC_CHECK_HEADER(gif_lib.h,
-    GIF_LIBS="-lungif"; AC_DEFINE(HAVE_LIBGIF)),,$GTK_LIBS)
+  [ AC_CHECK_HEADER(gif_lib.h,
+    GIF_LIBS="-lungif"; AC_DEFINE(HAVE_LIBGIF)) ],,$GTK_LIBS)
 
 dnl Test for libpng
 AC_CHECK_LIB(png, png_read_info,
-  AC_CHECK_HEADER(png.h,
+  [ AC_CHECK_HEADER(png.h,
     png_ok=yes,
-    png_ok=no),,$Z_LIBS -lm)
+    png_ok=no)],,$Z_LIBS -lm)
 if test "$png_ok" = yes; then
   AC_MSG_CHECKING([for png_structp in png.h])
   AC_TRY_COMPILE([#include <png.h>],

gnome-libs-1.4.1.2.90-alpha_size_t.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-alpha_size_t.patch ---
--- gnome-libs-1.4.1.2.90/libgnome/gnome-dentry.c.alpha_size_t	Tue Apr  9 17:28:25 2002
+++ gnome-libs-1.4.1.2.90/libgnome/gnome-dentry.c	Tue Apr  9 17:29:02 2002
@@ -910,7 +910,7 @@
 static gboolean
 g_file_get_contents (const gchar *filename,
                      gchar      **contents,
-                     gsize       *length)
+                     size_t       *length)
 {  
   struct stat stat_buf;
   gint fd;
@@ -1074,7 +1074,7 @@
 	}
 	if (fd != (iconv_t)-1) {
 		gchar *pout, *pin, *str;
-		gint len, ib, ob;
+		size_t len, ib, ob;
 
 		len = strlen (value);
 

gnome-libs-1.4.1.2.90-db1.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-db1.patch ---
--- gnome-libs-1.4.1.2.90/libgnome/Makefile.am.ook	Fri Jan 25 20:24:46 2002
+++ gnome-libs-1.4.1.2.90/libgnome/Makefile.am	Fri Jan 25 20:25:11 2002
@@ -81,7 +81,7 @@
 gnome-config.o: parse-path.cP
 
 libgnome_la_LDFLAGS = -version-info 36:3:4 #-rpath $(libdir)
-libgnome_la_LIBADD = $(GLIB_LIBS) -lm
+libgnome_la_LIBADD = $(GLIB_LIBS) -lm -ldb1
 
 bin_PROGRAMS = dns-helper gnome-dump-metadata gnome-moz-remote \
 	gconfigger gnome-gen-mimedb

gnome-libs-1.4.1.2.90-ghelp.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-ghelp.patch ---
--- gnome-libs-1.4.1.2.90/libgnome/gnome-url.c.ghelp	Thu Aug 29 16:40:31 2002
+++ gnome-libs-1.4.1.2.90/libgnome/gnome-url.c	Thu Aug 29 17:45:53 2002
@@ -26,8 +26,11 @@
 #include <libgnome/gnome-exec.h>
 #include <libgnome/gnome-util.h>
 #include "gnome-popt.h" /* poptParseArgvString */
+#include "gnome-help.h"
 #include "gnome-url.h"
 
+static gchar *uri_get_file_uri_from_ghelp_uri (const gchar *path);
+
 #define DEFAULT_HANDLER "gnome-moz-remote --newwin \"%s\""
 
 static gchar *
@@ -107,6 +110,7 @@
 {
 	gint i;
 	gchar *pos, *template;
+	gchar *tmp_url = NULL;
 	gboolean free_template = FALSE;
 	int argc;
        	char **argv;
@@ -123,15 +127,30 @@
 		strncpy (protocol, url, pos - url);
 		protocol [pos - url] = '\0';
 		g_strdown (protocol);
-		
-		path = g_strconcat ("/Gnome/URL Handlers/", protocol, "-show", NULL);
-		template = gnome_config_get_string_with_default (path, &def);
-		g_free (path);
-		if (def)
-			template = gnome_url_default_handler (protocol);
-		else
-			free_template = TRUE;
-		g_free (protocol);
+
+		if (strcmp (protocol, "ghelp") == 0) {
+			/* We no longer have any app (other than Galeon)
+			 * that can handle both ghelp: URI's and GNOME 1
+			 * help files, so do a hardcoded translation
+			 * and then run htmlview.
+			 */
+			if (strstr (url, "galeon") != NULL) {
+				/* But always use Galeon for Galeon */
+				template = "galeon \"%s\"";
+			} else {
+				url = tmp_url = uri_get_file_uri_from_ghelp_uri (pos + 1);
+				template = "htmlview \"%s\"";
+			}
+		} else {
+			path = g_strconcat ("/Gnome/URL Handlers/", protocol, "-show", NULL);
+			template = gnome_config_get_string_with_default (path, &def);
+			g_free (path);
+			if (def)
+				template = gnome_url_default_handler (protocol);
+			else
+				free_template = TRUE;
+			g_free (protocol);
+		}
 	} else /* no : ? -- this shouldn't happen.  Use default handler */
 		template = gnome_url_default_handler (NULL);
 
@@ -156,6 +175,9 @@
 	 * security hole */
 	gnome_execute_async (NULL, argc, argv);
 
+	if (tmp_url)
+		g_free (tmp_url);
+	
 	if (free_template)
 		g_free (template);
 
@@ -164,3 +186,103 @@
 	 * it must be free and not g_free */
 	free(argv);
 }
+
+/* Next two functions borrowed from yelp, and modified to use
+ * gnome_help_file_path().
+ *
+ * Copyright (C) 2002 Mikael Hallendal <micke at codefactory.se>
+ *
+ * From: Mikael Hallendal <micke at codefactory.se>
+ * To: Owen Taylor <otaylor at redhat.com>
+ * Date: 29 Aug 2002 22:29:37 +0200
+ * Message-Id: <1030652977.32141.2.camel at fluffy.hallendal.net>
+ *
+ * Hi!
+ * 
+ * I give permission to use the code in yelp-uri.c under the LPGL.
+ * 
+ * Regards,
+ *   Mikael Hallendal
+ */
+static gchar *
+uri_get_path_from_relative (const gchar *path)
+{
+	gchar        *doc_id;
+	gchar        *file_name;
+	gchar        *ret_val = NULL;
+	const gchar  *ch, *hash;
+	int len;
+	
+	if ((ch = strchr (path, '/'))) {
+		/* 2:  ghelp:AisleRiot2/Klondike */
+		doc_id    = g_strndup (path, ch - path);
+
+		hash = strchr (ch + 1, '#');
+		if (!hash)
+			hash = ch + 1 + strlen (ch + 1);
+		len = hash - (ch + 1);
+
+		if (len >= 5 && strncmp (hash - 5, ".html", 5) == 0)
+			file_name = g_strdup (ch + 1);
+		else {
+			char *tmp = g_strndup (ch + 1, len);
+			file_name = g_strconcat (tmp,
+						 ".html",
+						 *hash ? "#" : NULL,
+						 *hash ? hash + 1 : NULL,
+						 NULL);
+			g_free (tmp);
+		}
+	} else {
+		/* 1:  ghelp:nautilus */
+		doc_id    = (gchar *)path;
+		file_name = g_strdup ("index.html");
+	}
+
+	ret_val = gnome_help_file_path (doc_id, file_name);
+
+	if (doc_id != path)
+		g_free (doc_id);
+	g_free (file_name);
+
+	return ret_val;
+}
+
+static gchar *
+uri_get_path_from_ghelp_uri (const gchar *path)
+{
+	gchar *ret_val = NULL;
+	gchar *work_path;
+	
+	work_path = g_strdup (path);
+	
+	g_strstrip (work_path);
+
+	if (path[0] == '/') {
+		/* Absolute URL */
+		gint i = 1;
+		gint len = strlen (work_path);
+		
+		while (i < len && work_path[i] == '/') {
+			++i;
+		}
+
+		ret_val = g_strdup (work_path + (i - 1));
+	} else {
+		ret_val = uri_get_path_from_relative (path);
+	}
+	
+	g_free (work_path);
+
+	return ret_val;
+}
+
+static gchar *
+uri_get_file_uri_from_ghelp_uri (const gchar *path)
+{
+	char *tmp_path = uri_get_path_from_ghelp_uri (path);
+	char *result = g_strconcat ("file://", tmp_path, NULL);
+	
+	g_free (tmp_path);
+	return result;
+}

gnome-libs-1.4.1.2.90-htmlview.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-htmlview.patch ---
--- gnome-libs-1.4.1.2.90/libgnome/gnome-url.c.htmlview	2003-01-30 16:55:13.000000000 -0500
+++ gnome-libs-1.4.1.2.90/libgnome/gnome-url.c	2003-01-30 17:08:48.000000000 -0500
@@ -31,7 +31,7 @@
 
 static gchar *uri_get_file_uri_from_ghelp_uri (const gchar *path);
 
-#define DEFAULT_HANDLER "gnome-moz-remote --newwin \"%s\""
+#define DEFAULT_HANDLER "htmlview \"%s\""
 
 static gchar *
 gnome_url_default_handler (const char *protocol)
@@ -43,6 +43,7 @@
 		gboolean def;
 		str = gnome_config_get_string_with_default ("/Gnome/URL Handlers/default-show",
 							    &def);
+                
 		if (def) {
 			app = gnome_is_program_in_path ("nautilus");
 			if (app) {
@@ -52,9 +53,6 @@
 				app = "gnome-help-browser \"%s\"";
 
 			/* first time gnome_url_show is run -- set up some useful defaults */
-			default_handler = DEFAULT_HANDLER;
-			gnome_config_set_string ("/Gnome/URL Handlers/default-show", default_handler);
-
 			g_free (gnome_config_get_string_with_default(
 				"/Gnome/URL Handlers/info-show", &def));
 			if (def)
@@ -75,10 +73,21 @@
 			      strcmp (protocol, "info") == 0 ||
 			      strcmp (protocol, "man") == 0)) {
 				return app;
-			}
-			
-		} else
-			default_handler = str;
+			} else {
+                                /* always force use of htmlview */
+                                default_handler = DEFAULT_HANDLER;
+                        }
+		} else {
+                        if (protocol &&
+                            (strcmp (protocol, "ghelp") == 0 ||
+                             strcmp (protocol, "info") == 0 ||
+                             strcmp (protocol, "man") == 0)) {
+                                default_handler = str;
+                        } else {
+                                /* force htmlview */
+                                default_handler = DEFAULT_HANDLER;
+                        }
+                }
 	}
 	return default_handler;
 }

gnome-libs-1.4.1.2.90-moz-remote-fix.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-moz-remote-fix.patch ---
--- gnome-libs-1.4.1.2.90/libgnome/gnome-moz-remote.c.moz-remote-fix	2002-08-02 17:13:31.000000000 -0400
+++ gnome-libs-1.4.1.2.90/libgnome/gnome-moz-remote.c	2002-08-02 17:14:13.000000000 -0400
@@ -118,6 +118,12 @@
   unsigned long bytes_remain;
   unsigned char *prop, *prop2, *prop3;
 
+  /* Having two code paths is dumb, just always do XQueryTree().  Also
+   * this code segfaults if no GNOME 1 WM is active.  Or with Metacity
+   * anyway.
+   */
+  return False;
+  
   if (XGetWindowProperty(dpy, root,
                          XA_WIN_SUPPORTING_WM_CHECK, 0, 1, False, XA_CARDINAL,
                          &r_type, &r_format,

gnome-libs-1.4.1.2.90-quote.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-quote.patch ---
--- gnome-libs-1.4.1.2.90/libart_lgpl/libart.m4.quote	2004-10-13 01:03:10.286645176 +0200
+++ gnome-libs-1.4.1.2.90/libart_lgpl/libart.m4	2004-10-13 01:03:21.050008896 +0200
@@ -8,7 +8,7 @@
 dnl AM_PATH_LIBART([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 dnl Test for LIBART, and define LIBART_CFLAGS and LIBART_LIBS
 dnl
-AC_DEFUN(AM_PATH_LIBART,
+AC_DEFUN([AM_PATH_LIBART],
 [dnl 
 dnl Get the cflags and libraries from the libart-config script
 dnl

gnome-libs-1.4.1.2.90-remove-duplicate-definition.patch:

--- NEW FILE gnome-libs-1.4.1.2.90-remove-duplicate-definition.patch ---
--- gnome-libs-1.4.1.2.90/gtk-xmhtml/colors.c.make-non-static	1999-07-28 21:26:28.000000000 -0400
+++ gnome-libs-1.4.1.2.90/gtk-xmhtml/colors.c	2005-05-17 12:01:47.000000000 -0400
@@ -280,33 +280,6 @@
 #define BMASK		0xc0
 #define BSHIFT		6
 
-/* XXX: This function does an XQueryColors() the hard way, because there is
- * no corresponding function in Gdk.
- */
-#ifndef WITH_MOTIF
-static void
-my_x_query_colors(GdkColormap *colormap,
-		  GdkColor    *colors,
-		  gint         ncolors)
-{
-	XColor *xcolors;
-	gint    i;
-
-	xcolors = g_new(XColor, ncolors);
-	for (i = 0; i < ncolors; i++)
-		xcolors[i].pixel = colors[i].pixel;
-
-	XQueryColors(gdk_display, GDK_COLORMAP_XCOLORMAP(colormap), xcolors, ncolors);
-
-	for (i = 0; i < ncolors; i++) {
-		colors[i].red   = xcolors[i].red;
-		colors[i].green = xcolors[i].green;
-		colors[i].blue  = xcolors[i].blue;
-	}
-
-	g_free(xcolors);
-}
-#endif
 /*****
 * Name: 		tryColor
 * Return Type: 	Boolean

gnome-libs-1.4.2-prototypes.patch:

--- NEW FILE gnome-libs-1.4.2-prototypes.patch ---
--- gnome-libs-1.2.13/support/poptint.h.prototypes	Mon Aug 27 17:38:20 2001
+++ gnome-libs-1.2.13/support/poptint.h	Mon Aug 27 17:37:09 2001
@@ -45,7 +45,7 @@
 
 #define	xfree(_a)	free((void *)_a)
 
-#ifdef HAVE_LIBINTL_H
+#ifdef ENABLE_NLS
 #include <libintl.h>
 #endif
 
--- gnome-libs-1.2.13/libgnomeui/gnome-dock-layout.c.prototypes	Mon Dec 18 18:09:51 2000
+++ gnome-libs-1.2.13/libgnomeui/gnome-dock-layout.c	Mon Aug 27 17:44:53 2001
@@ -20,6 +20,8 @@
    Author: Ettore Perazzoli <ettore at comm2000.it>
 */
 
+#include <string.h>
+
 #include <gtk/gtk.h>
 #include <stdio.h>
 
--- gnome-libs-1.2.13/libgnomeui/gnome-window.c.prototypes	Mon Aug 27 17:45:21 2001
+++ gnome-libs-1.2.13/libgnomeui/gnome-window.c	Mon Aug 27 17:45:33 2001
@@ -22,6 +22,8 @@
  */
 
 
+#include <string.h>
+
 #include <config.h>
 #include <glib.h>
 #include <gtk/gtkwindow.h>
--- gnome-libs-1.2.13/libgnomeui/gnome_segv.c.prototypes	Mon Aug 27 17:46:08 2001
+++ gnome-libs-1.2.13/libgnomeui/gnome_segv.c	Mon Aug 27 17:47:39 2001
@@ -6,6 +6,10 @@
 #ifndef _POSIX_SOURCE
 #  define _POSIX_SOURCE 1
 #endif
+/* Needed for putenv under GNU Libc */
+#ifndef _XOPEN_SOURCE
+#  define _XOPEN_SOURCE 1
+#endif
 #include <sys/types.h>
 #include <sys/wait.h>
 

gnome-libs-gtkrc.patch:

--- NEW FILE gnome-libs-gtkrc.patch ---
--- gnome-libs-1.0.55/libgnomeui/Makefile.am.gtkrc	Wed Oct 20 08:44:29 1999
+++ gnome-libs-1.0.55/libgnomeui/Makefile.am	Fri Feb 11 16:34:15 2000
@@ -20,6 +20,7 @@
 	$(AUDIOFILE_CFLAGS) $(ESD_CFLAGS) \
         -DGNOMELIBDIR=\""$(libdir)"\" \
         -DGNOMEDATADIR=\""$(datadir)"\" \
+	-DGNOMECONFDIR=\""$(sysconfdir)/gnome"\" \
         -DGNOMEBINDIR=\""$(bindir)"\" \
         -DGNOMELOCALSTATEDIR=\""$(localstatedir)"\" \
         -DGNOMELOCALEDIR=\""$(gnomelocaledir)"\" \
@@ -241,7 +242,7 @@
 SGML =	\
 	gtk-ted.sgml
 
-gtkrcdir = $(datadir)
+gtkrcdir = $(sysconfdir)/gnome
 gtkrc_DATA = gtkrc gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
 	gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk \
 	gtkrc.iso88592 gtkrc.iso88595 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
--- gnome-libs-1.0.55/libgnomeui/gnome-init.c.gtkrc	Thu Jan  6 18:07:03 2000
+++ gnome-libs-1.0.55/libgnomeui/gnome-init.c	Fri Feb 11 16:34:15 2000
@@ -48,6 +48,79 @@
 #include <locale.h>
 #endif
 
+#define TEMPORARY_CUT_AND_PASTE_HACK
+#ifdef TEMPORARY_CUT_AND_PASTE_HACK
+/* This is cut-and-pasted from libgnome to avoid adding
+   API in the stable branch. */
+
+static char *
+gnome_dirrelative_file (const char *base, const char *sub, const char *filename, int unconditional)
+{
+        static char *gnomedir = NULL;
+	char *dir = NULL, *fil = NULL, *odir = NULL, *ofil = NULL;
+	char *retval = NULL;
+	
+	/* First try the env GNOMEDIR relative path */
+	if(!gnomedir)
+	  gnomedir = getenv ("GNOMEDIR");
+	
+	if (gnomedir) {
+		dir = g_concat_dir_and_file (gnomedir, sub);
+		fil = g_concat_dir_and_file (dir, filename);
+
+		if (g_file_exists (fil)) {
+			retval = fil; fil = NULL; goto out;
+		}
+
+		odir = dir; ofil = fil;
+		dir = g_concat_dir_and_file (gnome_util_user_home (), sub);
+		fil = g_concat_dir_and_file (dir, filename);
+
+		if (strcmp (odir, dir) != 0 && g_file_exists (fil)) {
+			retval = fil; fil = NULL; goto out;
+		}
+
+		if (unconditional) {
+			retval = ofil; ofil = NULL; goto out;
+		}
+	}
+
+	if ((!dir || strcmp (base, dir) != 0)
+	    && (!odir || strcmp (base, odir) != 0)) {
+		/* Then try the hardcoded path */
+		g_free (fil);
+		fil = g_concat_dir_and_file (base, filename);
+		
+		if (unconditional || g_file_exists (fil)) {
+			retval = fil; fil = NULL; goto out;
+		}
+	}
+
+	/* Finally, attempt to find it in the current directory */
+	g_free (fil);
+	fil = g_concat_dir_and_file (".", filename);
+	
+	if (g_file_exists (fil)) {
+		retval = fil; fil = NULL; goto out;
+	}
+
+out:	
+	g_assert(retval || !unconditional);
+
+	g_free (dir); g_free (odir); g_free (fil); g_free (ofil);
+        
+	return retval;
+}
+
+static gchar*
+gnome_unconditional_gnomeconf_file(const gchar* filename)
+{
+	return (gnome_dirrelative_file (GNOMECONFDIR, "gnome", filename, TRUE));
+}
+
+#endif /* TEMPORARY_CUT_AND_PASTE_HACK */
+
+
 static void initialize_gtk_signal_relay(void);
 static gboolean
 relay_gtk_signal(GtkObject *object,
@@ -531,8 +604,8 @@
 	g_free(buf);
 	
 	
-	/* <gnomedatadir>/gtkrc */
-	file = gnome_unconditional_datadir_file("gtkrc");
+	/* <sysconfdir>/gnome/gtkrc */
+	file = gnome_unconditional_gnomeconf_file("gtkrc");
 	if (file){
 		gtk_rc_add_default_file (file);
 		g_free (file);


--- NEW FILE gnome-libs.spec ---
%define dbdir db.1.85
%define dbinclude %{dbdir}/include
%define dblib %{dbdir}/PORT/linux

Name:           gnome-libs
Epoch:          1
Version:        1.4.2
Release:        3%{?dist}
Summary:        The main GNOME1 libraries
License:        LGPL
Group:          System Environment/Libraries
URL:            http://www.gnome.org/
# "Upstream" for Source2 and Source4 appears to be Fedora CVS
# http://cvs.fedora.redhat.com/repo/dist/gnome-libs/gnome-libs-pofiles.tar.gz/fb1d90bb2ce01e065be6573da7cdac24/gnome-libs-pofiles.tar.gz
# http://cvs.fedora.redhat.com/viewcvs/devel/gnome-libs/
Source0:        http://ftp.gnome.org/pub/GNOME/sources/gnome-libs/1.4/gnome-libs-%{version}.tar.bz2
Source2:        gnome-libs-pofiles.tar.gz
Source3:        http://downloads.sleepycat.com/db.1.85.tar.gz
Source4:        utf8-ta.po
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires:       htmlview

# Make sure utmp group exists at install time (#24171)
Requires:       utempter

BuildRequires:  zlib-devel
BuildRequires:  imlib-devel
BuildRequires:  esound-devel
BuildRequires:  ORBit-devel
BuildRequires:  glib-devel
BuildRequires:  gtk+-devel
BuildRequires:  /usr/bin/automake-1.4
BuildRequires:  libpng10-devel >= 1.0.13
BuildRequires:  libtool
BuildRequires:  gettext
BuildRequires:  libXpm-devel
BuildRequires:  libXt-devel
BuildRequires:  gtk-doc

# Red Hat patches
Patch0:         RH-gnome-libs-rhsnddefs.patch
Patch5:         gnome-libs-gtkrc.patch
Patch9:         gnome-libs-1.4.1.2.90-quote.patch

# i18n patches
Patch25:        gnome-icon-item.c-preedit-diff
Patch31:        gnome-libs-1.2.13-noxalf.patch
Patch32:        gnome-libs-1.2.13-notearoffs.patch
Patch34:        gnome-libs-1.2.13-bghack.patch
Patch39:        gnome-libs-1.4.2-prototypes.patch
Patch41:        gnome-libs-1.4.1.2.90-db1.patch
Patch42:        gnome-libs-1.4.1.2.90-ac25.patch
Patch44:        gnome-libs-1.4.1.2.90-alpha_size_t.patch
Patch45:        gnome-libs-1.4.1.2.90-moz-remote-fix.patch
Patch46:        gnome-libs-1.4.1.2.90-ghelp.patch
Patch50:        gnome-libs-1.2.13-config-dir-variable.patch
Patch52:        gnome-libs-1.4.1.2.90-htmlview.patch
Patch53:        gnome-libs-1.4.1.2.90-remove-duplicate-definition.patch

## db1 patches
Patch80:        db.1.85.patch
Patch81:        db.1.85.s390.patch
Patch82:        db.1.85.nodebug.patch

%description
GNOME (GNU Network Object Model Environment) is a user-friendly set of GUI
applications and desktop tools to be used in conjunction with a window manager
for the X Window System. The gnome-libs package includes libraries that are
needed to run GNOME 1 applications.

%package devel
Summary:        Libraries and headers for GNOME 1 application development
Group:          Development/Libraries
Requires:       %{name} = %{epoch}:%{version}-%{release}
Requires:       gtk+-devel
Requires:       ORBit-devel
Requires:       imlib-devel
Requires:       esound-devel
Requires:       libSM-devel

# For ownership of %{_datadir}/aclocal
Requires:       automake

%description devel
GNOME (GNU Network Object Model Environment) is a user-friendly set of GUI
applications and desktop tools to be used in conjunction with a window manager
for the X Window System. The gnome-libs-devel package includes the libraries
and include files that you will need to develop GNOME 1.x applications.

You should install the gnome-libs-devel package if you would like to develop
GNOME 1.x applications. You do not need to install gnome-libs-devel if you just
want to use the GNOME desktop environment.

%prep
%setup -q -a 3
%patch  -p1
%patch5 -p1
%patch9 -p1 -b .quote
%patch25 -p0 -b .iconedit
%patch31 -p1 -b .noxalf
%patch32 -p1 -b .notearoffs
%patch34 -p1 -b .bghack
%patch39 -p1 -b .prototypes
%patch41 -p1 -b .db1
%patch42 -p1 -b .ac25
%patch44 -p1 -b .alpha_size_t
%patch45 -p1 -b .moz-remote-fix
%patch46 -p1 -b .ghelp
%patch50 -p1 -b .config-dir-variable
%patch52 -p1 -b .htmlview
%patch53 -p1 -b .remove-duplicate-definition

# translations
%{__tar} zxf %{SOURCE2}
%{__cp} -pf %{SOURCE4} po/ta.po

cd %{dbdir}
%patch80 -p1 -b .patch
%patch81 -p1 -b .fPIC
%patch82 -p1 -b .nodebug
cd -

%build

## db1
pushd %{dbdir}
%{__gzip} -9 docs/*.ps
(cd include && %{__ln_s} -f db.h db_185.h)
cd PORT/linux
%{__make} OORG="%{optflags}"
sover=$(echo libdb.so.* | %{__sed} 's/libdb.so.//')
%{__ln_s} -f libdb1.so.${sover} libdb1.so
%{__ln_s} -f libdb.so.${sover}  libdb1.so.${sover}
popd

# so we don't get the wrong libpng or have gcc whining
%{__perl} -pi -e 's at -I\$\(includedir\)[^/]?@@g' $(/usr/bin/find -name Makefile.am)

/usr/bin/automake-1.4

echo 'dbinclude is: %{dbinclude}'

# bad hacks because re-running autoconf breaks the AC_CONFIG_SUBDIRS(libart_lgpl)
%{__perl} -pi -e 's at ia64*@ia64* | x86_64*@g;' \
              -e 's/-lpng/`pkg-config --libs libpng10`/g;' \
              -e 's at -I */usr/include[^/]?@@g;' \
              -e 's@\$CPPFLAGS@\$CPPFLAGS -I%{_builddir}/%{name}-%{version}/%{dbinclude}@g;' \
              -e 's@\$LDFLAGS@\$LDFLAGS -L%{_builddir}/%{name}-%{version}/%{dblib}@g;' \
              configure

CFLAGS="%{optflags} $(pkg-config --cflags libpng10)"
export CPPFLAGS="$(pkg-config --cflags libpng10)"
%configure --with-kde-datadir=%{_datadir} --enable-prefer-db1 --disable-gtk-doc
%{__perl} -pi -e 's/-ldb1//g; s/-ldb//g;' gnome-config
%{__make} LIBTOOL=/usr/bin/libtool

%install
%{__rm} -rf %{buildroot}

## db1
pushd %{dbdir}
%{__mkdir_p} %{buildroot}{%{_includedir}/db1,%{_bindir},%{_libdir}}
%{__sed} -n '/^\/\*-/,/^ \*\//s/^.\*.\?//p' include/db.h | %{__grep} -v '^@.*db\.h' > LICENSE
%{__perl} -pi -e 's/<db.h>/<db1\/db.h>/' PORT/include/ndbm.h
cd PORT/linux
sover=$(echo libdb.so.* | %{__sed} 's/libdb.so.//')
%{__install} -m644 libdb.a                %{buildroot}/%{_libdir}/libdb1.a
%{__install} -m755 libdb.so.${sover}      %{buildroot}/%{_libdir}/libdb1.so.${sover}
%{__ln_s} -f libdb1.so.${sover}           %{buildroot}/%{_libdir}/libdb1.so
%{__ln_s} -f libdb1.so.${sover}           %{buildroot}/%{_libdir}/libdb.so.${sover}
%{__install} -m644 ../include/ndbm.h      %{buildroot}/%{_includedir}/db1/
%{__install} -m644 ../../include/db.h     %{buildroot}/%{_includedir}/db1/
%{__install} -m644 ../../include/mpool.h  %{buildroot}/%{_includedir}/db1/
%{__install} -s -m755 db_dump185          %{buildroot}/%{_bindir}/db1_dump185
popd

SAVE_LLP=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/%{dbdir}/PORT/linux:${SAVE_LLP}
%{__make} DESTDIR=%{buildroot} install
export LD_LIBRARY_PATH=${SAVE_LLP}

%{__mkdir_p}   %{buildroot}%{_datadir}/emacs/site-lisp
%{__mkdir_p}   %{buildroot}%{_mandir}/man1
%{__mv}        %{buildroot}%{_prefix}/share/doc/gnome-doc  %{buildroot}%{_bindir}
%{__chmod} a+x %{buildroot}%{_bindir}/gnome-doc
%{__mv}        %{buildroot}%{_prefix}/share/doc/mkstub     %{buildroot}%{_bindir}
%{__chmod} a+x %{buildroot}%{_bindir}/mkstub
%{__mv}        %{buildroot}%{_docdir}/gnome-doc.el         %{buildroot}%{_datadir}/emacs/site-lisp

# these are already in libgnomeui:
%{__rm} -f %{buildroot}/%{_datadir}/pixmaps/gnome-*.png

# unpackaged files
%{__rm} -rf %{buildroot}%{_prefix}/doc \
            %{buildroot}%{_libdir}/*.la \
            %{buildroot}%{_datadir}/gnome/help/gnome-dev-info \
            %{buildroot}%{_docdir}/gnome-{doc,mkstub}.1 \
            %{buildroot}%{_mandir}/man{1,5} \
            %{buildroot}%{_datadir}/gtk-doc/html/libart \
            %{buildroot}%{_datadir}/type-convert/gnome-make-postscript-mimes \
            %{buildroot}%{_datadir}/type-convert/postscript.convert \
            %{buildroot}%{_libdir}/libdb1.{a,so} \
            %{buildroot}%{_libdir}/lib{art_lgpl,gnome,gnomesupport,gnomeui,gnorba,gnorbagtk,gtkxmhtml,zvt}.a \
            %{buildroot}%{_includedir}/db1

%find_lang %{name}

%clean
%{__rm} -rf %{buildroot}

%post   -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files -f %{name}.lang
%defattr(-,root,root,755)
%doc AUTHORS COPYING COPYING.LIB ChangeLog NEWS README %{dbdir}/LICENSE %{dbdir}/changelog
%{_bindir}/db1_dump185
%{_bindir}/dns-helper
%{_bindir}/gconfigger
%{_bindir}/gnome-bug
%{_bindir}/gnome-dump-metadata
%{_bindir}/gnome-gen-mimedb
%{_bindir}/gnome-moz-remote
%{_bindir}/gnome-name-service
%{_bindir}/gnome_segv
%{_bindir}/goad-browser
%{_bindir}/loadshlib
%{_bindir}/new-object
%attr(2755,root,utmp) %{_prefix}/sbin/gnome-pty-helper
%{_datadir}/idl/*
%{_datadir}/pixmaps/*
%{_datadir}/mime-info/gnome.mime
%{_datadir}/type-convert
%{_libdir}/lib*.so.*
%dir %{_sysconfdir}/gnome/
%dir %{_sysconfdir}/sound/
%dir %{_sysconfdir}/sound/events/
%config %{_sysconfdir}/gnome/gtkrc*
%config %{_sysconfdir}/mime-magic
%config %{_sysconfdir}/mime-magic.dat
%config %{_sysconfdir}/paper.config
%config %{_sysconfdir}/sound/events/*.soundlist

%files devel
%defattr(-,root,root,755)
%{_bindir}/gnome-config
%{_bindir}/libart-config
%{_bindir}/gnome-doc
%{_bindir}/mkstub
%{_libdir}/lib*.so
%{_libdir}/*.sh
%{_libdir}/gnome-libs/
%{_includedir}/*
%{_datadir}/aclocal/*
%{_datadir}/gnome/html/
%{_datadir}/emacs/site-lisp/gnome-doc.el

%changelog
* Wed Sep 13 2006 Paul Howarth <paul at city-fan.org> 1:1.4.2-3
- Add full URLs or CVS information for source files
- Remove conflicts for ancient glibc versions
- Use Fedora libtool instead of bundled libtool to avoid /usr/lib64 rpaths
  This seems to break --disable-static, so explicitly remove static libs from
  the buildroot
- Add COPYING.LIB to documentation

* Mon Jul 10 2006 Paul Howarth <paul at city-fan.org> 1:1.4.2-2
- Add automake as dep of devel subpackage (#198245)

* Mon Jul 10 2006 Paul Howarth <paul at city-fan.org> 1:1.4.2-1
- Update to 1.4.2
- Use %%{?dist} tag
- Fix Source0 URL
- Remove redundant runtime library deps
- Remove a bunch of patches now included upstream
- Convert spec file to UTF-8 encoding
- Include release in fully versioned dependency between main & devel pkgs
- Directories in %%{_sysconfdir} aren't %%config
- Use Fedora Extras standard buildroot
- Change PreReq: utempter to Requires: utempter
- Add buildreqs gtk-doc and libXpm-devel
- Change deprecated %%makeinstall to %%{__make} DESTDIR=%%{buildroot} install
- Disable static libraries
- Cosmetic spec file cleanups

* Fri Apr  7 2006 Ray Strode <rstrode at redhat.de> 1.4.1.2.90-50
- Add requires for libSM-devel (bug 184125)

* Tue Feb 28 2006 Karsten Hopp <karsten at redhat.de> 1.4.1.2.90-49
- Buildrequires: libXt-devel

* Mon Feb 13 2006 Jesse Keating <jkeating at redhat.com> - 1:1.4.1.2.90-48.3
- need to rebuild a 3rd time for long-double fixes.

* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 1:1.4.1.2.90-48.2
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 1:1.4.1.2.90-48.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Mon Dec 19 2005 Bill Nottingham <notting at redhat.com> - 1.1.4.1.2.90-48
- #175669 is fixed, rebuild with normal flags

* Wed Dec 14 2005 Bill Nottingham <notting at redhat.com> - 1:1.4.1.2.90-47
- rebuild with -O1 to work around (#175669)

* Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com>
- rebuilt

* Thu May 12 2005 Ray Strode <rstrode at redhat.com> - 1:1.4.1.2.90-46
- add UTF-8 encoded ta.po (bug #135349)
- make compile

* Fri Nov 12 2004 Bill Nottingham - 1:1.4.1.2.90-45
- re-package db1 libs

* Wed Oct 13 2004 Miloslav Trmac <mitr at redhat.com> - 1:1.4.1.2.90-44
- Fix quoting in libart.m4 (#135170)
- Add Requires: libpng10-devel to gnome-libs-devel (#110784)

* Mon Sep 13 2004 Bill Nottingham <notting at redhat.com> 1.4.1.2.90-43
- don't package db1 libs

* Tue Jun 15 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Wed Apr 14 2004 Matthias Clasen <mclasen at redhat.com> 1.4.1.2.90-40
- Don't rebuild devel docs, since newer openjade chokes on the 
  invalid docbook markup.

* Tue Apr 13 2004 Warren Togami <wtogami at redhat.com> 1.4.1.2.90-39
- BR libtool gettext gtk-doc

* Tue Mar 02 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Wed Dec  3 2003 Bill Nottingham <notting at redhat.com> 1:1.4.1.2.90-37
- rebuild

* Tue Dec  2 2003 Bill Nottingham <notting at redhat.com> 1:1.4.1.2.90-36
- fix db linking on x86_64

* Mon Oct 27 2003 Havoc Pennington <hp at redhat.com> 1:1.4.1.2.90-35
- rebuild for execshield

* Sun Jun  8 2003 Tim Powers <timp at redhat.com> 1:1.4.1.2.90-34.1
- build for RHEL

* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Tue Jun  3 2003 Jeff Johnson <jbj at redhat.com>
- add explicit epoch's where needed.

* Wed Apr  2 2003 Matt Wilson <msw at redhat.com> 1:1.4.1.2.90-33
- rebuild for x86_64 - fixes broken gnome stock icons in buttons/menus
  for evolution (#86347)

* Mon Feb 10 2003 Bill Nottingham <notting at redhat.com> 1:1.4.1.2.90-32
- own /usr/share/typeconvert

* Sat Feb 01 2003 Florian La Roche <Florian.LaRoche at redhat.de>
- remove some png files that are already part of libgnomeui

* Thu Jan 30 2003 Havoc Pennington <hp at redhat.com> 1:1.4.1.2.90-30
- htmlview hardcoded, #75102

* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
- rebuilt

* Thu Jan  9 2003 Bill Nottingham <notting at redhat.com> 1.4.1.2.90-28
- debloat

* Sat Dec 21 2002 Havoc Pennington <hp at redhat.com>
- fix bug in atomic-config-dirs patch resulting in not saving files

* Tue Nov 26 2002 Bill Nottingham <notting at redhat.com> 1.4.1.2.90-26
- fix db1 patch to self-host, use it everywhere

* Tue Nov 26 2002 Phil Knirsch <pknirsch at redhat.com> 1.4.1.2.90-25
- Removed -ldb1 patch for s390 and s390x as it breaks building.

* Wed Nov  6 2002 Bill Nottingham <notting at redhat.com> 1.4.1.2.90-24
- rebuild to fix gnome-config link paths on multilib arches

* Tue Nov  5 2002 Havoc Pennington <hp at redhat.com>
- include patch to allow moving the .gnome directory

* Thu Aug 29 2002 Owen Taylor <otaylor at redhat.com>
- Add some simple handling for ghelp: URIs to never pass such URIs to our 
  default viewers.
- Add Requires: htmlview

* Fri Aug  2 2002 Havoc Pennington <hp at redhat.com>
- try a fix for gnome-moz-remote bug 68832

* Sun May 26 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Thu May 16 2002 Bill Nottingham <notting at redhat.com>
- db1 whackage

* Thu May  9 2002 Jeremy Katz <katzj at redhat.com>
- change /usr/bin/automake-1.4 buildrequire to automake14

* Thu May  2 2002 Havoc Pennington <hp at redhat.com>
- put all the db1, libpng10 stuff back

* Mon Apr 15 2002 Havoc Pennington <hp at redhat.com>
- merge translations

* Tue Apr  9 2002 Havoc Pennington <hp at redhat.com>
- fix #58739 (crash on 64 bit due to size_t/int mixing)

* Tue Mar 12 2002 Havoc Pennington <hp at redhat.com>
- leave -ldb in gnome-config output for now, seems to be required
  for some reason

* Tue Mar  5 2002 Havoc Pennington <hp at redhat.com>
- comment out all the db1 and png10 stuff for now
- require /usr/bin/automake-1.4
- fix "can't paste more than 4K or so" #5308, someone thought 
  write() meant "write the whole buffer and always succeed"
- fix "can't paste from nedit/tk" #54185

* Mon Jan 28 2002 Havoc Pennington <hp at redhat.com>
- someday I'll get this package right (remove munging of 
  usr/include from gnome-config)

* Sun Jan 27 2002 Havoc Pennington <hp at redhat.com>
- -lpng10 patch didn't work since we can't run autoconf
  since it blows up on AC_CONFIG_SUBDIRS, so 
  instead add more perl munging of generated configure
- and also perl-munge to get rid of -I/usr/include

* Fri Jan 25 2002 Bill Nottingham <notting at redhat.com>
- hack in libdb1 reference in libgnome.so

* Wed Jan 23 2002 Havoc Pennington <hp at redhat.com>
- hmm, need to s/-ldb1/ first, then s/-ldb/, doh

* Wed Jan 23 2002 Havoc Pennington <hp at redhat.com>
- s/-ldb1//g in addition to s/-ldb//g in gnome-config

* Tue Jan 22 2002 Havoc Pennington <hp at redhat.com>
- include db1 in here; install libdb.so.2, libdb1.so.2, drop 
  our dependency on db1
- strip -ldb from gnome-config output

* Tue Jan  8 2002 Havoc Pennington <hp at redhat.com>
- make it link to -lpng10
- build require automake14, call automake-1.4 instead of automake

* Mon Oct 15 2001 Havoc Pennington <hp at redhat.com>
- CVS snap with fixed libart-config/libartConf.sh
- remove patch to gnome-about.c that Kjartaan put upstream

* Thu Sep 13 2001 Havoc Pennington <hp at redhat.com>
- upgrade to CVS snapshot, and move headers around
- remove imlibref patch, now upstream

* Mon Aug 27 2001 Havoc Pennington <hp at redhat.com>
- Add po files from sources.redhat.com

* Mon Aug 27 2001 Owen Taylor <otaylor at redhat.com>
- Fix missing prototype in multibyte patch, causing segfault on ia64 (#51987)
- Add various missing #includes, which were causing warnings and at least 
  one segfault.

* Wed Aug 22 2001 Havoc Pennington <hp at redhat.com>
- fix #48470, gnome-terminal Home/End keys

* Mon Aug 13 2001 Owen Taylor <otaylor at redhat.com>
- Fix problem displaying mdash in help browser

* Sun Aug 12 2001 Owen Taylor <otaylor at redhat.com>
- Fix problem with imlib memory management that produced crashes when
  switching themes (#51580)

* Thu Aug  2 2001 Owen Taylor <otaylor at redhat.com>
- Check if .desktop files are UTF-8 by examining entire file (#50447)
- Use a default type of Directory for all .directory files, not just for 
  old-style KDE files (#50558)

* Mon Jul 23 2001 Owen Taylor <otaylor at redhat.com>
- Clean up if master client is destroyed (#14872)
- 'nother attempt at the master-client fix
- Add hack for nautilus root window to gnome-libs

* Thu Jul 19 2001 Alexander Larsson <alexl at redhat.com>
- Add BuildRequires

* Fri Jul 13 2001 Alexander Larsson <alexl at redhat.com>
- Disable xalf by default
- Disable tearoff menus and menu bars

* Tue Jul 10 2001 Alexander Larsson <alexl at redhat.com>
- Added patch to handle substitution and icons in kde desktop entries

* Sun Jun 24 2001 Elliot Lee <sopwith at redhat.com>
- Bump release + rebuild.

* Tue Apr 17 2001 Jonathan Blandford <jrb at redhat.com>
- upped version to 1.2.12.
- removed a lot of patches that had made their way to CVS.

* Thu Mar 15 2001 Havoc Pennington <hp at redhat.com>
- translations

* Thu Mar 01 2001 Owen Taylor <otaylor at redhat.com>
- Rebuild for gtk+-1.2.9

* Fri Feb 23 2001 Trond Eivind Glomsrød <teg at redhat.com>
- langify

* Mon Feb 19 2001 Havoc Pennington <hp at redhat.com>
- Fix paste to still try STRING even if we also try COMPOUND_TEXT, 
  bug 26971

* Thu Feb 08 2001 Florian La Roche <Florian.LaRoche at redhat.de>
- add libtoolize to make porting to new archs easy

* Wed Feb 07 2001 Havoc Pennington <hp at redhat.com> 1.2.4-6
- Add utempter Prereq, bug #24171

* Wed Feb 07 2001 Havoc Pennington <hp at redhat.com>
- Apply patch from John Harper that makes GNOME apps work with the 
  KDE session manager.

* Wed Jan 31 2001 Akira TAGOH <tagoh at redhat.com>
- Fixed show multibyte character in gnome_canvas_new_aa ()

* Sun Jan 28 2001 Akira TAGOH <tagoh at redhat.com>
- Fixed show UTF-8 encoding KDE menu.

* Wed Jan 24 2001 Matt Wilson <msw at redhat.com>
- Japanese ideographs now show up in iswalnum, don't include it in the
  ideograph check (Patch26: gtk-xmhtml-wordwrap-alnum.patch)

* Wed Dec 27 2000 Matt Wilson <msw at redhat.com>
- enable japanese
- removed gnome-libs-1.2.4-druid-fontset.patch, in mainline

* Tue Dec 19 2000 Matt Wilson <msw at redhat.com>
- disabled i18n (asian) patches, but integrate patches into main package
- added iconlist im patch from CLE, currently disabled.
- 1.2.8
- removed gnome-libs-1.2.4-setbgfix.patch, in mainline
- removed gnome-libs-1.2.4-grabfix.patch, in mainline
- removed gnome-libs-1.2.4-doubleclicks.patch, in mainline
- removed gnome-libs-1.2.4-motionnotify.patch, in mainline
- removed gnome-libs-1.2.4-nosound.patch, in mainline
- removed alpha cflags hack

* Thu Sep  7 2000 Matt Wilson <msw at redhat.com>
- added patch for gtk-XmHTML wrapping
- added patch to ensure proper kanji display in about boxes (is this still needed?)
- added patch to tweak the fonts used for XmHTML to be readable in Japanese

* Tue Aug 29 2000 Yukihiro Nakai <ynakai at redhat.com>
- Add Japanese patches

* Wed Aug 23 2000 Elliot Lee <sopwith at redhat.com>
- Fix the mismatch of default settings between control-center and
gnome-libs. I am the true survivor!

* Sat Aug 19 2000 Havoc Pennington <hp at redhat.com>
- Always use SCROLL_NEVER mode as if transparency was on, 
  even if transparency is not on. This fixes 14744 but makes
  scrolling slow. Best we can do, sigh.

* Sat Aug 19 2000 Havoc Pennington <hp at redhat.com>
- Call gdk_window_get_pointer on motion notify, fixes bug
  16407, though I don't quite understand why it does

* Fri Aug 11 2000 Jonathan Blandford <jrb at redhat.com>
- Up Epoch and release

* Wed Aug 09 2000 Havoc Pennington <hp at redhat.com>
- Filter out double/triple clicks when doing scroll or paste

* Wed Aug 09 2000 Havoc Pennington <hp at redhat.com>
- fix for grabbing the pointer while selecting

* Sat Aug 05 2000 Havoc Pennington <hp at redhat.com>
- fix for failure to change background color post-realization

* Fri Aug 04 2000 Owen Taylor <otaylor at redhat.com>
- Add a Requires db1-devel to the devel package. (Bug #15394)

* Thu Aug 03 2000 Owen Taylor <otaylor at redhat.com>
- Rebuild to see if we can fix funny gnome-config junk
  problem. 

* Tue Jul 19 2000 Havoc Pennington <hp at redhat.com>
- Rebuild; were getting weird segfaults with tearoff dock items,
  rebuilding with debugging made it go away, hoping it was 
  a compiler bug.

* Wed Jul 12 2000 Havoc Pennington <hp at redhat.com>
- 1.2.4
- remove IDL fix patch, seems to have gone upstream

* Mon Jun 19 2000 Havoc Pennington <hp at redhat.com>
- Move elisp files and executables out of /usr/share/doc
- Add HTML docs to file list
- remove broken %%doc mess

* Thu Jun 15 2000 Jonathan Blandford <jrb at redhat.com>
- added bug fix to fix idl miscompilation.

* Fri Jun  9 2000 Matt Wilson <msw at redhat.com>
- 1.2.1
- rebuilt with gcc that has fixed C ABI

* Tue May 30 2000 Matt Wilson <msw at redhat.com>
- prefer db1

* Fri May 19 2000 Owen Taylor <otaylor at redhat.com>
- Upgrade to gnome-libs 1.0.62

* Mon Feb 21 2000 Preston Brown <pbrown at redhat.com>
- keyboard mapping follows debian policy, xterm

* Tue Feb 15 2000 Owen Taylor <otaylor at redhat.com>
- Add checks to make sure gnome-terminal survives if the
  bg pixmap vanishes.

* Fri Feb 11 2000 Owen Taylor <otaylor at redhat.com>
- Install gtkrc files in /etc/gnome

* Fri Feb 11 2000 Owen Taylor <otaylor at redhat.com>
- Remove broken alpha timeval fix, fix bug in configure.in
  that was misdetecting ut_tv field of utmpx

* Thu Feb 10 2000 Bernhard Rosenkraenzer <bero at redhat.com>
- Fix up escape sequences in zvt (Bug #9143)

* Fri Feb 04 2000 Elliot Lee <sopwith at redhat.com>
- Accept true/yes/non-zero as TRUE for gnome-config boolean values.

* Wed Feb 03 2000 Havoc Pennington <hp at redhat.com>
- set ECHOK for terminal widget, bug 8823

* Wed Feb 02 2000 Havoc Pennington <hp at redhat.com>
- include man pages in the file list, also bug 8017

* Wed Feb 02 2000 Havoc Pennington <hp at redhat.com>
- Fix an alpha warning bugzilla #8017

* Tue Feb 01 2000 Elliot Lee <sopwith at redhat.com>
- Update to 1.0.55

* Tue Aug 31 1999 Elliot Lee <sopwith at redhat.com>
- Update to 1.0.15

* Mon Aug 30 1999 Elliot Lee <sopwith at redhat.com>
- Merge in various minor things from RHL

* Mon Jun 14 1999 Gregory McLean <gregm at comstar.net>

- Added the -q option to the setup stage, quiet please!

* Tue Mar 2  1999 Gregory McLean <gregm at comstar.net>

- Added some hackage in for the brain dead libtool on the alpha
- Cleaned up the spec file abit to be more consistant.

* Wed Feb 17 1999 Elliot Lee <sopwith at redhat.com>

- Add debugging disabling flags to $CFLAGS

* Fri Nov 20 1998 Pablo Saratxaga <srtxg at chanae.alphanet.ch>

- use --localstatedir=/var/lib in config state (score files for games
  for exemple will go there).
- added several more files to %%files section, in particular language
  files and corba IDLs

* Wed Sep 23 1998 Michael Fulbright <msf at redhat.com>

- Updated to version 0.30

* Mon Apr 13 1998 Marc Ewing <marc at redhat.com>
- Added %%{prefix}/lib/gnome-libs

* Fri Mar 13 1998 Marc Ewing <marc at redhat.com>

- Integrate into gnome-libs source tree


--- NEW FILE utf8-ta.po ---
# translation of ta.po to Tamil
# Tamil translation of GLib.
# Copyright (C) 2001, 2004 Free Software Foundation, Inc.
# Dinesh Nadarajah <n_dinesh at yahoo.com>, 2001.
# Jayaradha N <jaya at pune.redhat.com>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: ta\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2004-08-13 10:10-0400\n"
"PO-Revision-Date: 2004-10-08 19:38+0530\n"
"Last-Translator: Jayaradha N <jaya at pune.redhat.com>\n"
"Language-Team: Tamil <zhakanini at yahoogroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.3.1\n"
"Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n\n"

#: glib/gconvert.c:402
#, c-format
msgid "Conversion from character set '%s' to '%s' is not supported"
msgstr "வரியுரு வகை `%s' இலிருந்து `%s' க்கு மாற்றுவதற்கு ஆதரவளிப்பு கிடையாது"

#: glib/gconvert.c:406
#, c-format
msgid "Could not open converter from '%s' to '%s'"
msgstr "`%s' இலிருந்து `%s' க்கு மாற்றும் நிலை மாற்றியைத் திறக்க முடியவில்லை"

#: glib/gconvert.c:604 glib/gconvert.c:891 glib/giochannel.c:1315
#: glib/giochannel.c:1357 glib/giochannel.c:2199 glib/gutf8.c:910
#: glib/gutf8.c:1355
msgid "Invalid byte sequence in conversion input"
msgstr "நிலை மாற்றியின் உள்ளீடுக்கு தவறான பைட் வரிசைமுறை"

#: glib/gconvert.c:609 glib/gconvert.c:824 glib/giochannel.c:1322
#: glib/giochannel.c:2211
#, c-format
msgid "Error during conversion: %s"
msgstr "மாற்றும் போது பிழை: %s"

#: glib/gconvert.c:627 glib/gutf8.c:906 glib/gutf8.c:1106 glib/gutf8.c:1247
#: glib/gutf8.c:1351
msgid "Partial character sequence at end of input"
msgstr "உள்ளீடின் முடிவில் பூர்த்தியாகாத வரிசைமுறை"

#: glib/gconvert.c:800
#, c-format
msgid "Cannot convert fallback '%s' to codeset '%s'"
msgstr "பின்னடைப்பு '%s', '%s'  குறி அமைப்புக்கு மாற்ற முடியவில்லை"

#: glib/gconvert.c:1497
#, c-format
msgid "The URI '%s' is not an absolute URI using the file scheme"
msgstr "வலை முகவரி `%s' கோப்புத் திட்டமுறைப்படி ஓர் தனி வலை முகவரி அல்ல"

#: glib/gconvert.c:1507
#, c-format
msgid "The local file URI '%s' may not include a '#'"
msgstr "உள்ளமைக் கோப்பு வலை முகவரி `%s' இல் ஓர் `#' இல்லாமல் இருக்கலாம்"

#: glib/gconvert.c:1524
#, c-format
msgid "The URI '%s' is invalid"
msgstr "`%s' செல்லுபடியாகாத வலை முகவரி"

#: glib/gconvert.c:1536
#, c-format
msgid "The hostname of the URI '%s' is invalid"
msgstr "`%s' வலை முகவரியின் புரவலன்-பெயர் செல்லுபடியாகாது"

#: glib/gconvert.c:1552
#, c-format
msgid "The URI '%s' contains invalidly escaped characters"
msgstr "வலை முகவரி `%s' இல் செல்லுபடியாகாத 'விடுபடு' வரியுருகள்"

#: glib/gconvert.c:1622
#, c-format
msgid "The pathname '%s' is not an absolute path"
msgstr "'%s' பாதைப்-பெயர் ஓர் தனிப் பாதை அல்ல"

#: glib/gconvert.c:1632
msgid "Invalid hostname"
msgstr "பிழையான புரவலன் பெயர்"

#: glib/gdir.c:83
#, c-format
msgid "Error opening directory '%s': %s"
msgstr "'%s' அடைவு திறக்கும்போது பிழை: %s"

#: glib/gfileutils.c:393 glib/gfileutils.c:458
#, c-format
msgid "Could not allocate %lu bytes to read file \"%s\""
msgstr "%lu பைட்டுகளை \"%s\" கோப்பு வாசிப்பதற்கு ஒதுக்கிவைக்க முடியவில்லை"

#: glib/gfileutils.c:404
#, c-format
msgid "Error reading file '%s': %s"
msgstr "'%s' கோப்பு வாசிக்கும் போது பிழை: %s"

#: glib/gfileutils.c:480
#, c-format
msgid "Failed to read from file '%s': %s"
msgstr "'%s' கோப்பிலிருந்து வாசிக்க முடியவில்லை: %s"

#: glib/gfileutils.c:527 glib/gfileutils.c:595
#, c-format
msgid "Failed to open file '%s': %s"
msgstr "'%s' கோப்பை திறக்க முடியவில்லை: %s"

#: glib/gfileutils.c:541
#, c-format
msgid "Failed to get attributes of file '%s': fstat() failed: %s"
msgstr "'%s' கோப்பின் பண்புகளை பெறமுடியவில்லை: fstat() நொடிப்படைந்தது: %s"

#: glib/gfileutils.c:567
#, c-format
msgid "Failed to open file '%s': fdopen() failed: %s"
msgstr "'%s' கோப்பை திறக்க முடியவில்லை: fdopen() நொடிப்படைந்தது: %s"

#: glib/gfileutils.c:779
#, c-format
msgid "Template '%s' invalid, should not contain a '%s'"
msgstr "'%s' படிம அச்சு செல்லுபடியாகாதது; அதனில் '%s' இருக்கக் கூடாது"

#: glib/gfileutils.c:791
#, c-format
msgid "Template '%s' doesn't end with XXXXXX"
msgstr "'%s' படிம அச்சு XXXXXX கொண்டு முடிவதில்லை"

#: glib/gfileutils.c:812
#, c-format
msgid "Failed to create file '%s': %s"
msgstr "'%s' கோப்பை படைக்க முடியவில்லை: %s"

#: glib/gfileutils.c:1153
#, c-format
msgid "Failed to read the symbolic link '%s': %s"
msgstr "'%s' என்பதன்-குறுக்கம் இணைப்பை வாசிக்க முடியவில்லை: %s"

#: glib/gfileutils.c:1172
msgid "Symbolic links not supported"
msgstr "என்பதன்-குறுக்கம் இணைப்புகளுக்கு ஆதரவு கிடையாது"

#: glib/giochannel.c:1143
#, c-format
msgid "Conversion from character set `%s' to `%s' is not supported"
msgstr "வரியுரு வகை `%s' இலிருந்து `%s' க்கு மாற்றுவதற்கு ஆதரவளிப்பு கிடையாது"

#: glib/giochannel.c:1147
#, c-format
msgid "Could not open converter from `%s' to `%s': %s"
msgstr "`%s' 'சை `%s' 'க்கு மாற்றும் மாற்றியைத் திறக்க முடியவில்லை: %s"

#: glib/giochannel.c:1492
msgid "Can't do a raw read in g_io_channel_read_line_string"
msgstr "g_io_channel_read_line_string இல் மூலமாக வாசிக்க முடியாது"

#: glib/giochannel.c:1539 glib/giochannel.c:1796 glib/giochannel.c:1882
msgid "Leftover unconverted data in read buffer"
msgstr "வாசிப்புத் தாங்ககத்தில் மாற்றப்படாத மீதித் தரவுகள்"

#: glib/giochannel.c:1619 glib/giochannel.c:1696
msgid "Channel terminates in a partial character"
msgstr "வாய்க்கால் பாதி வரியுருவில் முடிவடைகிறது"

#: glib/giochannel.c:1682
msgid "Can't do a raw read in g_io_channel_read_to_end"
msgstr "g_io_channel_read_to_end இல் மூலமாக வாசிக்க முடியாது"

#: glib/gmarkup.c:225
#, c-format
msgid "Error on line %d char %d: %s"
msgstr "%d வரியில் %d வரியுருவில் பிழை: %s"

#: glib/gmarkup.c:309
#, c-format
msgid "Error on line %d: %s"
msgstr "%d வரியில் பிழை: %s"

#: glib/gmarkup.c:414
msgid "Empty entity '&;' seen; valid entities are: &amp; &quot; &lt; &gt; &apos;"
msgstr "வெற்றா பிரதிநிதி '&;' கண்டது; சரியான பிரதிநிதிகள்: &amp; &quot; &lt; &qt; &apos;"

#: glib/gmarkup.c:424
#, c-format
msgid ""
"Character '%s' is not valid at the start of an entity name; the & character "
"begins an entity; if this ampersand isn't supposed to be an entity, escape "
"it as &amp;"
msgstr ""
"'%s' வரியுரு பிரதிநிதியின் தொடக்கத்தில் வரக்கூடாது; & வரியுரு பிரதிநிதியைத் "
"தொடங்கும்; இந்த & ஓர் பிரதிநிதியாக இருக்கக்கூடாது என்றால்; அதை &amp ஆக விடுவி;"

#: glib/gmarkup.c:460
#, c-format
msgid "Character '%s' is not valid inside an entity name"
msgstr "'%s' வரியுரு பிரதிநிதியின் பெயரில் பிழையானது"

#: glib/gmarkup.c:504
#, c-format
msgid "Entity name '%s' is not known"
msgstr "பிரதிநிதியின் பெயர் '%s' தெரியாதது"

#: glib/gmarkup.c:514
msgid ""
"Entity did not end with a semicolon; most likely you used an ampersand "
"character without intending to start an entity - escape ampersand as &amp;"
msgstr ""
"பிரதிநிதி ';' உடன் முடிவடையவில்லை; நீங்கள் பிரதிநிதி ஒன்றை தொடங்க யோசிக்காமல் '&' "
"பயன்படுத்தி இருக்கலாம் - '&'சை &amp ஆக விடுவி;"

#: glib/gmarkup.c:560
#, c-format
msgid ""
"Failed to parse '%s', which should have been a digit inside a character "
"reference (&#234; for example) - perhaps the digit is too large"
msgstr "பகுக்க வேண்டிய கோப்பு '%s', இல் எண்கள் இருக்க வேண்டும் (உதாரணமாக &#234;) - எனினும் எண்கள் மிக நீளமாக உள்ளது"

#: glib/gmarkup.c:585
#, c-format
msgid "Character reference '%s' does not encode a permitted character"
msgstr "ஓர் அனுமதிக்கப்பட்ட வரியுருவை, வரியுரு குறிப்பு '%s' குறிப்பிடாது"

#: glib/gmarkup.c:602
msgid "Empty character reference; should include a digit such as &#454;"
msgstr "வெவ்வேறான வரியுரு குறிப்பு; &#454 ஆகிய இலக்கங்கள் சேர்ந்திருக் வேண்டும்;"

#: glib/gmarkup.c:612
msgid ""
"Character reference did not end with a semicolon; most likely you used an "
"ampersand character without intending to start an entity - escape ampersand "
"as &amp;"
msgstr "எழுத்து வேறுபாடுகள் அடைப்புள்ளியில் முடிய கூடாது; எட்டியை துவக்காமல் ஆம்பர்ஸன் எழுத்தை பயன்படுத்தி இருக்கலாம் - ஆம்பர்ஸன் ஐ &amp; ஆக குறிக்கவும்."

#: glib/gmarkup.c:638
msgid "Unfinished entity reference"
msgstr "முடிவடையாத உள்ளீட்டு மேற்கோள்"

#: glib/gmarkup.c:644
msgid "Unfinished character reference"
msgstr "முடிவடையாத வரியுரு மேற்கோள்"

#: glib/gmarkup.c:895 glib/gmarkup.c:923 glib/gmarkup.c:954
msgid "Invalid UTF-8 encoded text"
msgstr "பிழையான UTF-8 குறியீடு செய்யப்பட்ட உரை"

#: glib/gmarkup.c:990
msgid "Document must begin with an element (e.g. <book>)"
msgstr "ஆவணம் ஓர் உறுப்புடன் (உதாரணம்: <book>) தொடங்க வேண்டும்"

#: glib/gmarkup.c:1029
#, c-format
msgid ""
"'%s' is not a valid character following a '<' character; it may not begin an "
"element name"
msgstr ""
"'<' வரியுருவை தொடர்ந்து '%s' வர முடியாது; அதைப் பயன்படுத்தி ஓர் உறுப்படியின் பெயரைத் "
"தொடங்க முடியாது"

#: glib/gmarkup.c:1092
#, c-format
msgid ""
"Odd character '%s', expected a '>' character to end the start tag of element "
"'%s'"
msgstr ""
"ஒற்றை வரியுரு '%s', '%s' உறுப்படி தொடங்கல் ஒட்டை ஓர் '>' வரியுரு முடிவு செய்யும் "
"என்று எதிர்பார்த்தது"

#: glib/gmarkup.c:1180
#, c-format
msgid "Odd character '%s', expected a '=' after attribute name '%s' of element '%s'"
msgstr ""
"'%s' ஓர் ஒற்றை வரியுரு, பண்பின் பெயர் '%s' பின் ('%s' உறுப்பின்) எதிர்பார்த்தது ஓர் '=' "
"வரியுரு"

#: glib/gmarkup.c:1221
#, c-format
msgid ""
"Odd character '%s', expected a '>' or '/' character to end the start tag of "
"element '%s', or optionally an attribute; perhaps you used an invalid "
"character in an attribute name"
msgstr ""
"Odd character '%s', expected a '>' or '/' character to end the start tag of "
"element '%s', or optionally an attribute; perhaps you used an invalid "
"character in an attribute name"

#: glib/gmarkup.c:1309
#, c-format
msgid ""
"Odd character '%s', expected an open quote mark after the equals sign when "
"giving value for attribute '%s' of element '%s'"
msgstr ""
"Odd character '%s', expected an open quote mark after the equals sign when "
"giving value for attribute '%s' of element '%s'"

#: glib/gmarkup.c:1450
#, c-format
msgid ""
"'%s' is not a valid character following the characters '</'; '%s' may not "
"begin an element name"
msgstr ""
"'%s' is not a valid character following the characters '</'; '%s' may not "
"begin an element name"

#: glib/gmarkup.c:1489
#, c-format
msgid ""
"'%s' is not a valid character following the close element name '%s'; the "
"allowed character is '>'"
msgstr ""
"'%s' is not a valid character following the close element name '%s'; the "
"allowed character is '>'"

#: glib/gmarkup.c:1500
#, c-format
msgid "Element '%s' was closed, no element is currently open"
msgstr "'%s' உறுப்பு மூடப்பட்டுல்லது, தற்போது ஒரு உறுப்பும் திறந்து இல்லை"

#: glib/gmarkup.c:1509
#, c-format
msgid "Element '%s' was closed, but the currently open element is '%s'"
msgstr "'%s' உறுப்பு மூடப்பட்டுல்லது, அனால் தற்போது திறந்திருக்கும் உறுப்பு '%s'"

#: glib/gmarkup.c:1656
msgid "Document was empty or contained only whitespace"
msgstr "ஆவணம் காலியாக உள்ளது அல்லது ஆவணத்தில் வெறு வெற்றிமே உள்ளது"

#: glib/gmarkup.c:1670
msgid "Document ended unexpectedly just after an open angle bracket '<'"
msgstr "'<' பிறகு ஆவணம் திடீரென முடிவடைந்தது"

#: glib/gmarkup.c:1678 glib/gmarkup.c:1722
#, c-format
msgid ""
"Document ended unexpectedly with elements still open - '%s' was the last "
"element opened"
msgstr "உறுப்புகள் திறந்திருக்கும் போது ஆவணம் திடீரென முடிவடைந்தது - கடைசியாகத் திறக்கப்பட்ட உறுப்பு '%s'"

#: glib/gmarkup.c:1686
#, c-format
msgid ""
"Document ended unexpectedly, expected to see a close angle bracket ending "
"the tag <%s/>"
msgstr "ஆவணம் திடீரென முடிவடைந்தது, அடையாள ஒட்டு <%s/> முடிவில் ஓர் '}' இருக்கும் என எதிர்பார்த்தது"

#: glib/gmarkup.c:1692
msgid "Document ended unexpectedly inside an element name"
msgstr "உறுப்பு பெயர் உள்ளே ஆவணம் திடீரென முடிவடைந்தது"

#: glib/gmarkup.c:1697
msgid "Document ended unexpectedly inside an attribute name"
msgstr "பண்பு பெயர் உள்ளே ஆவணம் திடீரென முடிவடைந்தது"

#: glib/gmarkup.c:1702
msgid "Document ended unexpectedly inside an element-opening tag."
msgstr "உறுப்பு-தொடக்கங்களின் அடையாள ஒட்டு  உள்ளே ஆவணம் திடீரென முடிவடைந்தது"

#: glib/gmarkup.c:1708
msgid ""
"Document ended unexpectedly after the equals sign following an attribute "
"name; no attribute value"
msgstr ""
"Document ended unexpectedly after the equals sign following an attribute "
"name; no attribute value"

#: glib/gmarkup.c:1715
msgid "Document ended unexpectedly while inside an attribute value"
msgstr "பண்பு பெயர் உள்ளிறுக்கும் போது ஆவணம் திடீரென முடிவடைந்தது"

#: glib/gmarkup.c:1730
#, c-format
msgid "Document ended unexpectedly inside the close tag for element '%s'"
msgstr "'%s' என்னும் மூடு-அடையாள ஒட்டு உள்ளே ஆவணம் திடீரென முடிவடைந்தது"

#: glib/gmarkup.c:1736
msgid "Document ended unexpectedly inside a comment or processing instruction"
msgstr "ஆவணம் திடீரென குறிப்புரையுல் அல்லது செயலாக்கம் ஆணையுல் முடிவடைந்தது"

#: glib/gshell.c:72
msgid "Quoted text doesn't begin with a quotation mark"
msgstr "மேற்களித்த உரை ஓர் \" -உடன் தொடங்கவில்லை"

#: glib/gshell.c:162
msgid "Unmatched quotation mark in command line or other shell-quoted text"
msgstr "`கட்டளை வடியில் அல்லது வேறு மேற்களித்த உரையில் பொருத்தமற்ற \" "

#: glib/gshell.c:540
#, c-format
msgid "Text ended just after a '\\' character. (The text was '%s')"
msgstr "'\\' வரியுருக்கு பின்பு உரை முடிவடைந்தது. (கடைசி உரை: '%s')"

#: glib/gshell.c:547
#, c-format
msgid "Text ended before matching quote was found for %c. (The text was '%s')"
msgstr "%c க்கு பொருத்தமான மேற்கோள் கண்டுபிடிப்பதட்கு முன் உரை முடிவடைந்தது. (உரை: '%s')"

#: glib/gshell.c:559
msgid "Text was empty (or contained only whitespace)"
msgstr "உரை வெற்றா இருந்தது (அல்லது வெண்வெளி மட்டுமே)"

#: glib/gspawn-win32.c:295
msgid "Failed to read data from child process"
msgstr "சேய் செயலில் இருந்து தரவு வாசிக்க முடியவில்லை"

#: glib/gspawn-win32.c:424
msgid ""
"Unexpected error in g_io_channel_win32_poll() reading data from a child "
"process"
msgstr ""
"Unexpected error in g_io_channel_win32_poll() reading data from a child "
"process"

#: glib/gspawn-win32.c:850 glib/gspawn.c:1012
#, c-format
msgid "Failed to read from child pipe (%s)"
msgstr "(%s) சேய் பைப் தொடரில் இருந்து வாசிக்க முடியவில்லை"

#: glib/gspawn-win32.c:930
msgid "Failed to execute helper program"
msgstr "உதவி செயலை இயக்க முடியவில்லை"

#: glib/gspawn-win32.c:951 glib/gspawn-win32.c:995
#, c-format
msgid "Failed to execute child process (%s)"
msgstr "(%s) சேய்-செயலை இயக்க முடியவில்லை"

#: glib/gspawn-win32.c:986 glib/gspawn.c:1217
#, c-format
msgid "Failed to change to directory '%s' (%s)"
msgstr "'%s' (%s) அடைவுக்கு போக முடியவில்லை"

#: glib/gspawn-win32.c:1040 glib/gspawn.c:1348
#, c-format
msgid "Failed to create pipe for communicating with child process (%s)"
msgstr "(%s) சேய்-செயலிடன் தொடர்பு கொல்ல கழாய்த்-தொடரைப் படைக்க முடியவில்லை"

#: glib/gspawn.c:178
#, c-format
msgid "Failed to read data from child process (%s)"
msgstr "(%s) சேய்-செயலில் இருந்து தரவு வாசிக்க முடியவில்லை"

#: glib/gspawn.c:309
#, c-format
msgid "Unexpected error in select() reading data from a child process (%s)"
msgstr "(%s) சேய்-செயலில் இருந்து தரவு வாசிக்கும் போது, select()'டில் எதிர்பாராத பிழை"

#: glib/gspawn.c:392
#, c-format
msgid "Unexpected error in waitpid() (%s)"
msgstr "(%s) waitpid()'டில் எதிர்பாராத பிழை"

#: glib/gspawn.c:1077
#, c-format
msgid "Failed to fork (%s)"
msgstr "(%s) தொடங்க முடியவில்லை"

#: glib/gspawn.c:1227
#, c-format
msgid "Failed to execute child process \"%s\" (%s)"
msgstr "\"%s\" (%s) சேய்-செயலை இயக்க முடியவில்லை"

#: glib/gspawn.c:1237
#, c-format
msgid "Failed to redirect output or input of child process (%s)"
msgstr "சேய் (%s) செயலகத்தின் வெளியீடலை அல்லது உள்ளடலை திசை-மாற்றும்போது பிழை"

#: glib/gspawn.c:1246
#, c-format
msgid "Failed to fork child process (%s)"
msgstr "சேய் (%s) செயலகத்தை தொடங்க முடியவில்லை"

#: glib/gspawn.c:1254
#, c-format
msgid "Unknown error executing child process \"%s\""
msgstr "சேய் செயல் \"%s\" இயக்கும்போது தெரியாத பிழை"

#: glib/gspawn.c:1276
#, c-format
msgid "Failed to read enough data from child pid pipe (%s)"
msgstr "Failed to read enough data from child pid pipe (%s)"

#: glib/gutf8.c:985
msgid "Character out of range for UTF-8"
msgstr "UTF-8 க்கு வரியுரு வீச்சு எல்லைக்கு வெளியே"

#: glib/gutf8.c:1074 glib/gutf8.c:1083 glib/gutf8.c:1215 glib/gutf8.c:1224
#: glib/gutf8.c:1365 glib/gutf8.c:1461
msgid "Invalid sequence in conversion input"
msgstr "மாற்று உள்ளீட்டில் செல்லாத வரிசை"

#: glib/gutf8.c:1376 glib/gutf8.c:1472
msgid "Character out of range for UTF-16"
msgstr "UTF-16 க்கு வரியுரு வீச்சு எல்லைக்கு வெளியே"



Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/gnome-libs/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	14 Sep 2006 06:20:03 -0000	1.1
+++ .cvsignore	14 Sep 2006 06:23:10 -0000	1.2
@@ -0,0 +1,3 @@
+db.1.85.tar.gz
+gnome-libs-1.4.2.tar.bz2
+gnome-libs-pofiles.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/gnome-libs/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	14 Sep 2006 06:20:03 -0000	1.1
+++ sources	14 Sep 2006 06:23:10 -0000	1.2
@@ -0,0 +1,3 @@
+42cc6c1e1e25818bd3e3f91328edb0f1  db.1.85.tar.gz
+6111e91b143a90afb30f7a8c1e6cbbd6  gnome-libs-1.4.2.tar.bz2
+fb1d90bb2ce01e065be6573da7cdac24  gnome-libs-pofiles.tar.gz




More information about the scm-commits mailing list