diff --git a/package/Config.in b/package/Config.in
index 7e2b3e43ae3173697511b5a9a187b14047a511c9..ba9c05f064cc60326cf467e5ff32373121f0fca9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -89,6 +89,7 @@ source "package/wificonf/Config.in"
 
 comment "Libraries"
 source "package/glib/Config.in"
+source "package/libdb/Config.in"
 source "package/libelf/Config.in"
 source "package/libevent/Config.in"
 source "package/libgd/Config.in"
@@ -126,6 +127,7 @@ source "package/setserial/Config.in"
 comment "Utilities ---"
 source "package/usbutils/Config.in"  # lsusb
 source "package/strace/Config.in"
+source "package/gdb/Config.in"
 
 # what are we going to do with both of you
 comment "Kernel related ---"
diff --git a/package/Makefile b/package/Makefile
index 96bee7b4a5eca2ff02f7b6f812fda9337ef4a1f5..c3f4a484962efcc160fd42ca73fd42d342707f79 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -25,6 +25,7 @@ package-$(BR2_PACKAGE_FPROBE) += fprobe
 package-$(BR2_PACKAGE_FREERADIUS) += freeradius
 package-$(BR2_PACKAGE_FRICKIN) += frickin
 package-$(BR2_PACKAGE_FUSE) += fuse
+package-$(BR2_PACKAGE_GDB) += gdb
 package-$(BR2_PACKAGE_GLIB) += glib
 package-$(BR2_PACKAGE_GMP) += gmp
 package-$(BR2_PACKAGE_HASERL) += haserl
@@ -36,6 +37,7 @@ package-$(BR2_PACKAGE_IPTABLES) += iptables
 package-$(BR2_PACKAGE_KISMET) += kismet
 package-$(BR2_PACKAGE_L2TPD) += l2tpd
 package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
+package-$(BR2_PACKAGE_LIBDB) += libdb
 package-$(BR2_PACKAGE_LIBELF) += libelf
 package-$(BR2_PACKAGE_LIBEVENT) += libevent
 package-$(BR2_PACKAGE_LIBFFI_SABLE) += libffi-sable
@@ -134,6 +136,7 @@ cyrus-sasl-compile: openssl-compile
 dropbear-compile: zlib-compile
 dsniff-compile: libnids-compile openssl-compile libgdbm-compile
 fprobe-compile: libpcap-compile
+gdb-compile: ncurses-compile
 kismet-compile: uclibc++-compile libpcap-compile ncurses-compile
 lcd4linux-compile: ncurses-compile
 libgd-compile: libpng-compile
diff --git a/package/libdb/Config.in b/package/libdb/Config.in
new file mode 100644
index 0000000000000000000000000000000000000000..5b0f51b07b05b25e618e70ac313ed9dcd6d562ca
--- /dev/null
+++ b/package/libdb/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBDB
+	tristate "libdb - Berkeley DB"
+	default m if CONFIG_DEVEL
+	help
+	 disk file format database which stores key/data-pairs in single files.  
+	  
+	  http://www.sleepycat.com/products/db.shtml
diff --git a/package/libdb/Makefile b/package/libdb/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..3e26e6194cf8cddbfd403bee12660faab7173795
--- /dev/null
+++ b/package/libdb/Makefile
@@ -0,0 +1,90 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libdb
+PKG_VERSION:=4.3.28
+PKG_RELEASE:=0
+PKG_MD5SUM:=e27759537db6054b31d8cb3e99ba6fbb
+
+PKG_SOURCE_URL:=ftp://ftp.sleepycat.com/releases/ \
+	http://downloads.sleepycat.com/
+PKG_SOURCE:=db-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/db-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBDB,libdb,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+	(cd $(PKG_BUILD_DIR)/build_unix ; \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+		../dist/configure \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--program-prefix="" \
+		--program-suffix="" \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--datadir=/usr/share \
+		--includedir=/usr/include \
+		--infodir=/usr/share/info \
+		--libdir=/usr/lib \
+		--libexecdir=/usr/lib \
+		--localstatedir=/var \
+		--mandir=/usr/share/man \
+		--sbindir=/usr/sbin \
+		--sysconfdir=/etc \
+		$(DISABLE_NLS) \
+		$(DISABLE_LARGEFILE) \
+		--enable-shared \
+		--enable-static \
+		--disable-java \
+		--disable-cxx \
+		--disable-tcl \
+		--disable-rpc \
+		--disable-compat185 \
+		--disable-debug \
+		--disable-statistics \
+		--disable-replication \
+		--disable-cryptography \
+		--enable-smallbuild \
+	);
+	touch $@
+
+$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR)/build_unix \
+		DESTDIR="$(PKG_INSTALL_DIR)" install
+	touch $@
+
+$(IPKG_LIBDB): $(STAGING_DIR)/usr/lib/libdb.so
+	install -m0755 -d $(IDIR_LIBDB)/usr/lib
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libdb*.so $(IDIR_LIBDB)/usr/lib/
+	$(RSTRIP) $(IDIR_LIBDB)
+	$(IPKG_BUILD) $(IDIR_LIBDB) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libdb.so: $(PKG_BUILD_DIR)/.built
+	mkdir -p $(STAGING_DIR)/usr/include
+	cp -fpR $(PKG_INSTALL_DIR)/usr/include/db.h $(STAGING_DIR)/usr/include/
+	mkdir -p $(STAGING_DIR)/usr/lib
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libdb*.{a,so} $(STAGING_DIR)/usr/lib/
+	touch $(STAGING_DIR)/usr/lib/libdb.so
+
+install-dev: $(STAGING_DIR)/usr/lib/libdb.so
+
+uninstall-dev:
+	rm -rf $(STAGING_DIR)/usr/include/db.h
+	rm -rf $(STAGING_DIR)/usr/lib/libdb*.{a,so}
+
+compile: install-dev
+clean: uninstall-dev
diff --git a/package/libdb/ipkg/libdb.control b/package/libdb/ipkg/libdb.control
new file mode 100644
index 0000000000000000000000000000000000000000..c16399e529be03520cb9c089c889b0d9c47e786f
--- /dev/null
+++ b/package/libdb/ipkg/libdb.control
@@ -0,0 +1,8 @@
+Package: libdb
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developer <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/libdb/
+Description: disk file format database which stores key/data-pairs in single files