fix bug #248327
authorMatti Bickel <mabi@gentoo.org>
Tue, 30 Mar 2010 23:20:28 +0000 (23:20 +0000)
committerMatti Bickel <mabi@gentoo.org>
Tue, 30 Mar 2010 23:20:28 +0000 (23:20 +0000)
Package-Manager: portage-2.1.7.17/cvs/Linux i686

dev-db/cdb/ChangeLog
dev-db/cdb/Manifest
dev-db/cdb/cdb-0.75-r3.ebuild [new file with mode: 0644]
dev-db/cdb/files/cdb-0.75-stdint.diff [new file with mode: 0644]

index 901a5e0411713c3191cdf3933b8a333834e94a62..f87c49378722b9b386b5fee16b606f096407e1cf 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-db/cdb
-# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/cdb/ChangeLog,v 1.44 2008/08/01 15:05:00 hattya Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/cdb/ChangeLog,v 1.45 2010/03/30 23:20:28 mabi Exp $
+
+*cdb-0.75-r3 (30 Mar 2010)
+
+  30 Mar 2010; <mabi@gentoo.org> +cdb-0.75-r3.ebuild,
+  +files/cdb-0.75-stdint.diff:
+  fix file collision (bug #248327) thanks to Rolf Eike Beer for the patch
 
   01 Aug 2008; Akinori Hattori <hattya@gentoo.org> cdb-0.75-r2.ebuild:
   fixes bug #210730.
index 98b097411d13dba31ae5801d6f83147f3566fa54..f03191e885c11fede02ab2c49c073aa29045142b 100644 (file)
@@ -1,5 +1,7 @@
 AUX cdb-0.75-errno.diff 243 RMD160 90c6614ff96108a7965857b65919b8cad1fdfaac SHA1 eab8001280c0c77b469129a2c1c1825762e87a16 SHA256 7d614d7e677a64685995067cc1db1d514b6a1c73981187f2d7a5d56b54b6966e
+AUX cdb-0.75-stdint.diff 11423 RMD160 c1c9da0642bab72312aae5f3cceb0f2ad690b46f SHA1 317816240021198d1d8eb80b392493aebea40845 SHA256 a9473ede09cd53e19cd2c0264a42c041bed19f48e5a62c71c4e2013b739422a1
 DIST cdb-0.75.tar.gz 54162 RMD160 d52288ee6df58fdc5a79efc16693cd5e305f9c65 SHA1 555749be5b2617e29e44b5326a2536813d62c248 SHA256 1919577799a50c080a8a05a1cbfa5fa7e7abc823d8d7df2eeb181e624b7952c5
 EBUILD cdb-0.75-r2.ebuild 1528 RMD160 f6ca8d8fedee9cd23406f3ede3e72c902892f523 SHA1 141e6cce60909440eb70d88c7d9a96e385746bb6 SHA256 879c32ca31582b359647b3ebfde1d5d25c28d7eaeeb33fbdd5daaecf3011daa0
-MISC ChangeLog 5223 RMD160 fb9a932f8c93bb609b4510d9c5d3165baefc3171 SHA1 c4fce207c653a66fd6cc9aabdcbb8a040f1e5c45 SHA256 b266ec1cae821db8d33cd26bf4f88c676078d2499108b78596b25efcfe3f2064
+EBUILD cdb-0.75-r3.ebuild 1571 RMD160 3950e06eb25a9894437d42d966880a27ed1945c8 SHA1 928c40ddce983d6a1718d0d5351e3c83ff6eeafa SHA256 eb1b790537af00285b44b509dd1fd9b4d4f7d9ffdabed81d7c89df86ea053f5b
+MISC ChangeLog 5409 RMD160 6fa6f81b34733b19ad8a191f89960576540855b1 SHA1 38dd35845dcbe2430b8aa288ccad5970a34cabe8 SHA256 b1a913f3f94a38233ff1a0ba88ec925107bf39a212585bc3e4ebc70b07d4df01
 MISC metadata.xml 157 RMD160 a98db3a086fae3c09a903dadbc05f60443ec4b1a SHA1 ddaa23cc35eb917bf8962b652442bebb1ce0f440 SHA256 54f8878ca0228e380abbaa4b529806b5533a6b9b51b3b16c0909e906586a91a1
diff --git a/dev-db/cdb/cdb-0.75-r3.ebuild b/dev-db/cdb/cdb-0.75-r3.ebuild
new file mode 100644 (file)
index 0000000..d90c49a
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/cdb/cdb-0.75-r3.ebuild,v 1.1 2010/03/30 23:20:28 mabi Exp $
+
+inherit eutils toolchain-funcs
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+
+DESCRIPTION="Fast, reliable, simple package for creating and reading constant databases."
+HOMEPAGE="http://cr.yp.to/cdb.html"
+SRC_URI="http://cr.yp.to/cdb/${P}.tar.gz"
+LICENSE="public-domain"
+SLOT="0"
+IUSE=""
+
+DEPEND=">=sys-apps/sed-4
+               !dev-db/tinycdb"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+       epatch "${FILESDIR}"/${P}-errno.diff
+       epatch "${FILESDIR}"/${P}-stdint.diff
+
+       sed -i -e 's/head -1/head -n 1/g' Makefile \
+               || die "sed Makefile failed"
+}
+
+src_compile() {
+       echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+       echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+       echo "/usr" > conf-home
+       emake || die "emake failed"
+}
+
+src_install() {
+       dobin cdbdump cdbget cdbmake cdbmake-12 cdbmake-sv cdbstats cdbtest \
+               || die "dobin failed"
+
+       # ok so ... first off, some automakes fail at finding
+       # cdb.a, so install that now
+       dolib *.a || die "dolib failed"
+
+       # then do this pretty little symlinking to solve the somewhat
+       # cosmetic library issue at hand
+       dosym cdb.a /usr/$(get_libdir)/libcdb.a || die "dosym failed"
+
+       # uint32.h needs installation too, otherwise compiles depending
+       # on it will fail
+       insinto /usr/include/cdb
+       doins cdb*.h buffer.h alloc.h uint32.h || die "doins failed"
+
+       dodoc CHANGES FILES README SYSDEPS TODO VERSION
+}
diff --git a/dev-db/cdb/files/cdb-0.75-stdint.diff b/dev-db/cdb/files/cdb-0.75-stdint.diff
new file mode 100644 (file)
index 0000000..eb56451
--- /dev/null
@@ -0,0 +1,436 @@
+diff -Naur cdb-0.75-orig/cdb.c cdb-0.75/cdb.c
+--- cdb-0.75-orig/cdb.c        2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdb.c     2009-01-16 19:46:17.000000000 +0100
+@@ -41,7 +41,7 @@
+     }
+ }
+ 
+-int cdb_read(struct cdb *c,char *buf,unsigned int len,uint32 pos)
++int cdb_read(struct cdb *c,char *buf,unsigned int len,uint32_t pos)
+ {
+   if (c->map) {
+     if ((pos > c->size) || (c->size - pos < len)) goto FORMAT;
+@@ -67,7 +67,7 @@
+   return -1;
+ }
+ 
+-static int match(struct cdb *c,char *key,unsigned int len,uint32 pos)
++static int match(struct cdb *c,char *key,unsigned int len,uint32_t pos)
+ {
+   char buf[32];
+   int n;
+@@ -87,8 +87,8 @@
+ int cdb_findnext(struct cdb *c,char *key,unsigned int len)
+ {
+   char buf[8];
+-  uint32 pos;
+-  uint32 u;
++  uint32_t pos;
++  uint32_t u;
+ 
+   if (!c->loop) {
+     u = cdb_hash(key,len);
+diff -Naur cdb-0.75-orig/cdbdump.c cdb-0.75/cdbdump.c
+--- cdb-0.75-orig/cdbdump.c    2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdbdump.c 2009-01-16 19:46:17.000000000 +0100
+@@ -18,7 +18,7 @@
+   if (buffer_flush(buffer_1) == -1) die_write();
+ }
+ 
+-uint32 pos = 0;
++uint32_t pos = 0;
+ 
+ void get(char *buf,unsigned int len)
+ {
+@@ -37,7 +37,7 @@
+ 
+ char buf[512];
+ 
+-void copy(uint32 len)
++void copy(uint32_t len)
+ {
+   unsigned int x;
+ 
+@@ -50,7 +50,7 @@
+   }
+ }
+ 
+-void getnum(uint32 *num)
++void getnum(uint32_t *num)
+ {
+   get(buf,4);
+   uint32_unpack(buf,num);
+@@ -60,9 +60,9 @@
+ 
+ main()
+ {
+-  uint32 eod;
+-  uint32 klen;
+-  uint32 dlen;
++  uint32_t eod;
++  uint32_t klen;
++  uint32_t dlen;
+ 
+   getnum(&eod);
+   while (pos < 2048) getnum(&dlen);
+diff -Naur cdb-0.75-orig/cdbget.c cdb-0.75/cdbget.c
+--- cdb-0.75-orig/cdbget.c     2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdbget.c  2009-01-16 19:46:17.000000000 +0100
+@@ -27,8 +27,8 @@
+ {
+   char *key;
+   int r;
+-  uint32 pos;
+-  uint32 len;
++  uint32_t pos;
++  uint32_t len;
+   unsigned long u = 0;
+ 
+   if (!*argv) die_usage();
+diff -Naur cdb-0.75-orig/cdb.h cdb-0.75/cdb.h
+--- cdb-0.75-orig/cdb.h        2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdb.h     2009-01-16 19:46:17.000000000 +0100
+@@ -6,26 +6,26 @@
+ #include "uint32.h"
+ 
+ #define CDB_HASHSTART 5381
+-extern uint32 cdb_hashadd(uint32,unsigned char);
+-extern uint32 cdb_hash(char *,unsigned int);
++extern uint32_t cdb_hashadd(uint32_t,unsigned char);
++extern uint32_t cdb_hash(char *,unsigned int);
+ 
+ struct cdb {
+   char *map; /* 0 if no map is available */
+   int fd;
+-  uint32 size; /* initialized if map is nonzero */
+-  uint32 loop; /* number of hash slots searched under this key */
+-  uint32 khash; /* initialized if loop is nonzero */
+-  uint32 kpos; /* initialized if loop is nonzero */
+-  uint32 hpos; /* initialized if loop is nonzero */
+-  uint32 hslots; /* initialized if loop is nonzero */
+-  uint32 dpos; /* initialized if cdb_findnext() returns 1 */
+-  uint32 dlen; /* initialized if cdb_findnext() returns 1 */
++  uint32_t size; /* initialized if map is nonzero */
++  uint32_t loop; /* number of hash slots searched under this key */
++  uint32_t khash; /* initialized if loop is nonzero */
++  uint32_t kpos; /* initialized if loop is nonzero */
++  uint32_t hpos; /* initialized if loop is nonzero */
++  uint32_t hslots; /* initialized if loop is nonzero */
++  uint32_t dpos; /* initialized if cdb_findnext() returns 1 */
++  uint32_t dlen; /* initialized if cdb_findnext() returns 1 */
+ } ;
+ 
+ extern void cdb_free(struct cdb *);
+ extern void cdb_init(struct cdb *,int fd);
+ 
+-extern int cdb_read(struct cdb *,char *,unsigned int,uint32);
++extern int cdb_read(struct cdb *,char *,unsigned int,uint32_t);
+ 
+ extern void cdb_findstart(struct cdb *);
+ extern int cdb_findnext(struct cdb *,char *,unsigned int);
+diff -Naur cdb-0.75-orig/cdb_hash.c cdb-0.75/cdb_hash.c
+--- cdb-0.75-orig/cdb_hash.c   2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdb_hash.c        2009-01-16 19:46:17.000000000 +0100
+@@ -2,15 +2,15 @@
+ 
+ #include "cdb.h"
+ 
+-uint32 cdb_hashadd(uint32 h,unsigned char c)
++uint32_t cdb_hashadd(uint32_t h,unsigned char c)
+ {
+   h += (h << 5);
+   return h ^ c;
+ }
+ 
+-uint32 cdb_hash(char *buf,unsigned int len)
++uint32_t cdb_hash(char *buf,unsigned int len)
+ {
+-  uint32 h;
++  uint32_t h;
+ 
+   h = CDB_HASHSTART;
+   while (len) {
+diff -Naur cdb-0.75-orig/cdb_make.c cdb-0.75/cdb_make.c
+--- cdb-0.75-orig/cdb_make.c   2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdb_make.c        2009-01-16 19:51:05.000000000 +0100
+@@ -19,15 +19,15 @@
+   return seek_set(fd,c->pos);
+ }
+ 
+-static int posplus(struct cdb_make *c,uint32 len)
++static int posplus(struct cdb_make *c,uint32_t len)
+ {
+-  uint32 newpos = c->pos + len;
++  uint32_t newpos = c->pos + len;
+   if (newpos < len) { errno = error_nomem; return -1; }
+   c->pos = newpos;
+   return 0;
+ }
+ 
+-int cdb_make_addend(struct cdb_make *c,unsigned int keylen,unsigned int datalen,uint32 h)
++int cdb_make_addend(struct cdb_make *c,unsigned int keylen,unsigned int datalen,uint32_t h)
+ {
+   struct cdb_hplist *head;
+ 
+@@ -74,11 +74,11 @@
+ {
+   char buf[8];
+   int i;
+-  uint32 len;
+-  uint32 u;
+-  uint32 memsize;
+-  uint32 count;
+-  uint32 where;
++  uint32_t len;
++  uint32_t u;
++  uint32_t memsize;
++  uint32_t count;
++  uint32_t where;
+   struct cdb_hplist *x;
+   struct cdb_hp *hp;
+ 
+@@ -99,7 +99,7 @@
+   }
+ 
+   memsize += c->numentries; /* no overflow possible up to now */
+-  u = (uint32) 0 - (uint32) 1;
++  u = UINT32_MAX;
+   u /= sizeof(struct cdb_hp);
+   if (memsize > u) { errno = error_nomem; return -1; }
+ 
+diff -Naur cdb-0.75-orig/cdbmake.c cdb-0.75/cdbmake.c
+--- cdb-0.75-orig/cdbmake.c    2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdbmake.c 2009-01-16 19:46:17.000000000 +0100
+@@ -41,7 +41,7 @@
+   unsigned int klen;
+   unsigned int dlen;
+   unsigned int i;
+-  uint32 h;
++  uint32_t h;
+   int fd;
+   char ch;
+ 
+diff -Naur cdb-0.75-orig/cdb_make.h cdb-0.75/cdb_make.h
+--- cdb-0.75-orig/cdb_make.h   2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdb_make.h        2009-01-16 19:46:17.000000000 +0100
+@@ -8,7 +8,7 @@
+ 
+ #define CDB_HPLIST 1000
+ 
+-struct cdb_hp { uint32 h; uint32 p; } ;
++struct cdb_hp { uint32_t h; uint32_t p; } ;
+ 
+ struct cdb_hplist {
+   struct cdb_hp hp[CDB_HPLIST];
+@@ -19,20 +19,20 @@
+ struct cdb_make {
+   char bspace[8192];
+   char final[2048];
+-  uint32 count[256];
+-  uint32 start[256];
++  uint32_t count[256];
++  uint32_t start[256];
+   struct cdb_hplist *head;
+   struct cdb_hp *split; /* includes space for hash */
+   struct cdb_hp *hash;
+-  uint32 numentries;
++  uint32_t numentries;
+   buffer b;
+-  uint32 pos;
++  uint32_t pos;
+   int fd;
+ } ;
+ 
+ extern int cdb_make_start(struct cdb_make *,int);
+ extern int cdb_make_addbegin(struct cdb_make *,unsigned int,unsigned int);
+-extern int cdb_make_addend(struct cdb_make *,unsigned int,unsigned int,uint32);
++extern int cdb_make_addend(struct cdb_make *,unsigned int,unsigned int,uint32_t);
+ extern int cdb_make_add(struct cdb_make *,char *,unsigned int,char *,unsigned int);
+ extern int cdb_make_finish(struct cdb_make *);
+ 
+diff -Naur cdb-0.75-orig/cdbstats.c cdb-0.75/cdbstats.c
+--- cdb-0.75-orig/cdbstats.c   2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdbstats.c        2009-01-16 19:46:17.000000000 +0100
+@@ -28,7 +28,7 @@
+   if (buffer_flush(buffer_1small) == -1) die_write();
+ }
+ 
+-uint32 pos = 0;
++uint32_t pos = 0;
+ 
+ void get(char *buf,unsigned int len)
+ {
+@@ -43,7 +43,7 @@
+   }
+ }
+ 
+-void getnum(uint32 *num)
++void getnum(uint32_t *num)
+ {
+   char buf[4];
+   get(buf,4);
+@@ -70,9 +70,9 @@
+ 
+ main()
+ {
+-  uint32 eod;
+-  uint32 klen;
+-  uint32 dlen;
++  uint32_t eod;
++  uint32_t klen;
++  uint32_t dlen;
+   seek_pos rest;
+   int r;
+ 
+diff -Naur cdb-0.75-orig/cdbtest.c cdb-0.75/cdbtest.c
+--- cdb-0.75-orig/cdbtest.c    2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/cdbtest.c 2009-01-16 19:46:17.000000000 +0100
+@@ -24,7 +24,7 @@
+   if (buffer_flush(buffer_1small) == -1) die_write();
+ }
+ 
+-uint32 pos = 0;
++uint32_t pos = 0;
+ 
+ void get(char *buf,unsigned int len)
+ {
+@@ -40,7 +40,7 @@
+   }
+ }
+ 
+-void getnum(uint32 *num)
++void getnum(uint32_t *num)
+ {
+   char buf[4];
+   get(buf,4);
+@@ -68,9 +68,9 @@
+ 
+ main()
+ {
+-  uint32 eod;
+-  uint32 klen;
+-  uint32 dlen;
++  uint32_t eod;
++  uint32_t klen;
++  uint32_t dlen;
+   seek_pos rest;
+   int r;
+ 
+diff -Naur cdb-0.75-orig/Makefile cdb-0.75/Makefile
+--- cdb-0.75-orig/Makefile     2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/Makefile  2009-01-16 19:46:17.000000000 +0100
+@@ -298,13 +298,6 @@
+ uint32.h
+       ./compile testzero.c
+ 
+-uint32.h: \
+-tryulong32.c compile load uint32.h1 uint32.h2
+-      ( ( ./compile tryulong32.c && ./load tryulong32 && \
+-      ./tryulong32 ) >/dev/null 2>&1 \
+-      && cat uint32.h2 || cat uint32.h1 ) > uint32.h
+-      rm -f tryulong32.o tryulong32
+-
+ uint32_pack.o: \
+ compile uint32_pack.c uint32.h
+       ./compile uint32_pack.c
+diff -Naur cdb-0.75-orig/TARGETS cdb-0.75/TARGETS
+--- cdb-0.75-orig/TARGETS      2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/TARGETS   2009-01-16 19:52:06.000000000 +0100
+@@ -1,6 +1,5 @@
+ load
+ compile
+-uint32.h
+ cdbget.o
+ systype
+ makelib
+diff -Naur cdb-0.75-orig/uint32.h cdb-0.75/uint32.h
+--- cdb-0.75-orig/uint32.h     1970-01-01 01:00:00.000000000 +0100
++++ cdb-0.75/uint32.h  2009-01-16 19:46:17.000000000 +0100
+@@ -0,0 +1,11 @@
++#ifndef UINT32_H
++#define UINT32_H
++
++#include <stdint.h>
++
++extern void uint32_pack(char *,uint32_t);
++extern void uint32_pack_big(char *,uint32_t);
++extern void uint32_unpack(char *,uint32_t *);
++extern void uint32_unpack_big(char *,uint32_t *);
++
++#endif
+diff -Naur cdb-0.75-orig/uint32.h1 cdb-0.75/uint32.h1
+--- cdb-0.75-orig/uint32.h1    2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/uint32.h1 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-#ifndef UINT32_H
+-#define UINT32_H
+-
+-typedef unsigned int uint32;
+-
+-extern void uint32_pack(char *,uint32);
+-extern void uint32_pack_big(char *,uint32);
+-extern void uint32_unpack(char *,uint32 *);
+-extern void uint32_unpack_big(char *,uint32 *);
+-
+-#endif
+diff -Naur cdb-0.75-orig/uint32.h2 cdb-0.75/uint32.h2
+--- cdb-0.75-orig/uint32.h2    2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/uint32.h2 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-#ifndef UINT32_H
+-#define UINT32_H
+-
+-typedef unsigned long uint32;
+-
+-extern void uint32_pack(char *,uint32);
+-extern void uint32_pack_big(char *,uint32);
+-extern void uint32_unpack(char *,uint32 *);
+-extern void uint32_unpack_big(char *,uint32 *);
+-
+-#endif
+diff -Naur cdb-0.75-orig/uint32_pack.c cdb-0.75/uint32_pack.c
+--- cdb-0.75-orig/uint32_pack.c        2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/uint32_pack.c     2009-01-16 19:46:17.000000000 +0100
+@@ -1,6 +1,6 @@
+ #include "uint32.h"
+ 
+-void uint32_pack(char s[4],uint32 u)
++void uint32_pack(char s[4],uint32_t u)
+ {
+   s[0] = u & 255;
+   u >>= 8;
+@@ -10,7 +10,7 @@
+   s[3] = u >> 8;
+ }
+ 
+-void uint32_pack_big(char s[4],uint32 u)
++void uint32_pack_big(char s[4],uint32_t u)
+ {
+   s[3] = u & 255;
+   u >>= 8;
+diff -Naur cdb-0.75-orig/uint32_unpack.c cdb-0.75/uint32_unpack.c
+--- cdb-0.75-orig/uint32_unpack.c      2009-01-16 19:38:41.000000000 +0100
++++ cdb-0.75/uint32_unpack.c   2009-01-16 19:46:17.000000000 +0100
+@@ -1,8 +1,8 @@
+ #include "uint32.h"
+ 
+-void uint32_unpack(char s[4],uint32 *u)
++void uint32_unpack(char s[4],uint32_t *u)
+ {
+-  uint32 result;
++  uint32_t result;
+ 
+   result = (unsigned char) s[3];
+   result <<= 8;
+@@ -15,9 +15,9 @@
+   *u = result;
+ }
+ 
+-void uint32_unpack_big(char s[4],uint32 *u)
++void uint32_unpack_big(char s[4],uint32_t *u)
+ {
+-  uint32 result;
++  uint32_t result;
+ 
+   result = (unsigned char) s[0];
+   result <<= 8;