summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in10
-rw-r--r--package/avahi/Makefile32
-rw-r--r--package/bind/Makefile28
-rw-r--r--package/bind/patches/patch-lib_isc_unix_ifiter_ioctl_c14
-rw-r--r--package/dhcp-forwarder/files/dhcp-forwarder.postinst3
-rw-r--r--package/dhcp/Makefile12
-rw-r--r--package/gettext/Makefile4
-rw-r--r--package/gnupg/Makefile (renamed from package/gpg/Makefile)20
-rw-r--r--package/gnupg/patches/patch-mpi_longlong_h (renamed from package/gpg/patches/patch-mpi_longlong_h)0
-rw-r--r--package/gnutls/Makefile13
-rw-r--r--package/heimdal/Makefile75
-rw-r--r--package/krb5/Makefile16
-rw-r--r--package/libgcrypt/Makefile17
-rw-r--r--package/libgpg-error/Makefile20
-rw-r--r--package/libtasn1/Makefile18
-rw-r--r--package/libtasn1/patches/patch-configure14
-rw-r--r--package/maradns/Makefile15
-rw-r--r--package/nand/Makefile39
-rw-r--r--package/nand/src/nanddump.c421
-rw-r--r--package/nand/src/nandwrite.c647
-rw-r--r--package/nfs-utils/Makefile2
-rw-r--r--package/ntfs-3g/Makefile14
-rw-r--r--package/opencdk/Makefile14
-rw-r--r--package/openssh/Makefile4
-rw-r--r--package/valgrind/Makefile16
-rw-r--r--target/linux/config/Config.in.block3
-rw-r--r--target/rb532/kernel.config4
-rw-r--r--target/rb532/patches/cfgfs.patch18
28 files changed, 1312 insertions, 181 deletions
diff --git a/package/Config.in b/package/Config.in
index 98b30b9..346672c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -44,7 +44,8 @@ endmenu
menu "Cryptography"
source "package/cryptsetup/Config.in"
-source "package/gpg/Config.in"
+source "package/gnupg/Config.in"
+source "package/gnutls/Config.in"
source "package/heimdal/Config.in"
source "package/krb5/Config.in"
source "package/openct/Config.in"
@@ -70,6 +71,7 @@ source "package/e2fsprogs/Config.in"
source "package/fuse/Config.in"
source "package/mdadm/Config.in"
source "package/mtd/Config.in"
+source "package/nand/Config.in"
source "package/lvm/Config.in"
source "package/parted/Config.in"
source "package/util-linux-ng/Config.in"
@@ -273,6 +275,7 @@ source "package/fontconfig/Config.in"
source "package/gettext/Config.in"
source "package/glib/Config.in"
source "package/gtk+/Config.in"
+source "package/heimdal/Config.in.lib"
source "package/id3lib/Config.in"
source "package/libao/Config.in"
source "package/libao/Config.in.lib"
@@ -314,7 +317,6 @@ source "package/libgssglue/Config.in"
source "package/libgssglue/Config.in.lib"
source "package/gmp/Config.in"
source "package/gmp/Config.in.lib"
-source "package/gnutls/Config.in"
source "package/gnutls/Config.in.lib"
source "package/libgpg-error/Config.in"
source "package/libgpg-error/Config.in.lib"
@@ -326,13 +328,13 @@ source "package/libid3tag/Config.in"
source "package/libid3tag/Config.in.lib"
source "package/jpeg/Config.in"
source "package/jpeg/Config.in.lib"
+source "package/krb5/Config.in.lib"
source "package/lame/Config.in.lib"
source "package/mpfr/Config.in"
source "package/mysql/Config.in"
source "package/mysql/Config.in.lib"
source "package/nspr/Config.in"
source "package/nss/Config.in"
-source "package/libtool/Config.in"
source "package/libtool/Config.in.lib"
source "package/openldap/Config.in.lib"
source "package/liblzo/Config.in"
@@ -359,6 +361,7 @@ source "package/libogg/Config.in.lib"
source "package/libol/Config.in"
source "package/libol/Config.in.lib"
source "package/opencdk/Config.in"
+source "package/opencdk/Config.in.lib"
source "package/obexftp/Config.in.lib"
source "package/openobex/Config.in"
source "package/libosip2/Config.in"
@@ -516,6 +519,7 @@ source "package/gcc/Config.in"
source "package/gperf/Config.in"
source "package/haserl/Config.in"
source "package/jamvm/Config.in"
+source "package/libtool/Config.in"
source "package/lua/Config.in"
source "package/m4/Config.in"
source "package/make/Config.in"
diff --git a/package/avahi/Makefile b/package/avahi/Makefile
index a85b4dc..231a973 100644
--- a/package/avahi/Makefile
+++ b/package/avahi/Makefile
@@ -6,26 +6,25 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= avahi
PKG_VERSION:= 0.6.25
PKG_RELEASE:= 1
-PKG_BUILDDEP+= libdaemon expat gdbm glib
PKG_MD5SUM:= a83155a6e29e3988f07e5eea3287b21e
PKG_DESCR:= mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) daemon
PKG_SECTION:= net
-PKG_DEPENDS:= libavahi libdaemon libexpat
+PKG_DEPENDS:= libavahi libdaemon libexpat gettext
+PKG_BUILDDEP+= libdaemon expat gdbm glib gettext
PKG_URL:= http://avahi.org
PKG_SITES:= http://avahi.org/download/
-PKG_DEPENDS_1:= libavahi libdaemon avahi-daemon
-PKG_DESCR_1:= Unicast DNS server from mDNS/DNS-SD configuration daemon
-PKG_DESCR_2:= DNS-SD over mDNS (aka RendezVous/Bonjour/ZeroConf) library
-PKG_SECTION_2:= libs
+PKG_DEPENDS_DNSCONFD:= libavahi libdaemon avahi-daemon
+PKG_DESCR_DNSCONFD:= Unicast DNS server from mDNS/DNS-SD configuration daemon
+PKG_DESCR_LIB:= DNS-SD over mDNS library
include ${TOPDIR}/mk/package.mk
-TLDFLAGS+= -lintl
$(eval $(call PKG_template,AVAHI_DAEMON,avahi-daemon,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,AVAHI_DNSCONFD,avahi-dnsconfd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION}))
-$(eval $(call PKG_template,LIBAVAHI,libavahi,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR_2},${PKG_SECTION_2}))
+$(eval $(call PKG_template,AVAHI_DNSCONFD,avahi-dnsconfd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_DNSCONFD},${PKG_DESCR_DNSCONFD},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBAVAHI,libavahi,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR_LIB},libs))
+TLDFLAGS+= -lintl
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS+= --enable-glib \
--disable-qt3 \
@@ -58,23 +57,28 @@ INSTALL_STYLE= auto
post-install:
# avahi daemon
${INSTALL_DIR} ${IDIR_AVAHI_DAEMON}/etc/avahi
- ${INSTALL_DATA} ./files/avahi-daemon.conf ${IDIR_AVAHI_DAEMON}/etc/avahi/
+ ${INSTALL_DATA} ./files/avahi-daemon.conf \
+ ${IDIR_AVAHI_DAEMON}/etc/avahi/
${INSTALL_DIR} ${IDIR_AVAHI_DAEMON}/etc/avahi/services
${INSTALL_DATA} ./files/service-http \
${IDIR_AVAHI_DAEMON}/etc/avahi/services/http.service
${INSTALL_DATA} ./files/service-ssh \
${IDIR_AVAHI_DAEMON}/etc/avahi/services/ssh.service
${INSTALL_DIR} ${IDIR_AVAHI_DAEMON}/usr/sbin
- ${CP} ${WRKINST}/usr/sbin/avahi-daemon ${IDIR_AVAHI_DAEMON}/usr/sbin/
+ ${CP} ${WRKINST}/usr/sbin/avahi-daemon \
+ ${IDIR_AVAHI_DAEMON}/usr/sbin/
# avahi dnsconfd
${INSTALL_DIR} ${IDIR_AVAHI_DNSCONFD}/etc/avahi
${CP} ${WRKINST}/etc/avahi/avahi-dnsconfd.action \
${IDIR_AVAHI_DNSCONFD}/etc/avahi/
${INSTALL_DIR} ${IDIR_AVAHI_DNSCONFD}/usr/sbin
- ${CP} ${WRKINST}/usr/sbin/avahi-dnsconfd ${IDIR_AVAHI_DNSCONFD}/usr/sbin/
+ ${CP} ${WRKINST}/usr/sbin/avahi-dnsconfd \
+ ${IDIR_AVAHI_DNSCONFD}/usr/sbin/
# libavahi
${INSTALL_DIR} ${IDIR_LIBAVAHI}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libavahi-common.so.* ${IDIR_LIBAVAHI}/usr/lib/
- ${CP} ${WRKINST}/usr/lib/libavahi-core.so.* ${IDIR_LIBAVAHI}/usr/lib/
+ ${CP} ${WRKINST}/usr/lib/libavahi-common.so* \
+ ${IDIR_LIBAVAHI}/usr/lib/
+ ${CP} ${WRKINST}/usr/lib/libavahi-core.so* \
+ ${IDIR_LIBAVAHI}/usr/lib/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/bind/Makefile b/package/bind/Makefile
index e1adae3..2a75cfb 100644
--- a/package/bind/Makefile
+++ b/package/bind/Makefile
@@ -4,13 +4,13 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= bind
-PKG_VERSION:= 9.4.1
-PKG_RELEASE:= 4
-PKG_BUILDDEP+= openssl
-PKG_MD5SUM:= 09b54d35036cb0423b2e618f21766285
+PKG_VERSION:= 9.6.1-P3
+PKG_RELEASE:= 1
+PKG_MD5SUM:= a0952d589b3051538033387be4c983f9
PKG_DESCR:= popular DNS server
PKG_SECTION:= net
PKG_DEPENDS:= libopenssl libbind
+PKG_BUILDDEP+= openssl
PKG_URL:= https://www.isc.org/software/bind
PKG_SITES:= ftp://ftp.isc.org/isc/bind9/${PKG_VERSION}/
@@ -22,13 +22,11 @@ PKG_DESCR_5:= dnssec-keygen & dnssec-signzone utilities
PKG_DESCR_6:= host utility
PKG_DESCR_7:= dig utility
-PKG_SECTION_2:= libs
-
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,BIND_SERVER,bind-server,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,BIND_CLIENT,bind-client,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_1},${PKG_SECTION}))
-$(eval $(call PKG_template,LIBBIND,libbind,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR_2},${PKG_SECTION_2}))
+$(eval $(call PKG_template,LIBBIND,libbind,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR_2},libs))
$(eval $(call PKG_template,BIND_RNDC,bind-rndc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_3},${PKG_SECTION}))
$(eval $(call PKG_template,BIND_CHECK,bind-check,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_4},${PKG_SECTION}))
$(eval $(call PKG_template,BIND_DNSSEC,bind-dnssec,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_5},${PKG_SECTION}))
@@ -41,6 +39,7 @@ CONFIGURE_ENV+= BUILD_CC="${TARGET_CC}" \
CONFIGURE_ARGS+= --with-randomdev=/dev/urandom \
--disable-threads \
--with-openssl=${STAGING_DIR}/usr/ \
+ --enable-epoll \
--with-libtool
BUILD_STYLE= auto
INSTALL_STYLE= auto
@@ -63,15 +62,20 @@ post-install:
# rndc
${INSTALL_DIR} ${IDIR_BIND_RNDC}/usr/sbin
${INSTALL_BIN} ${WRKINST}/usr/sbin/rndc ${IDIR_BIND_RNDC}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/rndc-confgen ${IDIR_BIND_RNDC}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/rndc-confgen \
+ ${IDIR_BIND_RNDC}/usr/sbin/
# bind check
${INSTALL_DIR} ${IDIR_BIND_CHECK}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/named-checkconf ${IDIR_BIND_CHECK}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/named-checkzone ${IDIR_BIND_CHECK}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/named-checkconf \
+ ${IDIR_BIND_CHECK}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/named-checkzone \
+ ${IDIR_BIND_CHECK}/usr/sbin/
# dnsec tools
${INSTALL_DIR} ${IDIR_BIND_DNSSEC}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dnssec-keygen ${IDIR_BIND_DNSSEC}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dnssec-signzone ${IDIR_BIND_DNSSEC}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/dnssec-keygen \
+ ${IDIR_BIND_DNSSEC}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/dnssec-signzone \
+ ${IDIR_BIND_DNSSEC}/usr/sbin/
# host
${INSTALL_DIR} ${IDIR_BIND_HOST}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/host ${IDIR_BIND_HOST}/usr/bin/
diff --git a/package/bind/patches/patch-lib_isc_unix_ifiter_ioctl_c b/package/bind/patches/patch-lib_isc_unix_ifiter_ioctl_c
deleted file mode 100644
index adb2aa9..0000000
--- a/package/bind/patches/patch-lib_isc_unix_ifiter_ioctl_c
+++ /dev/null
@@ -1,14 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- bind-9.4.1.orig/lib/isc/unix/ifiter_ioctl.c 2006-02-04 00:51:38.000000000 +0100
-+++ bind-9.4.1/lib/isc/unix/ifiter_ioctl.c 2008-10-08 14:56:12.000000000 +0200
-@@ -479,8 +479,8 @@ linux_if_inet6_current(isc_interfaceiter
- for (i = 0; i < 16; i++) {
- unsigned char byte;
- static const char hex[] = "0123456789abcdef";
-- byte = ((index(hex, address[i * 2]) - hex) << 4) |
-- (index(hex, address[i * 2 + 1]) - hex);
-+ byte = ((strchr(hex, address[i * 2]) - hex) << 4) |
-+ (strchr(hex, address[i * 2 + 1]) - hex);
- addr6.s6_addr[i] = byte;
- }
- iter->current.af = AF_INET6;
diff --git a/package/dhcp-forwarder/files/dhcp-forwarder.postinst b/package/dhcp-forwarder/files/dhcp-forwarder.postinst
index 9ba16f5..c08fed4 100644
--- a/package/dhcp-forwarder/files/dhcp-forwarder.postinst
+++ b/package/dhcp-forwarder/files/dhcp-forwarder.postinst
@@ -1,3 +1,6 @@
#!/bin/sh
. $IPKG_INSTROOT/etc/functions.sh
+gid=$(get_next_gid)
+add_group dhcp-fwd $gid
+add_user dhcp-fwd $(get_next_uid) $gid /tmp
add_rcconf dhcp_fwd dhcp_fwd NO
diff --git a/package/dhcp/Makefile b/package/dhcp/Makefile
index f7b590c..d8ec43a 100644
--- a/package/dhcp/Makefile
+++ b/package/dhcp/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= dhcp
-PKG_VERSION:= 4.1.0p1
+PKG_VERSION:= 4.1.1
PKG_RELEASE:= 1
-PKG_MD5SUM:= 325ff8338c5a21f89d5304ac13ffebdf
+PKG_MD5SUM:= 38a74c89d8913b9b5f33737047623c18
PKG_DESCR:= ISC DHCP server
PKG_SECTION:= net
PKG_URL:= https://www.isc.org/software/dhcp
@@ -19,7 +19,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,DHCP_SERVER,dhcp-server,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,DHCP_RELAY,dhcp-relay,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_RELAY},${PKG_SECTION}))
-TCFLAGS+= -D_GNU_SOURCE
+#TCFLAGS+= -D_GNU_SOURCE
CONFIGURE_STYLE:= gnu
CONFIGURE_ENV+= ac_cv_file__dev_random=yes
BUILD_STYLE:= auto
@@ -27,8 +27,10 @@ INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_DHCP_RELAY}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dhcrelay ${IDIR_DHCP_RELAY}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/dhcrelay \
+ ${IDIR_DHCP_RELAY}/usr/sbin/
${INSTALL_DIR} ${IDIR_DHCP_SERVER}/usr/sbin
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/dhcpd ${IDIR_DHCP_SERVER}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/dhcpd \
+ ${IDIR_DHCP_SERVER}/usr/sbin/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gettext/Makefile b/package/gettext/Makefile
index 248eea1..0a06b3f 100644
--- a/package/gettext/Makefile
+++ b/package/gettext/Makefile
@@ -6,11 +6,11 @@ include ${TOPDIR}/rules.mk
PKG_NAME= gettext
PKG_VERSION= 0.16.1
PKG_RELEASE= 1
-PKG_BUILDDEP+= libiconv libpthread
PKG_MD5SUM= 3d9ad24301c6d6b17ec30704a13fe127
PKG_DESCR:= internationalisation library
PKG_SECTION:= libs
PKG_DEPENDS:= libiconv libpthread
+PKG_BUILDDEP+= libiconv libpthread
PKG_URL:= http://www.gnu.org/software/gettext/
PKG_SITES:= ${MASTER_SITE_GNU:=gettext/}
ifeq ($(ADK_STATIC),y)
@@ -42,6 +42,6 @@ INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_GETTEXT}/usr/lib
- ${CP} ${WRKINST}/usr/lib/*.so.* ${IDIR_GETTEXT}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_GETTEXT}/usr/lib
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gpg/Makefile b/package/gnupg/Makefile
index 6ce0498..0a14439 100644
--- a/package/gpg/Makefile
+++ b/package/gnupg/Makefile
@@ -4,19 +4,19 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= gnupg
-PKG_VERSION:= 1.4.9
+PKG_VERSION:= 1.4.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 3537dedea45cc09e8d88d1ef4f774246
+PKG_MD5SUM:= 991faf66d3352ac1452acc393c430b23
PKG_DESCR:= Gnu Privacy Guard
PKG_SECTION:= text
-PKG_DEPENDS:= libreadline
-PKG_URL:= http://www.gnu.org
-PKG_SITES:= ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/gnupg/ \
- ftp://ftp.gnupg.org/gcrypt/gnupg/
+PKG_DEPENDS:= libreadline libiconv
+PKG_BUILDDEP+= readline libiconv
+PKG_URL:= http://www.gnupg.org
+PKG_SITES:= ftp://ftp.gnupg.org/gcrypt/gnupg/
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,GPG,gpg,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GNUPG,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIGURE_STYLE:= gnu
CONFIGURE_ENV+= ac_cv_c_bigendian=no \
@@ -37,9 +37,9 @@ CONFIGURE_ARGS+= --disable-asm \
BUILD_STYLE:= auto
do-install:
- ${INSTALL_DIR} ${IDIR_GPG}/usr/bin/
- ${INSTALL_BIN} ${WRKBUILD}/g10/gpg ${IDIR_GPG}/usr/bin/
+ ${INSTALL_DIR} ${IDIR_GNUPG}/usr/bin/
+ ${INSTALL_BIN} ${WRKBUILD}/g10/gpg ${IDIR_GNUPG}/usr/bin/
# we need root privileges for secure memory (locked pages)
- chmod u+s ${IDIR_GPG}/usr/bin/gpg
+ chmod u+s ${IDIR_GNUPG}/usr/bin/gpg
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/gpg/patches/patch-mpi_longlong_h b/package/gnupg/patches/patch-mpi_longlong_h
index 85fc655..85fc655 100644
--- a/package/gpg/patches/patch-mpi_longlong_h
+++ b/package/gnupg/patches/patch-mpi_longlong_h
diff --git a/package/gnutls/Makefile b/package/gnutls/Makefile
index 0d9a58a..603e67c 100644
--- a/package/gnutls/Makefile
+++ b/package/gnutls/Makefile
@@ -16,10 +16,13 @@ PKG_SITES:= ${MASTER_SITE_GNU:=gnutls/}
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+PKG_DESCR_GNUTLS_UTILS:= GNU TLS utilities
+PKG_DEPENDS_GNUTLS_UTILS:= libgnutls libgnutls-extra
+
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBGNUTLS,libgnutls,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,GNUTLS_UTILS,gnutls-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GNUTLS_UTILS,gnutls-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_GNUTLS_UTILS},${PKG_DESCR_GNUTLS_UTILS},${PKG_SECTION}))
$(eval $(call PKG_template,LIBGNUTLS_EXTRA,libgnutls-extra,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LIBGNUTLS_OPENSSL,libgnutls-openssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -33,11 +36,13 @@ INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_LIBGNUTLS}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libgnutls.so.* ${IDIR_LIBGNUTLS}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libgnutls.so* ${IDIR_LIBGNUTLS}/usr/lib
${INSTALL_DIR} ${IDIR_LIBGNUTLS_EXTRA}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libgnutls-extra.so.* ${IDIR_LIBGNUTLS_EXTRA}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libgnutls-extra.so* \
+ ${IDIR_LIBGNUTLS_EXTRA}/usr/lib
${INSTALL_DIR} ${IDIR_LIBGNUTLS_OPENSSL}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libgnutls-openssl.so.* ${IDIR_LIBGNUTLS_OPENSSL}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libgnutls-openssl.so* \
+ ${IDIR_LIBGNUTLS_OPENSSL}/usr/lib
${INSTALL_DIR} ${IDIR_GNUTLS_UTILS}/usr/bin
${CP} ${WRKINST}/usr/bin/{{cert,srp,psk}tool,gnutls-{cli,serv}} \
${IDIR_GNUTLS_UTILS}/usr/bin
diff --git a/package/heimdal/Makefile b/package/heimdal/Makefile
index f9228da..b7ac0e3 100644
--- a/package/heimdal/Makefile
+++ b/package/heimdal/Makefile
@@ -9,7 +9,7 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 6e5028077e2a6b101a4a72801ba71b9e
PKG_DESCR:= Kerberos 5 server
PKG_SECTION:= net
-PKG_DEPENDS:= heimdal-libs heimdal-client-libs libncurses libcom-err
+PKG_DEPENDS:= libheimdal libheimdal-client libncurses libcom-err
PKG_BUILDDEP+= openssl ncurses e2fsprogs
ifeq (${ADK_COMPILE_HEIMDAL_WITH_DB_BDB},y)
PKG_BUILDDEP+= libdb
@@ -40,8 +40,8 @@ PKG_DEPENDS+= libopenldap
endif
$(eval $(call PKG_template,HEIMDAL_SERVER,heimdal-server,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,HEIMDAL_LIBS,heimdal-libs,$(PKG_VERSION)-${PKG_RELEASE},,${PKG_DESCR_1},${PKG_SECTION_1}))
-$(eval $(call PKG_template,HEIMDAL_CLIENT_LIBS,heimdal-client-libs,$(PKG_VERSION)-${PKG_RELEASE},,${PKG_DESCR_2},${PKG_SECTION_2}))
+$(eval $(call PKG_template,LIBHEIMDAL,libheimdal,$(PKG_VERSION)-${PKG_RELEASE},,${PKG_DESCR_1},${PKG_SECTION_1}))
+$(eval $(call PKG_template,LIBHEIMDAL_CLIENT,libheimdal-client,$(PKG_VERSION)-${PKG_RELEASE},,${PKG_DESCR_2},${PKG_SECTION_2}))
CONFIGURE_OPTS:= --with-hdbdir=/etc/heimdal \
--disable-otp \
@@ -107,34 +107,53 @@ endif
${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/etc/heimdal
${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/usr/sbin
${INSTALL_DIR} ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libkdc.so* ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libkadm5srv.so* ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libhdb.so* ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
- ${INSTALL_DATA} ./files/krb5.conf ${IDIR_HEIMDAL_SERVER}/etc/heimdal
- ${INSTALL_DATA} ./files/kdc.conf ${IDIR_HEIMDAL_SERVER}/etc/heimdal
- ${INSTALL_DATA} ./files/kadmind.acl ${IDIR_HEIMDAL_SERVER}/etc/heimdal
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/kdc ${IDIR_HEIMDAL_SERVER}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/kadmind ${IDIR_HEIMDAL_SERVER}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/kpasswdd ${IDIR_HEIMDAL_SERVER}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/kstash ${IDIR_HEIMDAL_SERVER}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/ktutil ${IDIR_HEIMDAL_SERVER}/usr/sbin/
- ${INSTALL_BIN} ${WRKINST}/usr/sbin/kadmin ${IDIR_HEIMDAL_SERVER}/usr/sbin/
+ ${CP} ${WRKINST}/usr/lib/heimdal/libkdc.so* \
+ ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libkadm5srv.so* \
+ ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libhdb.so* \
+ ${IDIR_HEIMDAL_SERVER}/usr/lib/heimdal
+ ${INSTALL_DATA} ./files/{krb5.conf,kdc.conf,kadmind.acl} \
+ ${IDIR_HEIMDAL_SERVER}/etc/heimdal
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/kdc \
+ ${IDIR_HEIMDAL_SERVER}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/kadmind \
+ ${IDIR_HEIMDAL_SERVER}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/kpasswdd \
+ ${IDIR_HEIMDAL_SERVER}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/kstash \
+ ${IDIR_HEIMDAL_SERVER}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/ktutil \
+ ${IDIR_HEIMDAL_SERVER}/usr/sbin/
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/kadmin \
+ ${IDIR_HEIMDAL_SERVER}/usr/sbin/
# heimdal libs
- ${INSTALL_DIR} ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
+ ${INSTALL_DIR} ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
ifeq ($(ADK_COMPILE_HEIMDAL_WITH_PKINIT),y)
- ${CP} ${WRKINST}/usr/lib/heimdal/libhx509.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libhx509.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
endif
- ${CP} ${WRKINST}/usr/lib/heimdal/libheimntlm.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libwind.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libgssapi.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libkafs.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libkrb5.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libasn1.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libroken.so* ${IDIR_HEIMDAL_LIBS}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libheimntlm.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libwind.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libgssapi.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libkafs.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libkrb5.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libasn1.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libroken.so* \
+ ${IDIR_LIBHEIMDAL}/usr/lib/heimdal
# heimdal client libs
- ${INSTALL_DIR} ${IDIR_HEIMDAL_CLIENT_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libeditline.so* ${IDIR_HEIMDAL_CLIENT_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libsl.so* ${IDIR_HEIMDAL_CLIENT_LIBS}/usr/lib/heimdal
- ${CP} ${WRKINST}/usr/lib/heimdal/libkadm5clnt.so* ${IDIR_HEIMDAL_CLIENT_LIBS}/usr/lib/heimdal
+ ${INSTALL_DIR} ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libeditline.so* \
+ ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libsl.so* \
+ ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
+ ${CP} ${WRKINST}/usr/lib/heimdal/libkadm5clnt.so* \
+ ${IDIR_LIBHEIMDAL_CLIENT}/usr/lib/heimdal
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/krb5/Makefile b/package/krb5/Makefile
index 0891977..6f1c72a 100644
--- a/package/krb5/Makefile
+++ b/package/krb5/Makefile
@@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= krb5
PKG_VERSION:= 1.7
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= 9f7b3402b4731a7fa543db193bf1b564
PKG_DESCR:= MIT kerberos server
PKG_SECTION:= net
-PKG_DEPENDS:= krb5-libs libncurses libss libcom-err
+PKG_DEPENDS:= libkrb5 libncurses libss libcom-err
PKG_BUILDDEP+= ncurses e2fsprogs
PKG_URL:= http://web.mit.edu/kerberos
PKG_SITES:= http://web.mit.edu/kerberos/dist/krb5/1.7/
@@ -23,7 +23,7 @@ WRKSRC= ${WRKDIST}/src
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,KRB5_SERVER,krb5-server,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,KRB5_LIBS,krb5-libs,$(PKG_VERSION)-${PKG_RELEASE},,${PKG_DESCR_LIB},${PKG_SECTION_LIB}))
+$(eval $(call PKG_template,LIBKRB5,libkrb5,$(PKG_VERSION)-${PKG_RELEASE},,${PKG_DESCR_LIB},${PKG_SECTION_LIB}))
TCFLAGS+= -I${STAGING_DIR}/usr/include/et
CONFIGURE_STYLE:= gnu
@@ -59,11 +59,11 @@ post-install:
${CP} ${WRKINST}/usr/lib/lib{gssrpc,kadm5clnt,kadm5srv,kdb5}.so* \
${IDIR_KRB5_SERVER}/usr/lib
# krb5-libs
- ${INSTALL_DIR} ${IDIR_KRB5_LIBS}/etc
- ${INSTALL_DIR} ${IDIR_KRB5_LIBS}/usr/lib
- ${INSTALL_DATA} ./files/krb5.conf ${IDIR_KRB5_LIBS}/etc
+ ${INSTALL_DIR} ${IDIR_LIBKRB5}/etc
+ ${INSTALL_DIR} ${IDIR_LIBKRB5}/usr/lib
+ ${INSTALL_DATA} ./files/krb5.conf ${IDIR_LIBKRB5}/etc
${CP} ${WRKINST}/usr/lib/lib{gssapi_krb5,k5crypto,krb5,krb5support}.so* \
- ${IDIR_KRB5_LIBS}/usr/lib
- echo '/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init' > ${IDIR_KRB5_LIBS}/etc/gssapi_mech.conf
+ ${IDIR_LIBKRB5}/usr/lib
+ echo '/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init' > ${IDIR_LIBKRB5}/etc/gssapi_mech.conf
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libgcrypt/Makefile b/package/libgcrypt/Makefile
index 49b89f4..e9794bd 100644
--- a/package/libgcrypt/Makefile
+++ b/package/libgcrypt/Makefile
@@ -4,28 +4,29 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= libgcrypt
-PKG_VERSION:= 1.4.4
+PKG_VERSION:= 1.4.5
PKG_RELEASE:= 1
-PKG_BUILDDEP+= libgpg-error
-PKG_MD5SUM:= 9e6dcf7fef1ae96b57207a1de91fdaa4
+PKG_MD5SUM:= 325294c12e7b99d82dee3a8bf8c2c28e
PKG_DESCR:= GNU crypto library
PKG_SECTION:= libs
PKG_DEPENDS:= libgpg-error
+PKG_BUILDDEP+= libgpg-error
PKG_URL:= http://directory.fsf.org/project/libgcrypt
PKG_SITES:= ftp://ftp.gnupg.org/gcrypt/libgcrypt/
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,LIBGCRYPT,libgcrypt,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBGCRYPT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_STYLE= gnu
+CONFIGURE_STYLE:= gnu
CONFIGURE_ARGS+= --disable-asm \
--with-gpg-error-prefix="${STAGING_DIR}/usr"
-BUILD_STYLE= auto
-INSTALL_STYLE= auto confprog
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_LIBGCRYPT}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libgcrypt.so.* ${IDIR_LIBGCRYPT}/usr/lib/
+ ${CP} ${WRKINST}/usr/lib/libgcrypt.so* \
+ ${IDIR_LIBGCRYPT}/usr/lib/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libgpg-error/Makefile b/package/libgpg-error/Makefile
index ec554b0..4151969 100644
--- a/package/libgpg-error/Makefile
+++ b/package/libgpg-error/Makefile
@@ -4,29 +4,27 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= libgpg-error
-PKG_VERSION:= 1.5
+PKG_VERSION:= 1.7
PKG_RELEASE:= 1
-PKG_MD5SUM:= 8599b96c911b1df1be24a6ff4ec3c364
+PKG_MD5SUM:= 62c0d09d1e76c5b6da8fff92314c4665
PKG_DESCR:= an helper library for common error codes and descriptions
PKG_SECTION:= libs
PKG_URL:= http://www.gnupg.org
-PKG_SITES:= ftp://ftp.gnupg.org/gcrypt/libgpg-error/ \
- http://mirrors.rootmode.com/ftp.gnupg.org/libgpg-error/ \
- http://gulus.usherbrooke.ca/pub/appl/GnuPG/libgpg-error/ \
- http://gnupg.unixmexico.org/ftp/libgpg-error/
+PKG_SITES:= ftp://ftp.gnupg.org/gcrypt/libgpg-error/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
include ${TOPDIR}/mk/package.mk
-$(eval $(call PKG_template,LIBGPG_ERROR,libgpg-error,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBGPG_ERROR,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_STYLE= gnu
-BUILD_STYLE= auto
-INSTALL_STYLE= auto confprog
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_LIBGPG_ERROR}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libgpg-error.so.* ${IDIR_LIBGPG_ERROR}/usr/lib/
+ ${CP} ${WRKINST}/usr/lib/libgpg-error.so* \
+ ${IDIR_LIBGPG_ERROR}/usr/lib/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libtasn1/Makefile b/package/libtasn1/Makefile
index abccb26..e6cc3af 100644
--- a/package/libtasn1/Makefile
+++ b/package/libtasn1/Makefile
@@ -4,28 +4,24 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= libtasn1
-PKG_VERSION:= 1.1
+PKG_VERSION:= 2.2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 93b43cc5013bda4d8bf64508f1566c54
+PKG_MD5SUM:= 14cc361500d2e768a8a6ec538ce3fecb
PKG_DESCR:= an ASN.1 and DER structures manipulation library
PKG_SECTION:= libs
PKG_URL:= http://www.gnupg.org
-PKG_SITES:= ftp://ftp.gnutls.org/pub/gnutls/libtasn1/ \
- ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/ \
- http://www.mirrors.wiretapped.net/security/network-securitygnutls/libtasn1/ \
- ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/libtasn1/ \
- http://josefsson.org/gnutls/releases/libtasn1/
+PKG_SITES:= ftp://ftp.gnutls.org/pub/gnutls/libtasn1/
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBTASN1,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_STYLE= gnu
-BUILD_STYLE= auto
-INSTALL_STYLE= auto
+CONFIGURE_STYLE:= gnu
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_LIBTASN1}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libtasn1.so.* ${IDIR_LIBTASN1}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libtasn1.so* ${IDIR_LIBTASN1}/usr/lib
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libtasn1/patches/patch-configure b/package/libtasn1/patches/patch-configure
deleted file mode 100644
index 7b8e25c..0000000
--- a/package/libtasn1/patches/patch-configure
+++ /dev/null
@@ -1,14 +0,0 @@
-$Id$
---- libtasn1-1.1.orig/configure Fri Aug 31 15:17:55 2007
-+++ libtasn1-1.1/configure Thu Sep 6 15:24:25 2007
-@@ -23445,8 +23445,8 @@ echo "${ECHO_T}$gl_cv_next_unistd_h" >&6
-
-
- # For libtasn1-config.
--LIBTASN1_LIBS="-L${libdir} -ltasn1 $LIBS"
--LIBTASN1_CFLAGS="-I${includedir}"
-+LIBTASN1_LIBS="-ltasn1 $LIBS"
-+LIBTASN1_CFLAGS=
-
-
- ac_config_commands="$ac_config_commands chmod"
diff --git a/package/maradns/Makefile b/package/maradns/Makefile
index dc627ff..45c95bc 100644
--- a/package/maradns/Makefile
+++ b/package/maradns/Makefile
@@ -4,17 +4,14 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= maradns
-PKG_VERSION:= 1.3.07.09
+PKG_VERSION:= 1.4.03
PKG_RELEASE:= 1
-PKG_BUILDDEP+= libpthread
-PKG_MD5SUM:= 1d221438fb4d9317263555262b9c652c
+PKG_MD5SUM:= 9e715104234cc9bf01e2afaad27eb787
PKG_DESCR:= small and secure DNS server
PKG_SECTION:= net
PKG_DEPENDS:= libpthread
PKG_URL:= http://www.maradns.org
-PKG_SITES:= http://www.maradns.org/download/1.3/${PKG_VERSION}/
-
-DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+PKG_SITES:= http://www.maradns.org/download/1.4/${PKG_VERSION}/
include ${TOPDIR}/mk/package.mk
@@ -37,8 +34,10 @@ post-install:
${INSTALL_DIR} ${IDIR_MARADNS}/etc/maradns
${INSTALL_DIR} ${IDIR_MARADNS}/usr/bin ${IDIR_MARADNS}/usr/sbin
${INSTALL_DATA} ./files/mararc ${IDIR_MARADNS}/etc/mararc
- ${INSTALL_DATA} ./files/sample.{zone,ptr} ${IDIR_MARADNS}/etc/maradns/
+ ${INSTALL_DATA} ./files/sample.{zone,ptr} \
+ ${IDIR_MARADNS}/etc/maradns/
${CP} ${WRKINST}/usr/bin/{askmara,getzone} ${IDIR_MARADNS}/usr/bin/
- ${CP} ${WRKINST}/usr/sbin/{maradns,zoneserver} ${IDIR_MARADNS}/usr/sbin/
+ ${CP} ${WRKINST}/usr/sbin/{maradns,zoneserver} \
+ ${IDIR_MARADNS}/usr/sbin/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/nand/Makefile b/package/nand/Makefile
new file mode 100644
index 0000000..c453e6a
--- /dev/null
+++ b/package/nand/Makefile
@@ -0,0 +1,39 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= nand
+PKG_VERSION:= 1.0
+PKG_RELEASE:= 1
+PKG_DESCR:= NAND utility
+PKG_SECTION:= base
+
+PKG_TARGET_DEPENDS:= rb532
+
+WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
+NO_DISTFILES:= 1
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,NAND,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+PKGDFLT_NAND= y
+
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+do-build:
+ mkdir -p ${WRKBUILD}
+ ${CP} ./src/* ${WRKBUILD}
+ ${TARGET_CC} ${TCPPFLAGS} ${TCFLAGS} -o ${WRKBUILD}/nandwrite \
+ ${WRKBUILD}/nandwrite.c
+ ${TARGET_CC} ${TCPPFLAGS} ${TCFLAGS} -o ${WRKBUILD}/nanddump \
+ ${WRKBUILD}/nanddump.c
+
+do-install:
+ ${INSTALL_DIR} ${IDIR_NAND}/sbin
+ ${INSTALL_BIN} ${WRKBUILD}/nandwrite ${IDIR_NAND}/sbin
+ ${INSTALL_BIN} ${WRKBUILD}/nanddump ${IDIR_NAND}/sbin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/nand/src/nanddump.c b/package/nand/src/nanddump.c
new file mode 100644
index 0000000..678d684
--- /dev/null
+++ b/package/nand/src/nanddump.c
@@ -0,0 +1,421 @@
+/*
+ * nanddump.c
+ *
+ * Copyright (C) 2000 David Woodhouse (dwmw2@infradead.org)
+ * Steven J. Hill (sjhill@realitydiluted.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Overview:
+ * This utility dumps the contents of raw NAND chips or NAND
+ * chips contained in DoC devices.
+ */
+
+#define _GNU_SOURCE
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include <asm/types.h>
+#include <mtd/mtd-user.h>
+
+#define PROGRAM "nanddump"
+#define VERSION "$Revision: 1.29 $"
+
+static struct nand_oobinfo none_oobinfo = {
+ .useecc = MTD_NANDECC_OFF,
+};
+
+static void display_help (void)
+{
+ printf(
+"Usage: nanddump [OPTIONS] MTD-device\n"
+"Dumps the contents of a nand mtd partition.\n"
+"\n"
+" --help Display this help and exit\n"
+" --version Output version information and exit\n"
+"-f file --file=file Dump to file\n"
+"-i --ignoreerrors Ignore errors\n"
+"-l length --length=length Length\n"
+"-n --noecc Read without error correction\n"
+"-o --omitoob Omit oob data\n"
+"-b --omitbad Omit bad blocks from the dump\n"
+"-p --prettyprint Print nice (hexdump)\n"
+"-q --quiet Don't display progress and status messages\n"
+"-s addr --startaddress=addr Start address\n"
+ );
+ exit(EXIT_SUCCESS);
+}
+
+static void display_version (void)
+{
+ printf(PROGRAM " " VERSION "\n"
+ "\n"
+ PROGRAM " comes with NO WARRANTY\n"
+ "to the extent permitted by law.\n"
+ "\n"
+ "You may redistribute copies of " PROGRAM "\n"
+ "under the terms of the GNU General Public Licence.\n"
+ "See the file `COPYING' for more information.\n");
+ exit(EXIT_SUCCESS);
+}
+
+// Option variables
+
+static bool ignoreerrors = false; // ignore errors
+static bool pretty_print = false; // print nice in ascii
+static bool noecc = false; // don't error correct
+static bool omitoob = false; // omit oob data
+static unsigned long start_addr; // start address
+static unsigned long length; // dump length
+static const char *mtddev; // mtd device name
+static const char *dumpfile; // dump file name
+static bool omitbad = false;
+static bool quiet = false; // suppress diagnostic output
+
+static void process_options (int argc, char * const argv[])
+{
+ int error = 0;
+
+ for (;;) {
+ int option_index = 0;
+ static const char *short_options = "bs:f:il:opqn";
+ static const struct option long_options[] = {
+ {"help", no_argument, 0, 0},
+ {"version", no_argument, 0, 0},
+ {"file", required_argument, 0, 'f'},
+ {"ignoreerrors", no_argument, 0, 'i'},
+ {"prettyprint", no_argument, 0, 'p'},
+ {"omitoob", no_argument, 0, 'o'},
+ {"omitbad", no_argument, 0, 'b'},
+ {"startaddress", required_argument, 0, 's'},
+ {"length", required_argument, 0, 'l'},
+ {"noecc", no_argument, 0, 'n'},
+ {"quiet", no_argument, 0, 'q'},
+ {0, 0, 0, 0},
+ };
+
+ int c = getopt_long(argc, argv, short_options,
+ long_options, &option_index);
+ if (c == EOF) {
+ break;
+ }
+
+ switch (c) {
+ case 0:
+ switch (option_index) {
+ case 0:
+ display_help();
+ break;
+ case 1:
+ display_version();
+ break;
+ }
+ break;
+ case 'b':
+ omitbad = true;
+ break;
+ case 's':
+ start_addr = strtol(optarg, NULL, 0);
+ break;
+ case 'f':
+ if (!(dumpfile = strdup(optarg))) {
+ perror("stddup");
+ exit(EXIT_FAILURE);
+ }
+ break;
+ case 'i':
+ ignoreerrors = true;
+ break;
+ case 'l':
+ length = strtol(optarg, NULL, 0);
+ break;
+ case 'o':
+ omitoob = true;
+ break;
+ case 'p':
+ pretty_print = true;
+ break;
+ case 'q':
+ quiet = true;
+ break;
+ case 'n':
+ noecc = true;
+ break;
+ case '?':
+ error++;
+ break;
+ }
+ }
+
+ if (quiet && pretty_print) {
+ fprintf(stderr, "The quiet and pretty print options are mutually-\n"
+ "exclusive. Choose one or the other.\n");
+ exit(EXIT_FAILURE);
+ }
+
+ if ((argc - optind) != 1 || error)
+ display_help ();
+
+ mtddev = argv[optind];
+}
+
+/*
+ * Buffers for reading data from flash
+ */
+static unsigned char readbuf[4096];
+static unsigned char oobbuf[128];
+
+/*
+ * Main program
+ */
+int main(int argc, char * const argv[])
+{
+ unsigned long ofs, end_addr = 0;
+ unsigned long long blockstart = 1;
+ int ret, i, fd, ofd, bs, badblock = 0;
+ struct mtd_oob_buf oob = {0, 16, oobbuf};
+ mtd_info_t meminfo;
+ char pretty_buf[80];
+ int oobinfochanged = 0 ;
+ struct nand_oobinfo old_oobinfo;
+ struct mtd_ecc_stats stat1, stat2;
+ bool eccstats = false;
+
+ process_options(argc, argv);
+
+ /* Open MTD device */
+ if ((fd = open(mtddev, O_RDONLY)) == -1) {
+ perror(mtddev);
+ exit (EXIT_FAILURE);
+ }
+
+ /* Fill in MTD device capability structure */
+ if (ioctl(fd, MEMGETINFO, &meminfo) != 0) {
+ perror("MEMGETINFO");
+ close(fd);
+ exit (EXIT_FAILURE);
+ }
+
+ /* Make sure device page sizes are valid */
+ if (!(meminfo.oobsize == 128 && meminfo.writesize == 4096) &&
+ !(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
+ !(meminfo.oobsize == 32 && meminfo.writesize == 1024) &&
+ !(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
+ !(meminfo.oobsize == 8 && meminfo.writesize == 256)) {
+ fprintf(stderr, "Unknown flash (not normal NAND)\n");
+ close(fd);
+ exit(EXIT_FAILURE);
+ }
+ /* Read the real oob length */
+ oob.length = meminfo.oobsize;
+
+ if (noecc) {
+ ret = ioctl(fd, MTDFILEMODE, (void *) MTD_MODE_RAW);
+ if (ret == 0) {
+ oobinfochanged = 2;
+ } else {
+ switch (errno) {
+ case ENOTTY:
+ if (ioctl (fd, MEMGETOOBSEL, &old_oobinfo) != 0) {
+ perror ("MEMGETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ if (ioctl (fd, MEMSETOOBSEL, &none_oobinfo) != 0) {
+ perror ("MEMSETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ oobinfochanged = 1;
+ break;
+ default:
+ perror ("MTDFILEMODE");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ }
+ } else {
+
+ /* check if we can read ecc stats */
+ if (!ioctl(fd, ECCGETSTATS, &stat1)) {
+ eccstats = true;
+ if (!quiet) {
+ fprintf(stderr, "ECC failed: %d\n", stat1.failed);
+ fprintf(stderr, "ECC corrected: %d\n", stat1.corrected);
+ fprintf(stderr, "Number of bad blocks: %d\n", stat1.badblocks);
+ fprintf(stderr, "Number of bbt blocks: %d\n", stat1.bbtblocks);
+ }
+ } else
+ perror("No ECC status information available");
+ }
+
+ /* Open output file for writing. If file name is "-", write to standard
+ * output. */
+ if (!dumpfile) {
+ ofd = STDOUT_FILENO;
+ } else if ((ofd = open(dumpfile, O_WRONLY | O_TRUNC | O_CREAT, 0644))== -1) {
+ perror (dumpfile);
+ close(fd);
+ exit(EXIT_FAILURE);
+ }
+
+ /* Initialize start/end addresses and block size */
+ if (length)
+ end_addr = start_addr + length;
+ if (!length || end_addr > meminfo.size)
+ end_addr = meminfo.size;
+
+ bs = meminfo.writesize;
+
+ /* Print informative message */
+
+ if (!quiet) {
+ fprintf(stderr, "Block size %u, page size %u, OOB size %u\n",
+ meminfo.erasesize, meminfo.writesize, meminfo.oobsize);
+ fprintf(stderr,
+ "Dumping data starting at 0x%08x and ending at 0x%08x...\n",
+ (unsigned int) start_addr, (unsigned int) end_addr);
+ }
+ /* Dump the flash contents */
+ for (ofs = start_addr; ofs < end_addr ; ofs+=bs) {
+
+ // new eraseblock , check for bad block
+ if (blockstart != (ofs & (~meminfo.erasesize + 1))) {
+ blockstart = ofs & (~meminfo.erasesize + 1);
+ if ((badblock = ioctl(fd, MEMGETBADBLOCK, &blockstart)) < 0) {
+ perror("ioctl(MEMGETBADBLOCK)");
+ goto closeall;
+ }
+ }
+
+ if (badblock) {
+ if (omitbad)
+ continue;
+ memset (readbuf, 0xff, bs);
+ } else {
+ /* Read page data and exit on failure */
+ if (pread(fd, readbuf, bs, ofs) != bs) {
+ perror("pread");
+ goto closeall;
+ }
+ }
+
+ /* ECC stats available ? */
+ if (eccstats) {
+ if (ioctl(fd, ECCGETSTATS, &stat2)) {
+ perror("ioctl(ECCGETSTATS)");
+ goto closeall;
+ }
+ if (stat1.failed != stat2.failed)
+ fprintf(stderr, "ECC: %d uncorrectable bitflip(s)"
+ " at offset 0x%08lx\n",
+ stat2.failed - stat1.failed, ofs);
+ if (stat1.corrected != stat2.corrected)
+ fprintf(stderr, "ECC: %d corrected bitflip(s) at"
+ " offset 0x%08lx\n",
+ stat2.corrected - stat1.corrected, ofs);
+ stat1 = stat2;
+ }
+
+ /* Write out page data */
+ if (pretty_print) {
+ for (i = 0; i < bs; i += 16) {
+ sprintf(pretty_buf,
+ "0x%08x: %02x %02x %02x %02x %02x %02x %02x "
+ "%02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
+ (unsigned int) (ofs + i), readbuf[i],
+ readbuf[i+1], readbuf[i+2],
+ readbuf[i+3], readbuf[i+4],
+ readbuf[i+5], readbuf[i+6],
+ readbuf[i+7], readbuf[i+8],
+ readbuf[i+9], readbuf[i+10],
+ readbuf[i+11], readbuf[i+12],
+ readbuf[i+13], readbuf[i+14],
+ readbuf[i+15]);
+ write(ofd, pretty_buf, 60);
+ }
+ } else
+ write(ofd, readbuf, bs);
+
+
+
+ if (omitoob)
+ continue;
+
+ if (badblock) {
+ memset (readbuf, 0xff, meminfo.oobsize);
+ } else {
+ /* Read OOB data and exit on failure */
+ oob.start = ofs;
+ if (ioctl(fd, MEMREADOOB, &oob) != 0) {
+ perror("ioctl(MEMREADOOB)");
+ goto closeall;
+ }
+ }
+
+ /* Write out OOB data */
+ if (pretty_print) {
+ if (meminfo.oobsize < 16) {
+ sprintf(pretty_buf, " OOB Data: %02x %02x %02x %02x %02x %02x "
+ "%02x %02x\n",
+ oobbuf[0], oobbuf[1], oobbuf[2],
+ oobbuf[3], oobbuf[4], oobbuf[5],
+ oobbuf[6], oobbuf[7]);
+ write(ofd, pretty_buf, 48);
+ continue;
+ }
+
+ for (i = 0; i < meminfo.oobsize; i += 16) {
+ sprintf(pretty_buf, " OOB Data: %02x %02x %02x %02x %02x %02x "
+ "%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
+ oobbuf[i], oobbuf[i+1], oobbuf[i+2],
+ oobbuf[i+3], oobbuf[i+4], oobbuf[i+5],
+ oobbuf[i+6], oobbuf[i+7], oobbuf[i+8],
+ oobbuf[i+9], oobbuf[i+10], oobbuf[i+11],
+ oobbuf[i+12], oobbuf[i+13], oobbuf[i+14],
+ oobbuf[i+15]);
+ write(ofd, pretty_buf, 60);
+ }
+ } else
+ write(ofd, oobbuf, meminfo.oobsize);
+ }
+
+ /* reset oobinfo */
+ if (oobinfochanged == 1) {
+ if (ioctl (fd, MEMSETOOBSEL, &old_oobinfo) != 0) {
+ perror ("MEMSETOOBSEL");
+ close(fd);
+ close(ofd);
+ return EXIT_FAILURE;
+ }
+ }
+ /* Close the output file and MTD device */
+ close(fd);
+ close(ofd);
+
+ /* Exit happy */
+ return EXIT_SUCCESS;
+
+closeall:
+ /* The new mode change is per file descriptor ! */
+ if (oobinfochanged == 1) {
+ if (ioctl (fd, MEMSETOOBSEL, &old_oobinfo) != 0) {
+ perror ("MEMSETOOBSEL");
+ }
+ }
+ close(fd);
+ close(ofd);
+ exit(EXIT_FAILURE);
+}
diff --git a/package/nand/src/nandwrite.c b/package/nand/src/nandwrite.c
new file mode 100644
index 0000000..0b2a9ee
--- /dev/null
+++ b/package/nand/src/nandwrite.c
@@ -0,0 +1,647 @@
+/*
+ * nandwrite.c
+ *
+ * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com)
+ * 2003 Thomas Gleixner (tglx@linutronix.de)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Overview:
+ * This utility writes a binary image directly to a NAND flash
+ * chip or NAND chips contained in DoC devices. This is the
+ * "inverse operation" of nanddump.
+ *
+ * tglx: Major rewrite to handle bad blocks, write data with or without ECC
+ * write oob data only on request
+ *
+ * Bug/ToDo:
+ */
+
+#define _GNU_SOURCE
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <getopt.h>
+
+#include <asm/types.h>
+#include "mtd/mtd-user.h"
+
+#define PROGRAM "nandwrite"
+#define VERSION "$Revision: 1.32 $"
+
+#define MAX_PAGE_SIZE 4096
+#define MAX_OOB_SIZE 128
+
+/*
+ * Buffer array used for writing data
+ */
+static unsigned char writebuf[MAX_PAGE_SIZE];
+static unsigned char oobbuf[MAX_OOB_SIZE];
+static unsigned char oobreadbuf[MAX_OOB_SIZE];
+
+// oob layouts to pass into the kernel as default
+static struct nand_oobinfo none_oobinfo = {
+ .useecc = MTD_NANDECC_OFF,
+};
+
+static struct nand_oobinfo jffs2_oobinfo = {
+ .useecc = MTD_NANDECC_PLACE,
+ .eccbytes = 6,
+ .eccpos = { 0, 1, 2, 3, 6, 7 }
+};
+
+static struct nand_oobinfo yaffs_oobinfo = {
+ .useecc = MTD_NANDECC_PLACE,
+ .eccbytes = 6,
+ .eccpos = { 8, 9, 10, 13, 14, 15}
+};
+
+static struct nand_oobinfo autoplace_oobinfo = {
+ .useecc = MTD_NANDECC_AUTOPLACE
+};
+
+static void display_help (void)
+{
+ printf(
+"Usage: nandwrite [OPTION] MTD_DEVICE [INPUTFILE|-]\n"
+"Writes to the specified MTD device.\n"
+"\n"
+" -a, --autoplace Use auto oob layout\n"
+" -j, --jffs2 Force jffs2 oob layout (legacy support)\n"
+" -y, --yaffs Force yaffs oob layout (legacy support)\n"
+" -f, --forcelegacy Force legacy support on autoplacement-enabled mtd\n"
+" device\n"
+" -m, --markbad Mark blocks bad if write fails\n"
+" -n, --noecc Write without ecc\n"
+" -o, --oob Image contains oob data\n"
+" -s addr, --start=addr Set start address (default is 0)\n"
+" -p, --pad Pad to page size\n"
+" -b, --blockalign=1|2|4 Set multiple of eraseblocks to align to\n"
+" -q, --quiet Don't display progress messages\n"
+" --help Display this help and exit\n"
+" --version Output version information and exit\n"
+ );
+ exit (EXIT_SUCCESS);
+}
+
+static void display_version (void)
+{
+ printf(PROGRAM " " VERSION "\n"
+ "\n"
+ "Copyright (C) 2003 Thomas Gleixner \n"
+ "\n"
+ PROGRAM " comes with NO WARRANTY\n"
+ "to the extent permitted by law.\n"
+ "\n"
+ "You may redistribute copies of " PROGRAM "\n"
+ "under the terms of the GNU General Public Licence.\n"
+ "See the file `COPYING' for more information.\n");
+ exit (EXIT_SUCCESS);
+}
+
+static const char *standard_input = "-";
+static const char *mtd_device, *img;
+static int mtdoffset = 0;
+static bool quiet = false;
+static bool writeoob = false;
+static bool autoplace = false;
+static bool markbad = false;
+static bool forcejffs2 = false;
+static bool forceyaffs = false;
+static bool forcelegacy = false;
+static bool noecc = false;
+static bool pad = false;
+static int blockalign = 1; /*default to using 16K block size */
+
+static void process_options (int argc, char * const argv[])
+{
+ int error = 0;
+
+ for (;;) {
+ int option_index = 0;
+ static const char *short_options = "ab:fjmnopqs:y";
+ static const struct option long_options[] = {
+ {"help", no_argument, 0, 0},
+ {"version", no_argument, 0, 0},
+ {"autoplace", no_argument, 0, 'a'},
+ {"blockalign", required_argument, 0, 'b'},
+ {"forcelegacy", no_argument, 0, 'f'},
+ {"jffs2", no_argument, 0, 'j'},
+ {"markbad", no_argument, 0, 'm'},
+ {"noecc", no_argument, 0, 'n'},
+ {"oob", no_argument, 0, 'o'},
+ {"pad", no_argument, 0, 'p'},
+ {"quiet", no_argument, 0, 'q'},
+ {"start", required_argument, 0, 's'},
+ {"yaffs", no_argument, 0, 'y'},
+ {0, 0, 0, 0},
+ };
+
+ int c = getopt_long(argc, argv, short_options,
+ long_options, &option_index);
+ if (c == EOF) {
+ break;
+ }
+
+ switch (c) {
+ case 0:
+ switch (option_index) {
+ case 0:
+ display_help();
+ break;
+ case 1:
+ display_version();
+ break;
+ }
+ break;
+ case 'q':
+ quiet = true;
+ break;
+ case 'a':
+ autoplace = true;
+ break;
+ case 'j':
+ forcejffs2 = true;
+ break;
+ case 'y':
+ forceyaffs = true;
+ break;
+ case 'f':
+ forcelegacy = true;
+ break;
+ case 'n':
+ noecc = true;
+ break;
+ case 'm':
+ markbad = true;
+ break;
+ case 'o':
+ writeoob = true;
+ break;
+ case 'p':
+ pad = true;
+ break;
+ case 's':
+ mtdoffset = strtol (optarg, NULL, 0);
+ break;
+ case 'b':
+ blockalign = atoi (optarg);
+ break;
+ case '?':
+ error++;
+ break;
+ }
+ }
+
+ if (mtdoffset < 0) {
+ fprintf(stderr, "Can't specify a negative device offset `%d'\n",
+ mtdoffset);
+ exit (EXIT_FAILURE);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ /*
+ * There must be at least the MTD device node positional
+ * argument remaining and, optionally, the input file.
+ */
+
+ if (argc < 1 || argc > 2 || error)
+ display_help ();
+
+ mtd_device = argv[0];
+
+ /*
+ * Standard input may be specified either explictly as "-" or
+ * implicity by simply omitting the second of the two
+ * positional arguments.
+ */
+
+ img = ((argc == 2) ? argv[1] : standard_input);
+}
+
+static void erase_buffer(void *buffer, size_t size)
+{
+ const uint8_t kEraseByte = 0xff;
+
+ if (buffer != NULL && size > 0) {
+ memset(buffer, kEraseByte, size);
+ }
+}
+
+/*
+ * Main program
+ */
+int main(int argc, char * const argv[])
+{
+ int cnt = 0;
+ int fd = -1;
+ int ifd = -1;
+ int imglen = 0, pagelen;
+ bool baderaseblock = false;
+ int blockstart = -1;
+ struct mtd_info_user meminfo;
+ struct mtd_oob_buf oob;
+ loff_t offs;
+ int ret, readlen;
+ int oobinfochanged = 0;
+ struct nand_oobinfo old_oobinfo;
+ int readcnt = 0;
+
+ process_options(argc, argv);
+
+ erase_buffer(oobbuf, sizeof(oobbuf));
+
+ if (pad && writeoob) {
+ fprintf(stderr, "Can't pad when oob data is present.\n");
+ exit (EXIT_FAILURE);
+ }
+
+ /* Open the device */
+ if ((fd = open(mtd_device, O_RDWR)) == -1) {
+ perror(mtd_device);
+ exit (EXIT_FAILURE);
+ }
+
+ /* Fill in MTD device capability structure */
+ if (ioctl(fd, MEMGETINFO, &meminfo) != 0) {
+ perror("MEMGETINFO");
+ close(fd);
+ exit (EXIT_FAILURE);
+ }
+
+ /* Set erasesize to specified number of blocks - to match jffs2
+ * (virtual) block size */
+ meminfo.erasesize *= blockalign;
+
+ /* Make sure device page sizes are valid */
+ if (!(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
+ !(meminfo.oobsize == 8 && meminfo.writesize == 256) &&
+ !(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
+ !(meminfo.oobsize == 128 && meminfo.writesize == 4096)) {
+ fprintf(stderr, "Unknown flash (not normal NAND)\n");
+ close(fd);
+ exit (EXIT_FAILURE);
+ }
+
+ if (autoplace) {
+ /* Read the current oob info */
+ if (ioctl (fd, MEMGETOOBSEL, &old_oobinfo) != 0) {
+ perror ("MEMGETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+
+ // autoplace ECC ?
+ if (autoplace && (old_oobinfo.useecc != MTD_NANDECC_AUTOPLACE)) {
+
+ if (ioctl (fd, MEMSETOOBSEL, &autoplace_oobinfo) != 0) {
+ perror ("MEMSETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ oobinfochanged = 1;
+ }
+ }
+
+ if (noecc) {
+ ret = ioctl(fd, MTDFILEMODE, (void *) MTD_MODE_RAW);
+ if (ret == 0) {
+ oobinfochanged = 2;
+ } else {
+ switch (errno) {
+ case ENOTTY:
+ if (ioctl (fd, MEMGETOOBSEL, &old_oobinfo) != 0) {
+ perror ("MEMGETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ if (ioctl (fd, MEMSETOOBSEL, &none_oobinfo) != 0) {
+ perror ("MEMSETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ oobinfochanged = 1;
+ break;
+ default:
+ perror ("MTDFILEMODE");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ }
+ }
+
+ /*
+ * force oob layout for jffs2 or yaffs ?
+ * Legacy support
+ */
+ if (forcejffs2 || forceyaffs) {
+ struct nand_oobinfo *oobsel = forcejffs2 ? &jffs2_oobinfo : &yaffs_oobinfo;
+
+ if (autoplace) {
+ fprintf(stderr, "Autoplacement is not possible for legacy -j/-y options\n");
+ goto restoreoob;
+ }
+ if ((old_oobinfo.useecc == MTD_NANDECC_AUTOPLACE) && !forcelegacy) {
+ fprintf(stderr, "Use -f option to enforce legacy placement on autoplacement enabled mtd device\n");
+ goto restoreoob;
+ }
+ if (meminfo.oobsize == 8) {
+ if (forceyaffs) {
+ fprintf (stderr, "YAFSS cannot operate on 256 Byte page size");
+ goto restoreoob;
+ }
+ /* Adjust number of ecc bytes */
+ jffs2_oobinfo.eccbytes = 3;
+ }
+
+ if (ioctl (fd, MEMSETOOBSEL, oobsel) != 0) {
+ perror ("MEMSETOOBSEL");
+ goto restoreoob;
+ }
+ }
+
+ oob.length = meminfo.oobsize;
+ oob.ptr = noecc ? oobreadbuf : oobbuf;
+
+ /* Determine if we are reading from standard input or from a file. */
+ if (strcmp(img, standard_input) == 0) {
+ ifd = STDIN_FILENO;
+ } else {
+ ifd = open(img, O_RDONLY);
+ }
+
+ if (ifd == -1) {
+ perror(img);
+ goto restoreoob;
+ }
+
+ /* For now, don't allow writing oob when reading from standard input. */
+ if (ifd == STDIN_FILENO && writeoob) {
+ fprintf(stderr, "Can't write oob when reading from standard input.\n");
+ goto closeall;
+ }
+
+ pagelen = meminfo.writesize + ((writeoob) ? meminfo.oobsize : 0);
+
+ /*
+ * For the standard input case, the input size is merely an
+ * invariant placeholder and is set to the write page
+ * size. Otherwise, just use the input file size.
+ *
+ * TODO: Add support for the -l,--length=length option (see
+ * previous discussion by Tommi Airikka <tommi.airikka@ericsson.com> at
+ * <http://lists.infradead.org/pipermail/linux-mtd/2008-September/
+ * 022913.html>
+ */
+
+ if (ifd == STDIN_FILENO) {
+ imglen = pagelen;
+ } else {
+ imglen = lseek(ifd, 0, SEEK_END);
+ lseek (ifd, 0, SEEK_SET);
+ }
+
+ // Check, if file is page-aligned
+ if ((!pad) && ((imglen % pagelen) != 0)) {
+ fprintf (stderr, "Input file is not page-aligned. Use the padding "
+ "option.\n");
+ goto closeall;
+ }
+
+ // Check, if length fits into device
+ if ( ((imglen / pagelen) * meminfo.writesize) > (meminfo.size - mtdoffset)) {
+ fprintf (stderr, "Image %d bytes, NAND page %d bytes, OOB area %u bytes, device size %u bytes\n",
+ imglen, pagelen, meminfo.writesize, meminfo.size);
+ perror ("Input file does not fit into device");
+ goto closeall;
+ }
+
+ /*
+ * Get data from input and write to the device while there is
+ * still input to read and we are still within the device
+ * bounds. Note that in the case of standard input, the input
+ * length is simply a quasi-boolean flag whose values are page
+ * length or zero.
+ */
+ while (imglen && (mtdoffset < meminfo.size)) {
+ // new eraseblock , check for bad block(s)
+ // Stay in the loop to be sure if the mtdoffset changes because
+ // of a bad block, that the next block that will be written to
+ // is also checked. Thus avoiding errors if the block(s) after the
+ // skipped block(s) is also bad (number of blocks depending on
+ // the blockalign
+ while (blockstart != (mtdoffset & (~meminfo.erasesize + 1))) {
+ blockstart = mtdoffset & (~meminfo.erasesize + 1);
+ offs = blockstart;
+ baderaseblock = false;
+ if (!quiet)
+ fprintf (stdout, "Writing data to block %d at offset 0x%x\n",
+ blockstart / meminfo.erasesize, blockstart);
+
+ /* Check all the blocks in an erase block for bad blocks */
+ do {
+ if ((ret = ioctl(fd, MEMGETBADBLOCK, &offs)) < 0) {
+ perror("ioctl(MEMGETBADBLOCK)");
+ goto closeall;
+ }
+ if (ret == 1) {
+ baderaseblock = true;
+ if (!quiet)
+ fprintf (stderr, "Bad block at %x, %u block(s) "
+ "from %x will be skipped\n",
+ (int) offs, blockalign, blockstart);
+ }
+
+ if (baderaseblock) {
+ mtdoffset = blockstart + meminfo.erasesize;
+ }
+ offs += meminfo.erasesize / blockalign ;
+ } while ( offs < blockstart + meminfo.erasesize );
+
+ }
+
+ readlen = meminfo.writesize;
+
+ if (ifd != STDIN_FILENO) {
+ int tinycnt = 0;
+
+ if (pad && (imglen < readlen))
+ {
+ readlen = imglen;
+ erase_buffer(writebuf + readlen, meminfo.writesize - readlen);
+ }
+
+ /* Read Page Data from input file */
+ while(tinycnt < readlen) {
+ cnt = read(ifd, writebuf + tinycnt, readlen - tinycnt);
+ if (cnt == 0) { // EOF
+ break;
+ } else if (cnt < 0) {
+ perror ("File I/O error on input file");
+ goto closeall;
+ }
+ tinycnt += cnt;
+ }
+ } else {
+ int tinycnt = 0;
+
+ while(tinycnt < readlen) {
+ cnt = read(ifd, writebuf + tinycnt, readlen - tinycnt);
+ if (cnt == 0) { // EOF
+ break;
+ } else if (cnt < 0) {
+ perror ("File I/O error on stdin");
+ goto closeall;
+ }
+ tinycnt += cnt;
+ }
+
+ /* No padding needed - we are done */
+ if (tinycnt == 0) {
+ imglen = 0;
+ break;
+ }
+
+ /* No more bytes - we are done after writing the remaining bytes */
+ if (cnt == 0) {
+ imglen = 0;
+ }
+
+ /* Padding */
+ if (pad && (tinycnt < readlen)) {
+ erase_buffer(writebuf + tinycnt, meminfo.writesize - tinycnt);
+ }
+ }
+
+ if (writeoob) {
+ int tinycnt = 0;
+
+ while(tinycnt < readlen) {
+ cnt = read(ifd, oobreadbuf + tinycnt, meminfo.oobsize - tinycnt);
+ if (cnt == 0) { // EOF
+ break;
+ } else if (cnt < 0) {
+ perror ("File I/O error on input file");
+ goto closeall;
+ }
+ tinycnt += cnt;
+ }
+
+ if (!noecc) {
+ int i, start, len;
+ /*
+ * We use autoplacement and have the oobinfo with the autoplacement
+ * information from the kernel available
+ *
+ * Modified to support out of order oobfree segments,
+ * such as the layout used by diskonchip.c
+ */
+ if (!oobinfochanged && (old_oobinfo.useecc == MTD_NANDECC_AUTOPLACE)) {
+ for (i = 0;old_oobinfo.oobfree[i][1]; i++) {
+ /* Set the reserved bytes to 0xff */
+ start = old_oobinfo.oobfree[i][0];
+ len = old_oobinfo.oobfree[i][1];
+ memcpy(oobbuf + start,
+ oobreadbuf + start,
+ len);
+ }
+ } else {
+ /* Set at least the ecc byte positions to 0xff */
+ start = old_oobinfo.eccbytes;
+ len = meminfo.oobsize - start;
+ memcpy(oobbuf + start,
+ oobreadbuf + start,
+ len);
+ }
+ }
+ /* Write OOB data first, as ecc will be placed in there*/
+ oob.start = mtdoffset;
+ if (ioctl(fd, MEMWRITEOOB, &oob) != 0) {
+ perror ("ioctl(MEMWRITEOOB)");
+ goto closeall;
+ }
+ imglen -= meminfo.oobsize;
+ }
+
+ /* Write out the Page data */
+ if (pwrite(fd, writebuf, meminfo.writesize, mtdoffset) != meminfo.writesize) {
+ int rewind_blocks;
+ off_t rewind_bytes;
+ erase_info_t erase;
+
+ perror ("pwrite");
+ /* Must rewind to blockstart if we can */
+ rewind_blocks = (mtdoffset - blockstart) / meminfo.writesize; /* Not including the one we just attempted */
+ rewind_bytes = (rewind_blocks * meminfo.writesize) + readlen;
+ if (writeoob)
+ rewind_bytes += (rewind_blocks + 1) * meminfo.oobsize;
+ if (lseek(ifd, -rewind_bytes, SEEK_CUR) == -1) {
+ perror("lseek");
+ fprintf(stderr, "Failed to seek backwards to recover from write error\n");
+ goto closeall;
+ }
+ erase.start = blockstart;
+ erase.length = meminfo.erasesize;
+ fprintf(stderr, "Erasing failed write from %08lx-%08lx\n",
+ (long)erase.start, (long)erase.start+erase.length-1);
+ if (ioctl(fd, MEMERASE, &erase) != 0) {
+ perror("MEMERASE");
+ goto closeall;
+ }
+
+ if (markbad) {
+ loff_t bad_addr = mtdoffset & (~(meminfo.erasesize / blockalign) + 1);
+ fprintf(stderr, "Marking block at %08lx bad\n", (long)bad_addr);
+ if (ioctl(fd, MEMSETBADBLOCK, &bad_addr)) {
+ perror("MEMSETBADBLOCK");
+ /* But continue anyway */
+ }
+ }
+ mtdoffset = blockstart + meminfo.erasesize;
+ imglen += rewind_blocks * meminfo.writesize;
+
+ continue;
+ }
+ if (ifd != STDIN_FILENO) {
+ imglen -= readlen;
+ }
+ mtdoffset += meminfo.writesize;
+ }
+
+closeall:
+ close(ifd);
+
+restoreoob:
+ if (oobinfochanged == 1) {
+ if (ioctl (fd, MEMSETOOBSEL, &old_oobinfo) != 0) {
+ perror ("MEMSETOOBSEL");
+ close (fd);
+ exit (EXIT_FAILURE);
+ }
+ }
+
+ close(fd);
+
+ if ((ifd != STDIN_FILENO) && (imglen > 0)) {
+ perror ("Data was only partially written due to error\n");
+ exit (EXIT_FAILURE);
+ }
+
+ /* Return happy */
+ return EXIT_SUCCESS;
+}
diff --git a/package/nfs-utils/Makefile b/package/nfs-utils/Makefile
index bb36d9a..7bdc870 100644
--- a/package/nfs-utils/Makefile
+++ b/package/nfs-utils/Makefile
@@ -12,7 +12,7 @@ PKG_SECTION:= net
PKG_DEPENDS:= kmod-nfsd
ifeq (${ADK_PACKAGE_NFS_UTILS_WITH_KERBEROS},y)
-PKG_DEPENDS+= krb5-libs libevent libnfsidmap librpcsecgss libcom-err libgssglue
+PKG_DEPENDS+= libkrb5 libevent libnfsidmap librpcsecgss libcom-err libgssglue
PKG_BUILDDEP+= libnfsidmap krb5 libevent libgssglue librpcsecgss
endif
diff --git a/package/ntfs-3g/Makefile b/package/ntfs-3g/Makefile
index c50a8ba..f1a7be0 100644
--- a/package/ntfs-3g/Makefile
+++ b/package/ntfs-3g/Makefile
@@ -4,14 +4,14 @@
include ${TOPDIR}/rules.mk
PKG_NAME= ntfs-3g
-PKG_VERSION= 2009.4.4
+PKG_VERSION= 2010.1.16
PKG_RELEASE= 1
-PKG_MD5SUM= e0b5c170f088a8d82968f0a6b34d31da
+PKG_MD5SUM= e104c914e8d7d29ee83e63d46afbba25
PKG_DESCR:= ntfs filesystem driver with read and write support
PKG_SECTION:= sys
PKG_DEPENDS:= kmod-fuse-fs
-PKG_URL:= http://www.ntfs-3g.org
-PKG_SITES= http://www.ntfs-3g.org/
+PKG_URL:= http://tuxera.com
+PKG_SITES= http://tuxera.com/opensource/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
@@ -26,8 +26,8 @@ BUILD_STYLE= auto
INSTALL_STYLE= auto
post-install:
- ${INSTALL_DIR} ${IDIR_NTFS_3G}/{bin,sbin}
- ${CP} ${WRKINST}/bin/ntfs-3g ${IDIR_NTFS_3G}/bin
- ${CP} ${WRKINST}/sbin/mount.ntfs-3g ${IDIR_NTFS_3G}/sbin
+ ${INSTALL_DIR} ${IDIR_NTFS_3G}/bin
+ ${INSTALL_BIN} ${WRKINST}/bin/ntfs-3g ${IDIR_NTFS_3G}/bin
+ cd ${WRKINST}/bin && ln -sf ntfs-3g mount.ntfs-3g
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/opencdk/Makefile b/package/opencdk/Makefile
index 06cea15..bd01b51 100644
--- a/package/opencdk/Makefile
+++ b/package/opencdk/Makefile
@@ -4,19 +4,15 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= opencdk
-PKG_VERSION:= 0.6.4
+PKG_VERSION:= 0.6.6
PKG_RELEASE:= 1
-PKG_BUILDDEP+= libgcrypt libgpg-error zlib
-PKG_MD5SUM:= 7bfc820bcdc08f0c31f860710368071e
+PKG_MD5SUM:= 813d62d7afe7b2c2d8f3df0a6c9d9331
PKG_DESCR:= Open Crypto Development Kit library
PKG_SECTION:= libs
PKG_DEPENDS:= libgcrypt libgpg-error zlib
+PKG_BUILDDEP+= libgcrypt libgpg-error zlib
PKG_URL:= http://www.gnu.org/software/gnutls/download.html
-PKG_SITES:= ftp://ftp.gnutls.org/pub/gnutls/opencdk/ \
- ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/ \
- http://www.mirrors.wiretapped.net/security/network-security/gnutls/opencdk/ \
- ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/opencdk/ \
- http://josefsson.org/gnutls/releases/opencdk/
+PKG_SITES:= ftp://ftp.gnutls.org/pub/gnutls/opencdk/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
@@ -31,6 +27,6 @@ INSTALL_STYLE:= auto
post-install:
${INSTALL_DIR} ${IDIR_LIBOPENCDK}/usr/lib
- ${CP} ${WRKINST}/usr/lib/libopencdk.so.* ${IDIR_LIBOPENCDK}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libopencdk.so* ${IDIR_LIBOPENCDK}/usr/lib
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/openssh/Makefile b/package/openssh/Makefile
index 3b724ed..29fd6a0 100644
--- a/package/openssh/Makefile
+++ b/package/openssh/Makefile
@@ -12,11 +12,11 @@ PKG_SECTION:= net
PKG_DEPENDS:= zlib libopenssl
PKG_BUILDDEP+= zlib openssl
ifeq (${ADK_COMPILE_OPENSSH_WITH_KRB5},y)
-PKG_DEPENDS+= krb5-libs libcom-err
+PKG_DEPENDS+= libkrb5 libcom-err
PKG_BUILDDEP+= krb5
endif
ifeq (${ADK_COMPILE_OPENSSH_WITH_HEIMDAL},y)
-PKG_DEPENDS+= heimdal-libs libcom-err
+PKG_DEPENDS+= libheimdal libcom-err
PKG_BUILDDEP+= heimdal
endif
PKG_URL:= http://www.openssh.com
diff --git a/package/valgrind/Makefile b/package/valgrind/Makefile
index bf0c171..a5950a7 100644
--- a/package/valgrind/Makefile
+++ b/package/valgrind/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= valgrind
-PKG_VERSION:= 3.3.1
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 0539e2fa4aadb2cd4ca4bba65b1fe8b5
+PKG_VERSION:= 3.5.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= f03522a4687cf76c676c9494fcc0a517
PKG_DESCR:= memory management debugging
PKG_SECTION:= utils
PKG_URL:= http://valgrind.org
@@ -21,17 +21,19 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,VALGRIND,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
CONFIGURE_STYLE= gnu
+CONFIGURE_ENV+= ac_cv_file__proc_self_fd=yes \
+ ac_cv_file__proc_self_exe=yes \
+ ac_cv_file__proc_self_maps=yes
CONFIGURE_ARGS+= --disable-tls
BUILD_STYLE= auto
INSTALL_STYLE= auto
post-install:
$(INSTALL_DIR) $(IDIR_VALGRIND)/usr/bin
- $(INSTALL_DIR) $(IDIR_VALGRIND)/usr/lib/valgrind/${ARCH}-linux
+ $(INSTALL_DIR) $(IDIR_VALGRIND)/usr/lib/valgrind
$(INSTALL_BIN) $(WRKINST)/usr/bin/valgrind $(IDIR_VALGRIND)/usr/bin/
- $(CP) $(WRKINST)/usr/lib/valgrind/${ARCH}-linux/* \
- $(IDIR_VALGRIND)/usr/lib/valgrind/${ARCH}-linux
- -rm $(IDIR_VALGRIND)/usr/lib/valgrind/${ARCH}-linux/*.a
+ $(CP) $(WRKINST)/usr/lib/valgrind/* \
+ $(IDIR_VALGRIND)/usr/lib/valgrind
touch $(IDIR_VALGRIND)/usr/lib/valgrind/default.supp
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index 614938f..d8b32c7 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -59,6 +59,7 @@ config ADK_KERNEL_SATA_AHCI
select ADK_KERNEL_BLOCK
select ADK_KERNEL_ATA
select ADK_KERNEL_BLK_DEV_SD
+ depends on ADK_LINUX_X86_64_SHUTTLE
default n
config ADK_KPACKAGE_KMOD_SATA_AHCI
@@ -68,7 +69,7 @@ config ADK_KPACKAGE_KMOD_SATA_AHCI
select ADK_KERNEL_ATA
select ADK_KERNEL_BLK_DEV_SD
depends on !ADK_KERNEL_SATA_AHCI
- depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_MIPS_AG241)
+ depends on ADK_LINUX_X86_64_SHUTTLE
default n
help
Enables support for AHCI Serial ATA.
diff --git a/target/rb532/kernel.config b/target/rb532/kernel.config
index f9ce20f..a947a54 100644
--- a/target/rb532/kernel.config
+++ b/target/rb532/kernel.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32
-# Sat Jan 30 22:33:23 2010
+# Mon Feb 1 20:33:44 2010
#
CONFIG_MIPS=y
@@ -398,7 +398,7 @@ CONFIG_MTD_PARTITIONS=y
#
# User Modules And Translation Layers
#
-# CONFIG_MTD_CHAR is not set
+CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
diff --git a/target/rb532/patches/cfgfs.patch b/target/rb532/patches/cfgfs.patch
new file mode 100644
index 0000000..ed090bf
--- /dev/null
+++ b/target/rb532/patches/cfgfs.patch
@@ -0,0 +1,18 @@
+diff -Nur linux-2.6.32.orig/arch/mips/rb532/devices.c linux-2.6.32/arch/mips/rb532/devices.c
+--- linux-2.6.32.orig/arch/mips/rb532/devices.c 2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/arch/mips/rb532/devices.c 2010-02-01 22:29:05.000000000 +0100
+@@ -190,8 +190,12 @@
+ }, {
+ .name = "rootfs",
+ .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- }
++ .size = 0x8000000 - 0x400000 - 0x400000,
++ }, {
++ .name = "cfgfs",
++ .offset = 0x8000000 - 0x400000,
++ .size = 0x400000,
++ },
+ };
+
+ static struct platform_device rb532_led = {