Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 14 years ago
parent
commit
a41d0c2ba0
88 changed files with 3024 additions and 2445 deletions
  1. 8 0
      Config.in
  2. 12 6
      mk/build.mk
  3. 8 0
      mk/modules.mk
  4. 5 1
      package/Config.in
  5. 26 0
      package/b43-firmware/Makefile
  6. 0 1
      package/base-files/src/etc/profile
  7. 0 665
      package/busybox/files/busybox.config
  8. 85 76
      package/busybox/patches/001-ipkg.patch
  9. 27 0
      package/coreutils/Makefile
  10. 2 2
      package/cpio/Makefile
  11. 8 0
      package/cpio/patches/patch-src_filetypes_h
  12. 2 0
      package/cyrus-sasl/Makefile
  13. 5 2
      package/firefox/Makefile
  14. 11 0
      package/firefox/patches/patch-content_media_nsAudioStream_cpp
  15. 28 0
      package/gpm/files/gpm.init
  16. 4 0
      package/gpm/files/gpm.postinst
  17. 18 0
      package/grep/patches/patch-src_system_h
  18. 1 1
      package/libXdamage/Makefile
  19. 1 1
      package/libXfixes/Makefile
  20. 10 0
      package/libpri/patches/patch-Makefile
  21. 10 10
      package/lynx/Makefile
  22. 34 0
      package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
  23. 0 17
      package/lynx/patches/patch-WWW_Library_Implementation_www_tcp_h
  24. 0 15
      package/lynx/patches/patch-config_hin
  25. 0 236
      package/lynx/patches/patch-lynx_cfg
  26. 0 22
      package/lynx/patches/patch-makefile_in
  27. 0 15
      package/lynx/patches/patch-samples_lynx_lss
  28. 0 15
      package/lynx/patches/patch-src_LYUtils_c
  29. 0 11
      package/lynx/patches/patch-src_chrtrans_makefile_in
  30. 16 5
      package/lynx/patches/patch-src_chrtrans_makeuctb_c
  31. 0 65
      package/lynx/patches/patch-userdefs_h
  32. 1 0
      package/nss/Makefile
  33. 8 2
      package/pcmciautils/patches/patch-Makefile
  34. 3 1
      package/pdnsd/Makefile
  35. 11 0
      package/pdnsd/patches/patch-src_Makefile_in
  36. 2 0
      package/php/Makefile
  37. 29 0
      package/pkg-config/Makefile
  38. 25 1
      package/pkgmaker
  39. 4 4
      package/pptpd/Makefile
  40. 0 20
      package/pptpd/patches/bad-pqueue-debug.patch
  41. 11 0
      package/pptpd/patches/patch-Makefile_in
  42. 5 6
      package/pptpd/patches/patch-ctrlpacket_c
  43. 20 0
      package/pptpd/patches/patch-plugins_Makefile
  44. 0 35
      package/pptpd/patches/pptpgre-use-debug-option.patch
  45. 2 2
      package/proftpd/Makefile
  46. 4 4
      package/proftpd/patches/patch-Make_rules_in
  47. 6 6
      package/proftpd/patches/patch-Makefile_in
  48. 29 0
      package/proftpd/patches/patch-modules_mod_auth_unix_c
  49. 1 1
      package/python/Makefile
  50. 2 1
      package/rxvt-unicode/Makefile
  51. 0 32
      package/swconfig/Makefile
  52. 0 12
      package/swconfig/src/Makefile
  53. 0 255
      package/swconfig/src/cli.c
  54. 0 614
      package/swconfig/src/swlib.c
  55. 0 213
      package/swconfig/src/swlib.h
  56. 29 0
      package/twm/Makefile
  57. 4 0
      package/util-linux-ng/Makefile
  58. 15 4
      package/wpa_supplicant/Makefile
  59. 4 1
      package/wpa_supplicant/files/config
  60. 182 0
      package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch
  61. 29 0
      package/xinit/Makefile
  62. 5 1
      package/xorg-server/Makefile
  63. 13 0
      package/xorg-server/patches/patch-fb_fb_h
  64. 55 0
      package/xorg-server/patches/patch-hw_xfree86_common_compiler_h
  65. 46 26
      package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c
  66. 11 3
      scripts/scan-tools.sh
  67. 4 0
      scripts/tar
  68. 27 0
      target/Config.in
  69. 32 0
      target/brcm/Makefile
  70. 11 0
      target/brcm/files/etc/mdev.conf
  71. 1065 0
      target/brcm/kernel.config
  72. 323 0
      target/brcm/patches/brcm.patch
  73. 7 0
      target/brcm/target.mk
  74. 7 0
      target/brcm/tools/rules.mk
  75. 4 0
      target/brcm/tools/trx/Makefile
  76. 376 0
      target/brcm/tools/trx/trx.c
  77. 233 0
      target/brcm/uclibc.config
  78. 4 3
      target/lemote/Makefile
  79. 3 3
      target/lemote/files/boot/boot.cfg
  80. 7 0
      target/lemote/files/etc/inittab
  81. 5 3
      target/lemote/kernel.config
  82. 1 0
      target/linux/config/Config.in.debug
  83. 1 8
      target/linux/config/Config.in.lib
  84. 20 1
      target/linux/config/Config.in.netdevice
  85. 4 3
      toolchain/binutils/Makefile.inc
  86. 13 9
      toolchain/gcc/Makefile
  87. 0 3
      toolchain/gmp/Makefile
  88. 0 2
      toolchain/mpfr/Makefile

+ 8 - 0
Config.in

@@ -22,8 +22,10 @@ config ADK_DEVELSYSTEM
 	default n
 	select BUSYBOX_CMP
 	select BUSYBOX_EXPR
+	select BUSYBOX_INSTALL
 	select BUSYBOX_MKTEMP
 	select BUSYBOX_UNZIP
+	select BUSYBOX_TAC
 	select BUSYBOX_TEE
 	select ADK_PACKAGE_AUTOCONF
 	select ADK_PACKAGE_AUTOMAKE
@@ -47,8 +49,10 @@ config ADK_DEVELSYSTEM
 	select ADK_PACKAGE_MAKE
 	select ADK_PACKAGE_MKSH
 	select ADK_PACKAGE_PATCH
+	select ADK_PACKAGE_PKG_CONFIG
 	select ADK_PACKAGE_MICROPERL
 	select ADK_PACKAGE_TAR
+	select ADK_PACKAGE_TSORT
 	select ADK_PACKAGE_WGET
 	select ADK_PACKAGE_ZLIB
 	select ADK_PACKAGE_ZLIB_DEV
@@ -119,6 +123,10 @@ config ADK_HOST_NETBSD
 	prompt "NetBSD"
 	boolean
 
+config ADK_HOST_DARWIN
+	prompt "Darwin"
+	boolean
+
 config ADK_HOST_CYGWIN
 	prompt "Cygwin"
 	boolean

+ 12 - 6
mk/build.mk

@@ -272,6 +272,9 @@ endif
 ifeq (${OStype},NetBSD)
 	@echo ADK_HOST_NETBSD=y > $(TOPDIR)/.defconfig
 endif
+ifeq (${OStype},Darwin)
+	@echo ADK_HOST_DARWIN=y > $(TOPDIR)/.defconfig
+endif
 ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig
 endif
@@ -280,10 +283,10 @@ endif
 			|grep -i "$(TARGET)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			 >> $(TOPDIR)/.defconfig; \
-		for symbol in ${DEFCONFIG}; do \
-			echo $$symbol >> $(TOPDIR)/.defconfig; \
-		done; \
 	fi
+	@for symbol in ${DEFCONFIG}; do \
+		echo $$symbol >> $(TOPDIR)/.defconfig; \
+	done
 	@if [ ! -z "$(FS)" ];then \
 		grep "^config" target/Config.in \
 			|grep -i "$(FS)" \
@@ -340,6 +343,9 @@ endif
 ifeq (${OStype},NetBSD)
 	@echo ADK_HOST_NETBSD=y > $(TOPDIR)/all.config
 endif
+ifeq (${OStype},Darwin)
+	@echo ADK_HOST_DARWIN=y > $(TOPDIR)/all.config
+endif
 ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/all.config
 endif
@@ -348,10 +354,10 @@ endif
 			|grep -i "$(TARGET)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
-		for symbol in ${DEFCONFIG}; do \
-			echo $$symbol >> $(TOPDIR)/all.config; \
-		done; \
 	fi
+	@for symbol in ${DEFCONFIG}; do \
+		echo $$symbol >> $(TOPDIR)/all.config; \
+	done
 	@if [ ! -z "$(FS)" ];then \
 		grep "^config" target/Config.in \
 			|grep -i "$(FS)" \

+ 8 - 0
mk/modules.mk

@@ -70,6 +70,14 @@ $(eval $(call KMOD_template,P54_COMMON,p54-common,\
 	$(MODULES_DIR)/kernel/drivers/net/wireless/p54/p54common \
 ,68))
 
+$(eval $(call KMOD_template,RTL8187B,rtl8187b,\
+	$(MODULES_DIR)/kernel/drivers/net/wireless/rtl8187b/rtl8187b \
+,70))
+
+$(eval $(call KMOD_template,B43,b43,\
+	$(MODULES_DIR)/kernel/drivers/net/wireless/b43/b43 \
+,70))
+
 $(eval $(call KMOD_template,P54_USB,p54-usb,\
 	$(MODULES_DIR)/kernel/drivers/net/wireless/p54/p54usb \
 ,70))

+ 5 - 1
package/Config.in

@@ -536,6 +536,7 @@ source "package/make/Config.in"
 source "package/microperl/Config.in"
 source "package/perl/Config.in"
 source "package/php/Config.in"
+source "package/pkg-config/Config.in"
 source "package/python/Config.in"
 source "package/python2/Config.in"
 source "package/ruby/Config.in"
@@ -572,6 +573,7 @@ endmenu
 menu "Utilities"
 source "package/bc/Config.in"
 source "package/comgt/Config.in"
+source "package/coreutils/Config.in"
 source "package/cpufrequtils/Config.in"
 source "package/fbset/Config.in"
 source "package/file/Config.in"
@@ -587,13 +589,13 @@ source "package/sispmctl/Config.in"
 source "package/stress/Config.in"
 source "package/sysfsutils/Config.in"
 source "package/sysstat/Config.in"
-source "package/swconfig/Config.in"
 source "package/udev/Config.in"
 source "package/watchdog/Config.in"
 endmenu
 
 menu "Wireless"
 source "package/aircrack-ng/Config.in"
+source "package/b43-firmware/Config.in"
 source "package/chillispot/Config.in"
 source "package/hostapd/Config.in"
 source "package/iw/Config.in"
@@ -622,7 +624,9 @@ source "package/evilwm/Config.in"
 source "package/firefox/Config.in"
 source "package/font-util/Config.in"
 source "package/rxvt-unicode/Config.in"
+source "package/twm/Config.in"
 source "package/xauth/Config.in"
+source "package/xinit/Config.in"
 source "package/xlsfonts/Config.in"
 endmenu
 

+ 26 - 0
package/b43-firmware/Makefile

@@ -0,0 +1,26 @@
+# 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:=		b43-firmware
+PKG_VERSION:=		1.0
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		37c8d2c029a7e5b82f4433a6fa1e2ee5
+PKG_DESCR:=		firmware for b43 wireless cards
+PKG_SECTION:=		sys
+PKG_SITES:=		http://openadk.org/distfiles/
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,B43_FIRMWARE,b43-firmware,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:=          manual
+BUILD_STYLE:=           manual
+INSTALL_STYLE:=         manual
+
+do-install:
+	${INSTALL_DIR} ${IDIR_B43_FIRMWARE}/lib/firmware
+	${CP} ${WRKBUILD}/* ${IDIR_B43_FIRMWARE}/lib/firmware/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 1
package/base-files/src/etc/profile

@@ -4,7 +4,6 @@ if [[ $(id -u) = 0 ]]; then
 	export PS1='# '
 else
 	export PS1='$ '
-	export HOME=/tmp
 fi
 cat /etc/banner 2>&-
 [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi

+ 0 - 665
package/busybox/files/busybox.config

@@ -1,665 +0,0 @@
-# Busybox version: 1.4.2
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-CONFIG_NITPICK=y
-# CONFIG_DESKTOP is not set
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-# CONFIG_FEATURE_COMPRESS_USAGE is not set
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_LOCALE_SUPPORT is not set
-CONFIG_GETOPT_LONG=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SYSLOG=y
-# CONFIG_FEATURE_SUID_CONFIG is not set
-# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-CONFIG_FEATURE_HAVE_RPC=y
-# CONFIG_SELINUX is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-# CONFIG_BUILD_AT_ONCE is not set
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_NO_DEBUG_LIB is not set
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-CONFIG_INCLUDE_SUSv2=y
-
-#
-# Installation Options
-#
-# CONFIG_INSTALL_NO_USR is not set
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-CONFIG_PREFIX="@IDIR@"
-
-#
-# Busybox Library Tuning
-#
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SIZE_VS_SPEED=1
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-# CONFIG_AR is not set
-# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
-# CONFIG_BUNZIP2 is not set
-# CONFIG_CPIO is not set
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
-CONFIG_GZIP=y
-CONFIG_IPKG=y
-# CONFIG_RPM2CPIO is not set
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-# CONFIG_FEATURE_TAR_BZIP2 is not set
-# CONFIG_FEATURE_TAR_LZMA is not set
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_GZIP=y
-# CONFIG_FEATURE_TAR_COMPRESS is not set
-# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
-# CONFIG_UNCOMPRESS is not set
-# CONFIG_UNLZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
-# CONFIG_UNZIP is not set
-
-#
-# Common options for cpio and tar
-#
-# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
-# CONFIG_FEATURE_DEB_TAR_GZ is not set
-# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
-# CONFIG_FEATURE_DEB_TAR_LZMA is not set
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-# CONFIG_CAL is not set
-CONFIG_CAT=y
-# CONFIG_CATV is not set
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_CMP=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_CUT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-# CONFIG_DIFF is not set
-# CONFIG_FEATURE_DIFF_BINARY is not set
-# CONFIG_FEATURE_DIFF_DIR is not set
-# CONFIG_FEATURE_DIFF_MINIMAL is not set
-CONFIG_DIRNAME=y
-# CONFIG_DOS2UNIX is not set
-# CONFIG_UNIX2DOS is not set
-CONFIG_DU=y
-# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
-CONFIG_EXPR=y
-# CONFIG_EXPR_MATH_SUPPORT_64 is not set
-CONFIG_FALSE=y
-# CONFIG_FOLD is not set
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_INSTALL=y
-# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
-CONFIG_LENGTH=y
-CONFIG_LN=y
-# CONFIG_LOGNAME is not set
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
-# CONFIG_NICE is not set
-CONFIG_NOHUP=y
-# CONFIG_OD is not set
-# CONFIG_PRINTENV is not set
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-# CONFIG_REALPATH is not set
-CONFIG_RM=y
-CONFIG_RMDIR=y
-CONFIG_SEQ=y
-# CONFIG_SHA1SUM is not set
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-# CONFIG_SUM is not set
-CONFIG_SYNC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TEST=y
-# CONFIG_FEATURE_TEST_64 is not set
-CONFIG_TOUCH=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-# CONFIG_FEATURE_TR_EQUIV is not set
-CONFIG_TRUE=y
-# CONFIG_TTY is not set
-CONFIG_UNAME=y
-CONFIG_UNIQ=y
-# CONFIG_USLEEP is not set
-# CONFIG_UUDECODE is not set
-# CONFIG_UUENCODE is not set
-CONFIG_WATCH=y
-CONFIG_WC=y
-# CONFIG_FEATURE_WC_LARGE is not set
-CONFIG_WHO=y
-# CONFIG_WHOAMI is not set
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-# CONFIG_CHVT is not set
-CONFIG_CLEAR=y
-# CONFIG_DEALLOCVT is not set
-# CONFIG_DUMPKMAP is not set
-# CONFIG_LOADFONT is not set
-# CONFIG_LOADKMAP is not set
-# CONFIG_OPENVT is not set
-CONFIG_RESET=y
-# CONFIG_RESIZE is not set
-# CONFIG_FEATURE_RESIZE_PRINT is not set
-# CONFIG_SETCONSOLE is not set
-# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
-# CONFIG_SETKEYCODES is not set
-# CONFIG_SETLOGCONS is not set
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-# CONFIG_PIPE_PROGRESS is not set
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_RUN_PARTS=y
-# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
-# CONFIG_START_STOP_DAEMON is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_MATH=y
-CONFIG_ED=y
-# CONFIG_PATCH is not set
-CONFIG_SED=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-CONFIG_INIT=y
-# CONFIG_DEBUG_INIT is not set
-CONFIG_FEATURE_USE_INITTAB=y
-# CONFIG_FEATURE_INIT_SCTTY is not set
-# CONFIG_FEATURE_EXTRA_QUIET is not set
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_HALT=y
-CONFIG_MESG=y
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_FEATURE_SHADOWPASSWDS=y
-CONFIG_USE_BB_SHADOW=y
-CONFIG_USE_BB_PWD_GRP=y
-# CONFIG_ADDGROUP is not set
-# CONFIG_DELGROUP is not set
-# CONFIG_ADDUSER is not set
-# CONFIG_DELUSER is not set
-# CONFIG_GETTY is not set
-CONFIG_FEATURE_UTMP=y
-# CONFIG_FEATURE_WTMP is not set
-# CONFIG_LOGIN is not set
-# CONFIG_LOGIN_SCRIPTS is not set
-# CONFIG_FEATURE_SECURETTY is not set
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-# CONFIG_SULOGIN is not set
-# CONFIG_VLOCK is not set
-
-#
-# Linux Ext2 FS Progs
-#
-# CONFIG_CHATTR is not set
-CONFIG_FSCK=y
-# CONFIG_LSATTR is not set
-
-#
-# Linux Module Utilities
-#
-CONFIG_INSMOD=y
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODPROBE=y
-# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
-# CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set
-
-#
-# Options common to multiple modutils
-#
-# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
-# CONFIG_FEATURE_2_4_MODULES is not set
-CONFIG_FEATURE_2_6_MODULES=y
-# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
-
-#
-# Linux System Utilities
-#
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-# CONFIG_FBSET is not set
-# CONFIG_FEATURE_FBSET_FANCY is not set
-# CONFIG_FEATURE_FBSET_READMODE is not set
-# CONFIG_FDFLUSH is not set
-# CONFIG_FDFORMAT is not set
-CONFIG_FDISK=y
-CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-# CONFIG_FEATURE_OSF_LABEL is not set
-# CONFIG_FEATURE_FDISK_ADVANCED is not set
-# CONFIG_FREERAMDISK is not set
-# CONFIG_FSCK_MINIX is not set
-# CONFIG_MKFS_MINIX is not set
-# CONFIG_FEATURE_MINIX2 is not set
-# CONFIG_GETOPT is not set
-CONFIG_HEXDUMP=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
-CONFIG_IPCRM=y 
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_MKSWAP=y
-# CONFIG_FEATURE_MKSWAP_V0 is not set
-CONFIG_MORE=y
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_NFS=y
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-# CONFIG_RDATE is not set
-# CONFIG_READPROFILE is not set
-# CONFIG_SETARCH is not set
-CONFIG_SWAPONOFF=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-# CONFIG_FEATURE_MTAB_SUPPORT is not set
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_ADJTIMEX is not set
-# CONFIG_BBCONFIG is not set
-CONFIG_CROND=y
-# CONFIG_DEBUG_CROND_OPTION is not set
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-CONFIG_CRONTAB=y
-# CONFIG_DC is not set
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-# CONFIG_EJECT is not set
-# CONFIG_LAST is not set
-# CONFIG_LESS is not set
-# CONFIG_FEATURE_LESS_MAXLINES is not set
-# CONFIG_FEATURE_LESS_BRACKETS is not set
-# CONFIG_FEATURE_LESS_FLAGS is not set
-# CONFIG_FEATURE_LESS_FLAGCS is not set
-# CONFIG_FEATURE_LESS_MARKS is not set
-# CONFIG_FEATURE_LESS_REGEXP is not set
-# CONFIG_HDPARM is not set
-# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
-# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
-# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
-# CONFIG_MAKEDEVS is not set
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
-# CONFIG_MOUNTPOINT is not set
-# CONFIG_MT is not set
-# CONFIG_NMETER is not set
-# CONFIG_RAIDAUTORUN is not set
-# CONFIG_READAHEAD is not set
-# CONFIG_RUNLEVEL is not set
-CONFIG_RX=y
-CONFIG_STRINGS=y
-# CONFIG_SETSID is not set
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
-# CONFIG_TIME is not set
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_FEATURE_IPV6=y
-CONFIG_ARP=y
-CONFIG_ARPING=y
-# CONFIG_DNSD is not set
-CONFIG_ETHER_WAKE=y
-# CONFIG_FAKEIDENTD is not set
-# CONFIG_FTPGET is not set
-# CONFIG_FTPPUT is not set
-# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-# CONFIG_FEATURE_IFCONFIG_SLIP is not set
-# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFUPDOWN=y
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-# CONFIG_FEATURE_IFUPDOWN_IPX is not set
-# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
-CONFIG_INETD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
-CONFIG_FEATURE_INETD_RPC=y
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-# CONFIG_FEATURE_IP_SHORT_FORMS is not set
-# CONFIG_IPADDR is not set
-# CONFIG_IPLINK is not set
-# CONFIG_IPROUTE is not set
-# CONFIG_IPTUNNEL is not set
-# CONFIG_IPRULE is not set
-# CONFIG_IPCALC is not set
-# CONFIG_FEATURE_IPCALC_FANCY is not set
-# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
-# CONFIG_NAMEIF is not set
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-CONFIG_NETSTAT=y
-CONFIG_NSLOOKUP=y
-CONFIG_PING=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING6=y
-CONFIG_ROUTE=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_TFTP=y
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_DEBUG_TFTP=y
-CONFIG_TRACEROUTE=y
-CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
-CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
-CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
-# CONFIG_APP_UDHCPD is not set
-# CONFIG_APP_DHCPRELAY is not set
-# CONFIG_APP_DUMPLEASES is not set
-CONFIG_APP_UDHCPC=y
-# CONFIG_FEATURE_UDHCP_SYSLOG is not set
-# CONFIG_FEATURE_UDHCP_DEBUG is not set
-# CONFIG_VCONFIG is not set
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_IP6_LITERAL=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-# CONFIG_ZCIP is not set
-
-#
-# Process Utilities
-#
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_UPTIME=y
-
-#
-# Shells
-#
-# CONFIG_FEATURE_SH_IS_ASH is not set
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_LASH is not set
-# CONFIG_FEATURE_SH_IS_MSH is not set
-CONFIG_FEATURE_SH_IS_NONE=y
-# CONFIG_ASH is not set
-# CONFIG_ASH_JOB_CONTROL is not set
-# CONFIG_ASH_READ_NCHARS is not set
-# CONFIG_ASH_READ_TIMEOUT is not set
-# CONFIG_ASH_ALIAS is not set
-# CONFIG_ASH_MATH_SUPPORT is not set
-# CONFIG_ASH_MATH_SUPPORT_64 is not set
-# CONFIG_ASH_GETOPTS is not set
-# CONFIG_ASH_BUILTIN_ECHO is not set
-# CONFIG_ASH_BUILTIN_TEST is not set
-# CONFIG_ASH_CMDCMD is not set
-# CONFIG_ASH_MAIL is not set
-# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_ASH_RANDOM_SUPPORT is not set
-# CONFIG_ASH_EXPAND_PRMT is not set
-# CONFIG_HUSH is not set
-# CONFIG_LASH is not set
-# CONFIG_MSH is not set
-# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
-# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
-# CONFIG_FEATURE_COMMAND_EDITING is not set
-# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
-# CONFIG_FEATURE_COMMAND_HISTORY is not set
-# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
-# CONFIG_FEATURE_COMMAND_TAB_COMPLETION is not set
-# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
-# CONFIG_FEATURE_SH_FANCY_PROMPT is not set
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_KLOGD=y
-CONFIG_LOGGER=y
-
-#
-# Runit Utilities
-#
-# CONFIG_RUNSV is not set
-# CONFIG_RUNSVDIR is not set
-# CONFIG_SV is not set
-# CONFIG_SVLOGD is not set
-# CONFIG_CHPST is not set
-# CONFIG_SETUIDGID is not set
-# CONFIG_ENVUIDGID is not set
-# CONFIG_ENVDIR is not set
-# CONFIG_SOFTLIMIT is not set

+ 85 - 76
package/busybox/patches/001-ipkg.patch

@@ -1,6 +1,6 @@
 diff -Nur busybox-1.16.1.orig/archival/Config.in busybox-1.16.1/archival/Config.in
 --- busybox-1.16.1.orig/archival/Config.in	2010-03-28 19:43:35.000000000 +0200
-+++ busybox-1.16.1/archival/Config.in	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/Config.in	2010-06-11 18:01:45.390987788 +0200
 @@ -187,6 +187,14 @@
  	  are actually slower than gzip at equivalent compression ratios
  	  and take up 3.2K of code.
@@ -18,7 +18,7 @@ diff -Nur busybox-1.16.1.orig/archival/Config.in busybox-1.16.1/archival/Config.
  	default n
 diff -Nur busybox-1.16.1.orig/archival/ipkg.c busybox-1.16.1/archival/ipkg.c
 --- busybox-1.16.1.orig/archival/ipkg.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/ipkg.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/ipkg.c	2010-06-11 18:01:45.643464189 +0200
 @@ -0,0 +1,28 @@
 +/* ipkg.c - the itsy package management system
 +
@@ -50,7 +50,7 @@ diff -Nur busybox-1.16.1.orig/archival/ipkg.c busybox-1.16.1/archival/ipkg.c
 +}
 diff -Nur busybox-1.16.1.orig/archival/Kbuild busybox-1.16.1/archival/Kbuild
 --- busybox-1.16.1.orig/archival/Kbuild	2010-03-20 03:58:07.000000000 +0100
-+++ busybox-1.16.1/archival/Kbuild	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/Kbuild	2010-06-11 18:01:45.690978489 +0200
 @@ -16,6 +16,7 @@
  lib-$(CONFIG_DPKG_DEB)		+= dpkg_deb.o
  lib-$(CONFIG_GUNZIP)		+= bbunzip.o
@@ -61,7 +61,7 @@ diff -Nur busybox-1.16.1.orig/archival/Kbuild busybox-1.16.1/archival/Kbuild
  lib-$(CONFIG_RPM2CPIO)		+= rpm2cpio.o
 diff -Nur busybox-1.16.1.orig/archival/libipkg/args.c busybox-1.16.1/archival/libipkg/args.c
 --- busybox-1.16.1.orig/archival/libipkg/args.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/args.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/args.c	2010-06-11 18:01:45.731229906 +0200
 @@ -0,0 +1,242 @@
 +/* args.c - parse command-line args
 + 
@@ -307,7 +307,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/args.c busybox-1.16.1/archival/li
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/args.h busybox-1.16.1/archival/libipkg/args.h
 --- busybox-1.16.1.orig/archival/libipkg/args.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/args.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/args.h	2010-06-11 18:01:45.770978491 +0200
 @@ -0,0 +1,72 @@
 +/* args.h - parse command-line args
 +
@@ -383,7 +383,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/args.h busybox-1.16.1/archival/li
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile.c busybox-1.16.1/archival/libipkg/conffile.c
 --- busybox-1.16.1.orig/archival/libipkg/conffile.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/conffile.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/conffile.c	2010-06-11 18:01:45.811722262 +0200
 @@ -0,0 +1,65 @@
 +/* conffile.c - the itsy package management system
 +
@@ -452,7 +452,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile.c busybox-1.16.1/archiva
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile.h busybox-1.16.1/archival/libipkg/conffile.h
 --- busybox-1.16.1.orig/archival/libipkg/conffile.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/conffile.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/conffile.h	2010-06-11 18:01:45.851179506 +0200
 @@ -0,0 +1,30 @@
 +/* conffile.h - the itsy package management system
 +
@@ -486,7 +486,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile.h busybox-1.16.1/archiva
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile_list.c busybox-1.16.1/archival/libipkg/conffile_list.c
 --- busybox-1.16.1.orig/archival/libipkg/conffile_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/conffile_list.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/conffile_list.c	2010-06-11 18:01:45.891550268 +0200
 @@ -0,0 +1,47 @@
 +/* conffile_list.c - the itsy package management system
 +
@@ -537,7 +537,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile_list.c busybox-1.16.1/ar
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile_list.h busybox-1.16.1/archival/libipkg/conffile_list.h
 --- busybox-1.16.1.orig/archival/libipkg/conffile_list.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/conffile_list.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/conffile_list.h	2010-06-11 18:01:45.931013871 +0200
 @@ -0,0 +1,36 @@
 +/* conffile_list.h - the itsy package management system
 +
@@ -577,7 +577,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/conffile_list.h busybox-1.16.1/ar
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/file_util.c busybox-1.16.1/archival/libipkg/file_util.c
 --- busybox-1.16.1.orig/archival/libipkg/file_util.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/file_util.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/file_util.c	2010-06-11 18:01:45.972223098 +0200
 @@ -0,0 +1,186 @@
 +/* file_util.c - convenience routines for common stat operations
 +
@@ -767,7 +767,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/file_util.c busybox-1.16.1/archiv
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/file_util.h busybox-1.16.1/archival/libipkg/file_util.h
 --- busybox-1.16.1.orig/archival/libipkg/file_util.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/file_util.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/file_util.h	2010-06-11 18:01:46.010975367 +0200
 @@ -0,0 +1,29 @@
 +/* file_util.h - convenience routines for common file operations
 +
@@ -800,7 +800,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/file_util.h busybox-1.16.1/archiv
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/hash_table.c busybox-1.16.1/archival/libipkg/hash_table.c
 --- busybox-1.16.1.orig/archival/libipkg/hash_table.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/hash_table.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/hash_table.c	2010-06-11 18:01:46.050978363 +0200
 @@ -0,0 +1,155 @@
 +/* hash.c - hash tables for ipkg
 +
@@ -959,7 +959,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/hash_table.c busybox-1.16.1/archi
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/hash_table.h busybox-1.16.1/archival/libipkg/hash_table.h
 --- busybox-1.16.1.orig/archival/libipkg/hash_table.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/hash_table.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/hash_table.h	2010-06-11 18:01:46.090978480 +0200
 @@ -0,0 +1,44 @@
 +/* hash.h - hash tables for ipkg
 +
@@ -1007,7 +1007,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/hash_table.h busybox-1.16.1/archi
 +#endif /* _HASH_TABLE_H_ */
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_cmd.c busybox-1.16.1/archival/libipkg/ipkg_cmd.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_cmd.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_cmd.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_cmd.c	2010-06-11 18:01:46.131129708 +0200
 @@ -0,0 +1,1386 @@
 +/* ipkg_cmd.c - the itsy package management system
 +
@@ -2397,7 +2397,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_cmd.c busybox-1.16.1/archiva
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_cmd.h busybox-1.16.1/archival/libipkg/ipkg_cmd.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_cmd.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_cmd.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_cmd.h	2010-06-11 18:01:46.170978767 +0200
 @@ -0,0 +1,41 @@
 +/* ipkg_cmd.h - the itsy package management system
 +
@@ -2442,7 +2442,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_cmd.h busybox-1.16.1/archiva
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_conf.c busybox-1.16.1/archival/libipkg/ipkg_conf.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_conf.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_conf.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_conf.c	2010-06-11 18:01:46.210975629 +0200
 @@ -0,0 +1,711 @@
 +/* ipkg_conf.c - the itsy package management system
 +
@@ -3157,7 +3157,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_conf.c busybox-1.16.1/archiv
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_conf.h busybox-1.16.1/archival/libipkg/ipkg_conf.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_conf.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_conf.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_conf.h	2010-06-11 18:01:46.250978751 +0200
 @@ -0,0 +1,107 @@
 +/* ipkg_conf.h - the itsy package management system
 +
@@ -3268,7 +3268,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_conf.h busybox-1.16.1/archiv
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_configure.c busybox-1.16.1/archival/libipkg/ipkg_configure.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_configure.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_configure.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_configure.c	2010-06-11 18:01:46.291597277 +0200
 @@ -0,0 +1,40 @@
 +/* ipkg_configure.c - the itsy package management system
 +
@@ -3312,7 +3312,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_configure.c busybox-1.16.1/a
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_configure.h busybox-1.16.1/archival/libipkg/ipkg_configure.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_configure.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_configure.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_configure.h	2010-06-11 18:01:46.340978728 +0200
 @@ -0,0 +1,25 @@
 +/* ipkg_configure.h - the itsy package management system
 +
@@ -3341,7 +3341,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_configure.h busybox-1.16.1/a
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_download.c busybox-1.16.1/archival/libipkg/ipkg_download.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_download.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_download.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_download.c	2010-06-11 18:01:46.380981407 +0200
 @@ -0,0 +1,195 @@
 +/* ipkg_download.c - the itsy package management system
 +
@@ -3540,7 +3540,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_download.c busybox-1.16.1/ar
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_download.h busybox-1.16.1/archival/libipkg/ipkg_download.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_download.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_download.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_download.h	2010-06-11 18:01:46.420978503 +0200
 @@ -0,0 +1,30 @@
 +/* ipkg_download.h - the itsy package management system
 +
@@ -3574,7 +3574,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_download.h busybox-1.16.1/ar
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg.h busybox-1.16.1/archival/libipkg/ipkg.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg.h	2010-06-11 18:01:46.450978611 +0200
 @@ -0,0 +1,68 @@
 +/* ipkg.h - the itsy package management system
 +
@@ -3646,7 +3646,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg.h busybox-1.16.1/archival/li
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_includes.h busybox-1.16.1/archival/libipkg/ipkg_includes.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_includes.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_includes.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_includes.h	2010-06-11 18:01:46.491601499 +0200
 @@ -0,0 +1,79 @@
 +#ifndef IPKG_INCLUDES_H
 +#define IPKG_INCLUDES_H
@@ -3729,7 +3729,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_includes.h busybox-1.16.1/ar
 +#endif /* IPKG_INCLUDES_H */
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_install.c busybox-1.16.1/archival/libipkg/ipkg_install.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_install.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_install.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_install.c	2010-06-11 18:01:46.520978675 +0200
 @@ -0,0 +1,1982 @@
 +/* ipkg_install.c - the itsy package management system
 +
@@ -5715,7 +5715,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_install.c busybox-1.16.1/arc
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_install.h busybox-1.16.1/archival/libipkg/ipkg_install.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_install.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_install.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_install.h	2010-06-11 18:01:46.570978506 +0200
 @@ -0,0 +1,35 @@
 +/* ipkg_install.h - the itsy package management system
 +
@@ -5754,7 +5754,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_install.h busybox-1.16.1/arc
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_message.c busybox-1.16.1/archival/libipkg/ipkg_message.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_message.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_message.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_message.c	2010-06-11 18:01:46.600978529 +0200
 @@ -0,0 +1,35 @@
 +/* ipkg_message.c - the itsy package management system
 +
@@ -5793,7 +5793,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_message.c busybox-1.16.1/arc
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_message.h busybox-1.16.1/archival/libipkg/ipkg_message.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_message.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_message.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_message.h	2010-06-11 18:01:46.641329150 +0200
 @@ -0,0 +1,32 @@
 +/* ipkg_message.h - the itsy package management system
 +
@@ -5829,7 +5829,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_message.h busybox-1.16.1/arc
 +#endif /* _IPKG_MESSAGE_H_ */
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_remove.c busybox-1.16.1/archival/libipkg/ipkg_remove.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_remove.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_remove.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_remove.c	2010-06-11 18:01:46.670978873 +0200
 @@ -0,0 +1,385 @@
 +/* ipkg_remove.c - the itsy package management system
 +
@@ -6218,7 +6218,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_remove.c busybox-1.16.1/arch
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_remove.h busybox-1.16.1/archival/libipkg/ipkg_remove.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_remove.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_remove.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_remove.h	2010-06-11 18:01:46.700978899 +0200
 @@ -0,0 +1,33 @@
 +/* ipkg_remove.h - the itsy package management system
 +
@@ -6255,7 +6255,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_remove.h busybox-1.16.1/arch
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_upgrade.c busybox-1.16.1/archival/libipkg/ipkg_upgrade.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_upgrade.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_upgrade.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_upgrade.c	2010-06-11 18:01:46.740978357 +0200
 @@ -0,0 +1,79 @@
 +/* ipkg_upgrade.c - the itsy package management system
 +
@@ -6338,7 +6338,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_upgrade.c busybox-1.16.1/arc
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_upgrade.h busybox-1.16.1/archival/libipkg/ipkg_upgrade.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_upgrade.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_upgrade.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_upgrade.h	2010-06-11 18:01:46.781573524 +0200
 @@ -0,0 +1,18 @@
 +/* ipkg_upgrade.c - the itsy package management system
 +
@@ -6360,7 +6360,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_upgrade.h busybox-1.16.1/arc
 +int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_utils.c busybox-1.16.1/archival/libipkg/ipkg_utils.c
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_utils.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_utils.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_utils.c	2010-06-11 18:01:46.810978735 +0200
 @@ -0,0 +1,185 @@
 +/* ipkg_utils.c - the itsy package management system
 +
@@ -6549,7 +6549,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_utils.c busybox-1.16.1/archi
 +       
 diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_utils.h busybox-1.16.1/archival/libipkg/ipkg_utils.h
 --- busybox-1.16.1.orig/archival/libipkg/ipkg_utils.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/ipkg_utils.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/ipkg_utils.h	2010-06-11 18:01:46.840975225 +0200
 @@ -0,0 +1,29 @@
 +/* ipkg_utils.h - the itsy package management system
 +
@@ -6582,7 +6582,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/ipkg_utils.h busybox-1.16.1/archi
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/Kbuild busybox-1.16.1/archival/libipkg/Kbuild
 --- busybox-1.16.1.orig/archival/libipkg/Kbuild	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/Kbuild	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/Kbuild	2010-06-11 18:01:46.891222949 +0200
 @@ -0,0 +1,60 @@
 +# Makefile for busybox
 +#
@@ -6646,7 +6646,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/Kbuild busybox-1.16.1/archival/li
 +CFLAGS += -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
 diff -Nur busybox-1.16.1.orig/archival/libipkg/libipkg.c busybox-1.16.1/archival/libipkg/libipkg.c
 --- busybox-1.16.1.orig/archival/libipkg/libipkg.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/libipkg.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/libipkg.c	2010-06-11 18:01:46.931643721 +0200
 @@ -0,0 +1,525 @@
 +/* ipkglib.c - the itsy package management system
 +
@@ -7175,7 +7175,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/libipkg.c busybox-1.16.1/archival
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/libipkg.h busybox-1.16.1/archival/libipkg/libipkg.h
 --- busybox-1.16.1.orig/archival/libipkg/libipkg.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/libipkg.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/libipkg.h	2010-06-11 18:01:46.960978837 +0200
 @@ -0,0 +1,78 @@
 +/* ipkglib.h - the itsy package management system
 +
@@ -7257,7 +7257,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/libipkg.h busybox-1.16.1/archival
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair.c busybox-1.16.1/archival/libipkg/nv_pair.c
 --- busybox-1.16.1.orig/archival/libipkg/nv_pair.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/nv_pair.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/nv_pair.c	2010-06-11 18:01:46.990978300 +0200
 @@ -0,0 +1,40 @@
 +/* nv_pair.c - the itsy package management system
 +
@@ -7301,7 +7301,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair.c busybox-1.16.1/archival
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair.h busybox-1.16.1/archival/libipkg/nv_pair.h
 --- busybox-1.16.1.orig/archival/libipkg/nv_pair.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/nv_pair.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/nv_pair.h	2010-06-11 18:01:47.031017435 +0200
 @@ -0,0 +1,32 @@
 +/* nv_pair.h - the itsy package management system
 +
@@ -7337,7 +7337,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair.h busybox-1.16.1/archival
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair_list.c busybox-1.16.1/archival/libipkg/nv_pair_list.c
 --- busybox-1.16.1.orig/archival/libipkg/nv_pair_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/nv_pair_list.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/nv_pair_list.c	2010-06-11 18:01:47.080970848 +0200
 @@ -0,0 +1,98 @@
 +/* nv_pair_list.c - the itsy package management system
 +
@@ -7439,7 +7439,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair_list.c busybox-1.16.1/arc
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair_list.h busybox-1.16.1/archival/libipkg/nv_pair_list.h
 --- busybox-1.16.1.orig/archival/libipkg/nv_pair_list.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/nv_pair_list.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/nv_pair_list.h	2010-06-11 18:01:47.120979074 +0200
 @@ -0,0 +1,60 @@
 +/* nv_pair_list.h - the itsy package management system
 +
@@ -7503,7 +7503,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/nv_pair_list.h busybox-1.16.1/arc
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg.c busybox-1.16.1/archival/libipkg/pkg.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg.c	2010-06-11 18:01:47.150978716 +0200
 @@ -0,0 +1,1757 @@
 +/* pkg.c - the itsy package management system
 +
@@ -9264,7 +9264,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg.c busybox-1.16.1/archival/lib
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_depends.c busybox-1.16.1/archival/libipkg/pkg_depends.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_depends.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_depends.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_depends.c	2010-06-11 18:01:47.180978610 +0200
 @@ -0,0 +1,1032 @@
 +/* pkg_depends.c - the itsy package management system
 +
@@ -10300,7 +10300,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_depends.c busybox-1.16.1/arch
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_depends.h busybox-1.16.1/archival/libipkg/pkg_depends.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_depends.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_depends.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_depends.h	2010-06-11 18:01:47.220978691 +0200
 @@ -0,0 +1,105 @@
 +/* pkg_depends.h - the itsy package management system
 +
@@ -10409,7 +10409,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_depends.h busybox-1.16.1/arch
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest.c busybox-1.16.1/archival/libipkg/pkg_dest.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_dest.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_dest.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_dest.c	2010-06-11 18:01:47.250978446 +0200
 @@ -0,0 +1,92 @@
 +/* pkg_dest.c - the itsy package management system
 +
@@ -10505,7 +10505,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest.c busybox-1.16.1/archiva
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest.h busybox-1.16.1/archival/libipkg/pkg_dest.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_dest.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_dest.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_dest.h	2010-06-11 18:01:47.291101105 +0200
 @@ -0,0 +1,38 @@
 +/* pkg_dest.h - the itsy package management system
 +
@@ -10547,7 +10547,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest.h busybox-1.16.1/archiva
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest_list.c busybox-1.16.1/archival/libipkg/pkg_dest_list.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_dest_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_dest_list.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_dest_list.c	2010-06-11 18:01:47.350985970 +0200
 @@ -0,0 +1,85 @@
 +/* pkg_dest_list.c - the itsy package management system
 +
@@ -10636,7 +10636,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest_list.c busybox-1.16.1/ar
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest_list.h busybox-1.16.1/archival/libipkg/pkg_dest_list.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_dest_list.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_dest_list.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_dest_list.h	2010-06-11 18:01:47.380979315 +0200
 @@ -0,0 +1,50 @@
 +/* pkg_dest_list.h - the itsy package management system
 +
@@ -10690,7 +10690,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_dest_list.h busybox-1.16.1/ar
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_extract.c busybox-1.16.1/archival/libipkg/pkg_extract.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_extract.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_extract.c	2010-04-22 19:33:49.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_extract.c	2010-06-11 18:01:47.430975182 +0200
 @@ -0,0 +1,255 @@
 +/* pkg_extract.c - the itsy package management system
 +
@@ -10949,7 +10949,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_extract.c busybox-1.16.1/arch
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_extract.h busybox-1.16.1/archival/libipkg/pkg_extract.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_extract.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_extract.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_extract.h	2010-06-11 18:01:47.470978638 +0200
 @@ -0,0 +1,32 @@
 +/* pkg_extract.c - the itsy package management system
 +
@@ -10985,7 +10985,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_extract.h busybox-1.16.1/arch
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg.h busybox-1.16.1/archival/libipkg/pkg.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg.h	2010-06-11 18:01:47.511696154 +0200
 @@ -0,0 +1,229 @@
 +/* pkg.h - the itsy package management system
 +
@@ -11218,7 +11218,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg.h busybox-1.16.1/archival/lib
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_hash.c busybox-1.16.1/archival/libipkg/pkg_hash.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_hash.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_hash.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_hash.c	2010-06-11 18:01:47.540979363 +0200
 @@ -0,0 +1,623 @@
 +/* ipkg_hash.c - the itsy package management system
 +
@@ -11845,7 +11845,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_hash.c busybox-1.16.1/archiva
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_hash.h busybox-1.16.1/archival/libipkg/pkg_hash.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_hash.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_hash.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_hash.h	2010-06-11 18:01:47.580975551 +0200
 @@ -0,0 +1,61 @@
 +/* pkg_hash.h - the itsy package management system
 +
@@ -11910,7 +11910,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_hash.h busybox-1.16.1/archiva
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_parse.c busybox-1.16.1/archival/libipkg/pkg_parse.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_parse.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_parse.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_parse.c	2010-06-11 18:01:47.630975348 +0200
 @@ -0,0 +1,368 @@
 +/* pkg_parse.c - the itsy package management system
 +
@@ -12282,7 +12282,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_parse.c busybox-1.16.1/archiv
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_parse.h busybox-1.16.1/archival/libipkg/pkg_parse.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_parse.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_parse.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_parse.h	2010-06-11 18:01:47.670978484 +0200
 @@ -0,0 +1,31 @@
 +/* pkg_parse.h - the itsy package management system
 +
@@ -12317,7 +12317,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_parse.h busybox-1.16.1/archiv
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src.c busybox-1.16.1/archival/libipkg/pkg_src.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_src.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_src.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_src.c	2010-06-11 18:01:47.711042808 +0200
 @@ -0,0 +1,43 @@
 +/* pkg_src.c - the itsy package management system
 +
@@ -12364,7 +12364,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src.c busybox-1.16.1/archival
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src.h busybox-1.16.1/archival/libipkg/pkg_src.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_src.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_src.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_src.h	2010-06-11 18:01:47.751659525 +0200
 @@ -0,0 +1,34 @@
 +/* pkg_src.h - the itsy package management system
 +
@@ -12402,7 +12402,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src.h busybox-1.16.1/archival
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src_list.c busybox-1.16.1/archival/libipkg/pkg_src_list.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_src_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_src_list.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_src_list.c	2010-06-11 18:01:47.780979194 +0200
 @@ -0,0 +1,75 @@
 +/* pkg_src_list.c - the itsy package management system
 +
@@ -12481,7 +12481,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src_list.c busybox-1.16.1/arc
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src_list.h busybox-1.16.1/archival/libipkg/pkg_src_list.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_src_list.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_src_list.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_src_list.h	2010-06-11 18:01:47.821074279 +0200
 @@ -0,0 +1,57 @@
 +/* pkg_src_list.h - the itsy package management system
 +
@@ -12542,7 +12542,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_src_list.h busybox-1.16.1/arc
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_vec.c busybox-1.16.1/archival/libipkg/pkg_vec.c
 --- busybox-1.16.1.orig/archival/libipkg/pkg_vec.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_vec.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_vec.c	2010-06-11 18:01:47.861221108 +0200
 @@ -0,0 +1,231 @@
 +/* pkg_vec.c - the itsy package management system
 +
@@ -12777,7 +12777,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_vec.c busybox-1.16.1/archival
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_vec.h busybox-1.16.1/archival/libipkg/pkg_vec.h
 --- busybox-1.16.1.orig/archival/libipkg/pkg_vec.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/pkg_vec.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/pkg_vec.h	2010-06-11 18:01:47.900978730 +0200
 @@ -0,0 +1,62 @@
 +/* pkg_vec.h - the itsy package management system
 +
@@ -12843,7 +12843,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/pkg_vec.h busybox-1.16.1/archival
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/sprintf_alloc.h busybox-1.16.1/archival/libipkg/sprintf_alloc.h
 --- busybox-1.16.1.orig/archival/libipkg/sprintf_alloc.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/sprintf_alloc.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/sprintf_alloc.h	2010-06-11 18:01:47.930988175 +0200
 @@ -0,0 +1,25 @@
 +/* sprintf_alloca.c -- like sprintf with memory allocation
 +
@@ -12872,7 +12872,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/sprintf_alloc.h busybox-1.16.1/ar
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/str_list.c busybox-1.16.1/archival/libipkg/str_list.c
 --- busybox-1.16.1.orig/archival/libipkg/str_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/str_list.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/str_list.c	2010-06-11 18:01:47.980982004 +0200
 @@ -0,0 +1,76 @@
 +/* str_list.c - the itsy package management system
 +
@@ -12952,7 +12952,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/str_list.c busybox-1.16.1/archiva
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/str_list.h busybox-1.16.1/archival/libipkg/str_list.h
 --- busybox-1.16.1.orig/archival/libipkg/str_list.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/str_list.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/str_list.h	2010-06-11 18:01:48.010979101 +0200
 @@ -0,0 +1,51 @@
 +/* str_list.h - the itsy package management system
 +
@@ -13007,7 +13007,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/str_list.h busybox-1.16.1/archiva
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/str_util.c busybox-1.16.1/archival/libipkg/str_util.c
 --- busybox-1.16.1.orig/archival/libipkg/str_util.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/str_util.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/str_util.c	2010-06-11 18:01:48.061519570 +0200
 @@ -0,0 +1,69 @@
 +/* str_utils.c - the itsy package management system
 +
@@ -13080,7 +13080,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/str_util.c busybox-1.16.1/archiva
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/str_util.h busybox-1.16.1/archival/libipkg/str_util.h
 --- busybox-1.16.1.orig/archival/libipkg/str_util.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/str_util.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/str_util.h	2010-06-11 18:01:48.100964951 +0200
 @@ -0,0 +1,27 @@
 +/* str_utils.h - the itsy package management system
 +
@@ -13111,7 +13111,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/str_util.h busybox-1.16.1/archiva
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/user.c busybox-1.16.1/archival/libipkg/user.c
 --- busybox-1.16.1.orig/archival/libipkg/user.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/user.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/user.c	2010-06-11 18:01:48.142223451 +0200
 @@ -0,0 +1,49 @@
 +/* user.c - the itsy package management system
 +
@@ -13164,7 +13164,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/user.c busybox-1.16.1/archival/li
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/user.h busybox-1.16.1/archival/libipkg/user.h
 --- busybox-1.16.1.orig/archival/libipkg/user.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/user.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/user.h	2010-06-11 18:01:48.170978663 +0200
 @@ -0,0 +1,23 @@
 +/* user.c - the itsy package management system
 +
@@ -13191,7 +13191,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/user.h busybox-1.16.1/archival/li
 +
 diff -Nur busybox-1.16.1.orig/archival/libipkg/void_list.c busybox-1.16.1/archival/libipkg/void_list.c
 --- busybox-1.16.1.orig/archival/libipkg/void_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/void_list.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/void_list.c	2010-06-11 18:01:48.211076954 +0200
 @@ -0,0 +1,194 @@
 +/* void_list.c - the itsy package management system
 +
@@ -13389,7 +13389,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/void_list.c busybox-1.16.1/archiv
 +}
 diff -Nur busybox-1.16.1.orig/archival/libipkg/void_list.h busybox-1.16.1/archival/libipkg/void_list.h
 --- busybox-1.16.1.orig/archival/libipkg/void_list.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/void_list.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/void_list.h	2010-06-11 18:01:48.250975412 +0200
 @@ -0,0 +1,59 @@
 +/* void_list.h - the itsy package management system
 +
@@ -13452,7 +13452,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/void_list.h busybox-1.16.1/archiv
 +#endif
 diff -Nur busybox-1.16.1.orig/archival/libipkg/xsystem.c busybox-1.16.1/archival/libipkg/xsystem.c
 --- busybox-1.16.1.orig/archival/libipkg/xsystem.c	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/xsystem.c	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/xsystem.c	2010-06-11 18:01:48.301113832 +0200
 @@ -0,0 +1,64 @@
 +/* xsystem.c - system(3) with error messages
 +
@@ -13520,7 +13520,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/xsystem.c busybox-1.16.1/archival
 +	 
 diff -Nur busybox-1.16.1.orig/archival/libipkg/xsystem.h busybox-1.16.1/archival/libipkg/xsystem.h
 --- busybox-1.16.1.orig/archival/libipkg/xsystem.h	1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.16.1/archival/libipkg/xsystem.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libipkg/xsystem.h	2010-06-11 18:01:48.342223316 +0200
 @@ -0,0 +1,34 @@
 +/* xsystem.h - system(3) with error messages
 +
@@ -13558,7 +13558,7 @@ diff -Nur busybox-1.16.1.orig/archival/libipkg/xsystem.h busybox-1.16.1/archival
 +	 
 diff -Nur busybox-1.16.1.orig/archival/libunarchive/Kbuild busybox-1.16.1/archival/libunarchive/Kbuild
 --- busybox-1.16.1.orig/archival/libunarchive/Kbuild	2010-03-20 03:58:07.000000000 +0100
-+++ busybox-1.16.1/archival/libunarchive/Kbuild	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/archival/libunarchive/Kbuild	2010-06-11 18:01:48.380978811 +0200
 @@ -40,6 +40,7 @@
  lib-$(CONFIG_DPKG)                      += $(DPKG_FILES)
  lib-$(CONFIG_DPKG_DEB)                  += $(DPKG_FILES)
@@ -13569,7 +13569,7 @@ diff -Nur busybox-1.16.1.orig/archival/libunarchive/Kbuild busybox-1.16.1/archiv
  lib-$(CONFIG_TAR)                       += get_header_tar.o
 diff -Nur busybox-1.16.1.orig/include/applets.h busybox-1.16.1/include/applets.h
 --- busybox-1.16.1.orig/include/applets.h	2010-03-28 19:43:35.000000000 +0200
-+++ busybox-1.16.1/include/applets.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/include/applets.h	2010-06-11 18:01:48.410970945 +0200
 @@ -214,6 +214,7 @@
  IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_DROP))
  IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE))
@@ -13580,7 +13580,16 @@ diff -Nur busybox-1.16.1.orig/include/applets.h busybox-1.16.1/include/applets.h
  IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_DROP))
 diff -Nur busybox-1.16.1.orig/include/unarchive.h busybox-1.16.1/include/unarchive.h
 --- busybox-1.16.1.orig/include/unarchive.h	2010-03-28 19:43:35.000000000 +0200
-+++ busybox-1.16.1/include/unarchive.h	2010-04-22 19:21:25.000000000 +0200
++++ busybox-1.16.1/include/unarchive.h	2010-06-11 18:02:23.213464230 +0200
+@@ -53,7 +53,7 @@
+ 	off_t offset;
+ 
+ 	/* Archiver specific. Can make it a union if it ever gets big */
+-#if ENABLE_TAR || ENABLE_DPKG || ENABLE_DPKG_DEB
++#if ENABLE_TAR || ENABLE_DPKG || ENABLE_DPKG_DEB || ENABLE_IPKG
+ 	smallint tar__end;
+ # if ENABLE_FEATURE_TAR_GNU_EXTENSIONS
+ 	char* tar__longname;
 @@ -65,7 +65,7 @@
  	struct hardlinks_t *cpio__hardlinks_to_create;
  	struct hardlinks_t *cpio__created_hardlinks;
@@ -13592,7 +13601,7 @@ diff -Nur busybox-1.16.1.orig/include/unarchive.h busybox-1.16.1/include/unarchi
  	/* How to process any sub archive, e.g. get_header_tar_gz */
 diff -Nur busybox-1.16.1.orig/include/usage.h busybox-1.16.1/include/usage.h
 --- busybox-1.16.1.orig/include/usage.h	2010-03-28 19:44:04.000000000 +0200
-+++ busybox-1.16.1/include/usage.h	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/include/usage.h	2010-06-11 18:01:48.460978722 +0200
 @@ -1592,6 +1592,82 @@
         "$ ls -la /tmp/busybox*\n" \
         "-rw-rw-r--    1 andersen andersen   554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
@@ -13678,7 +13687,7 @@ diff -Nur busybox-1.16.1.orig/include/usage.h busybox-1.16.1/include/usage.h
  #define halt_full_usage "\n\n" \
 diff -Nur busybox-1.16.1.orig/Makefile busybox-1.16.1/Makefile
 --- busybox-1.16.1.orig/Makefile	2010-03-28 19:44:09.000000000 +0200
-+++ busybox-1.16.1/Makefile	2010-04-22 19:18:12.000000000 +0200
++++ busybox-1.16.1/Makefile	2010-06-11 18:01:48.511660693 +0200
 @@ -454,6 +454,7 @@
  
  libs-y		:= \

+ 27 - 0
package/coreutils/Makefile

@@ -0,0 +1,27 @@
+# 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:=		coreutils
+PKG_VERSION:=		8.5
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		c1ffe586d001e87d66cd80c4536ee823
+PKG_DESCR:=		basic file, shell and text manipulation utilities
+PKG_SECTION:=		base
+PKG_URL:=		http://www.gnu.org/software/coreutils/
+PKG_SITES:=		http://ftp.gnu.org/gnu/coreutils/
+
+PKG_DESCR_TSORT:=	topological sort utility
+
+include $(TOPDIR)/mk/package.mk
+
+#$(eval $(call PKG_template,COREUTILS,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,TSORT,tsort,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_TSORT},${PKG_SECTION}))
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_TSORT)/usr/bin
+	$(INSTALL_BIN) $(WRKINST)/usr/bin/tsort \
+		$(IDIR_TSORT)/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 2 - 2
package/cpio/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		cpio
-PKG_VERSION:=		2.10
+PKG_VERSION:=		2.11
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		351ab3d38d8949913e478cc23b9d6ad4
+PKG_MD5SUM:=		1112bb6c45863468b5496ba128792f6c
 PKG_DESCR:=		copies files into or out of a cpio archive
 PKG_SECTION:=		net
 PKG_URL:=		http://www.gnu.org/software/cpio/

+ 8 - 0
package/cpio/patches/patch-src_filetypes_h

@@ -0,0 +1,8 @@
+--- cpio-2.11.orig/src/filetypes.h	2010-02-12 11:19:23.000000000 +0100
++++ cpio-2.11/src/filetypes.h	2010-06-08 18:26:43.633473938 +0200
+@@ -82,4 +82,4 @@
+ #define lstat stat
+ #endif
+ int lstat ();
+-int stat ();
++//int stat ();

+ 2 - 0
package/cyrus-sasl/Makefile

@@ -14,6 +14,8 @@ PKG_BUILDDEP+=		openssl
 PKG_URL:=		http://asg.web.cmu.edu/sasl
 PKG_SITES:=		http://ftp.andrew.cmu.edu/pub/cyrus-mail/
 
+PKG_NOPARALLEL:=	1
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,LIBSASL2,libsasl2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 5 - 2
package/firefox/Makefile

@@ -20,7 +20,7 @@ PKG_SITES:=		http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.3/
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.source.tar.bz2
 
 WRKDIST=		${WRKDIR}/mozilla-1.9.2
-PKG_TARGET_DEPENDS:=	alix1c x86_qemu x86_64_qemu shuttle ibmx40
+PKG_TARGET_DEPENDS:=	alix1c x86_qemu x86_64_qemu shuttle ibmx40 lemote
 
 include $(TOPDIR)/mk/package.mk
 
@@ -28,7 +28,8 @@ $(eval $(call PKG_template,FIREFOX,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${P
 
 CONFIGURE_ENV+=		CROSS_COMPILE=1 HOST_CC="${HOSTCC}" HOST_CFLAGS="${HOSTCFLAGS}" \
 			HOST_CXX="${HOSTCXX}" HOST_CXXFLAGS="${HOSTCXXFLAGS}" \
-			HOST_LIBIDL_CONFIG="/usr/bin/libIDL-config-2"
+			HOST_LIBIDL_CONFIG="/usr/bin/libIDL-config-2" \
+			ac_cv_thread_keyword=no
 CONFIGURE_ARGS+=	--enable-application=browser \
 			--with-system-zlib \
 			--with-system-jpeg \
@@ -41,6 +42,8 @@ CONFIGURE_ARGS+=	--enable-application=browser \
 			--disable-gnomevfs \
 			--disable-optimize \
 			--disable-necko-wifi \
+			--disable-svg \
+			--disable-mathml \
 			--disable-crashreporter
 
 post-install:

+ 11 - 0
package/firefox/patches/patch-content_media_nsAudioStream_cpp

@@ -0,0 +1,11 @@
+--- mozilla-1.9.2.orig/content/media/nsAudioStream.cpp	2010-04-02 18:02:19.000000000 +0200
++++ mozilla-1.9.2/content/media/nsAudioStream.cpp	2010-06-11 21:28:33.522214080 +0200
+@@ -246,7 +246,7 @@ float nsAudioStream::GetPosition()
+ #if defined(XP_WIN)
+   positionType = SA_POSITION_WRITE_HARDWARE;
+ #endif
+-  PRInt64 position = 0;
++  int64_t position = 0;
+   if (sa_stream_get_position(static_cast<sa_stream_t*>(mAudioHandle),
+                              positionType, &position) == SA_SUCCESS) {
+     return (position / float(mRate) / mChannels / sizeof(short));

+ 28 - 0
package/gpm/files/gpm.init

@@ -0,0 +1,28 @@
+#!/bin/sh
+#PKG gpm
+#INIT 80
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+	test x"${gpm:-NO}" = x"NO" && exit 0
+	exec sh $0 start
+	;;
+start)
+	/usr/sbin/gpm $gpm_flags
+	;;
+stop)
+	pkill gpm
+	;;
+restart)
+	sh $0 stop
+	sh $0 start
+	;;
+*)
+	echo "Usage: $0 {start | stop | restart}"
+	exit 1
+	;;
+esac
+exit $?

+ 4 - 0
package/gpm/files/gpm.postinst

@@ -0,0 +1,4 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf 'options passed to gpm' gpm_flags "-m /dev/psaux -t ps2"
+add_rcconf gpm gpm NO

+ 18 - 0
package/grep/patches/patch-src_system_h

@@ -0,0 +1,18 @@
+--- grep-2.5.4.orig/src/system.h	2009-01-31 06:39:54.000000000 +0100
++++ grep-2.5.4/src/system.h	2010-05-29 00:08:24.703125000 +0200
+@@ -56,6 +56,7 @@ extern char *sys_errlist[];
+ #ifdef __BEOS__
+ # undef O_BINARY /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */
+ #endif
++/*
+ #ifdef HAVE_DOS_FILE_CONTENTS
+ # include <io.h>
+ # ifdef HAVE_SETMODE
+@@ -64,6 +65,7 @@ extern char *sys_errlist[];
+ #  define SET_BINARY(fd)  _setmode (fd, O_BINARY)
+ # endif
+ #endif
++*/
+ 
+ #ifdef HAVE_DOS_FILE_NAMES
+ # define IS_SLASH(c) ((c) == '/' || (c) == '\\')

+ 1 - 1
package/libXdamage/Makefile

@@ -19,7 +19,7 @@ $(eval $(call PKG_template,LIBXDAMAGE,libxdamage,$(PKG_VERSION)-${PKG_RELEASE},$
 
 post-install:
 	$(INSTALL_DIR) $(IDIR_LIBXDAMAGE)/usr/lib
-	$(INSTALL_BIN) $(WRKINST)/usr/lib/libXdamage*.so* \
+	$(CP) $(WRKINST)/usr/lib/libXdamage*.so* \
 		$(IDIR_LIBXDAMAGE)/usr/lib
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 1
package/libXfixes/Makefile

@@ -19,7 +19,7 @@ $(eval $(call PKG_template,LIBXFIXES,libxfixes,$(PKG_VERSION)-${PKG_RELEASE},${P
 
 post-install:
 	$(INSTALL_DIR) $(IDIR_LIBXFIXES)/usr/lib
-	$(INSTALL_BIN) $(WRKINST)/usr/lib/libXfixes*.so* \
+	$(CP) $(WRKINST)/usr/lib/libXfixes*.so* \
 		$(IDIR_LIBXFIXES)/usr/lib
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 10 - 0
package/libpri/patches/patch-Makefile

@@ -0,0 +1,10 @@
+--- libpri-1.4.10.2.orig/Makefile	2008-08-06 20:20:51.000000000 +0200
++++ libpri-1.4.10.2/Makefile	2010-05-29 09:55:08.750000000 +0200
+@@ -146,7 +146,6 @@ $(STATIC_LIBRARY): $(STATIC_OBJS)
+ 
+ $(DYNAMIC_LIBRARY): $(DYNAMIC_OBJS)
+ 	$(CC) -shared $(SOFLAGS) -o $@ $(DYNAMIC_OBJS)
+-	$(LDCONFIG) $(LDCONFIG_FLAGS) .
+ 	ln -sf libpri.so.$(SONAME) libpri.so
+ 
+ version.c: FORCE

+ 10 - 10
package/lynx/Makefile

@@ -4,16 +4,15 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME=		lynx
-PKG_VERSION=		2.8.7dev.7
-PKG_RELEASE=		2
-PKG_MD5SUM=		83891107c873421e5ac917cc0ab53fe8
+PKG_VERSION=		2.8.7
+PKG_RELEASE=		1
+PKG_MD5SUM=		124253e635f7c76bdffc47b9d036c812
 PKG_DESCR:=		Standard text browser
 PKG_SECTION:=		text
 PKG_DEPENDS:=		libncurses libopenssl zlib
 PKG_BUILDDEP+=		ncurses openssl zlib
-PKG_URL:=		http://lynx.isc.org
-PKG_SITES=		http://lynx.isc.org/current/ \
-			${MASTER_SITE_MIRBSD}
+PKG_URL:=		http://lynx.isc.org/
+PKG_SITES=		http://lynx.isc.org/${PKG_NAME}${PKG_VERSION}/
 
 DISTFILES=		${PKG_NAME}${PKG_VERSION}.tar.gz
 WRKDIST=		${WRKDIR}/lynx2-8-7
@@ -22,7 +21,6 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,LYNX,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-TCPPFLAGS+=		-DLYNX_VERSION=\"${PKG_VERSION}-${PKG_RELEASE}\"
 TCPPFLAGS+=		-I${STAGING_DIR}/include/openssl
 TCPPFLAGS+=		-DUSE_OPENSSL_INCL -DUSE_X509_SUPPORT
 TLDFLAGS+=		-lz
@@ -40,11 +38,11 @@ CONFIGURE_ENV+=		ac_cv_path_TELNET=telnet \
 			ac_cv_path_RM=rm \
 			ac_cv_path_UUDECODE=uudecode \
 			ac_cv_path_ZCAT=zcat \
-			ac_cv_path_ZIP=zip
+			ac_cv_path_ZIP=zip \
+			ac_cv_path_NCURSES_CONFIG=${STAGING_DIR}/scripts/ncurses5-config
 
 CONFIGURE_ARGS+=	\
 			--disable-warnings \
-			--disable-nls \
 			--without-gnutls \
 			--without-socks \
 			--without-socks5 \
@@ -63,6 +61,7 @@ CONFIGURE_ARGS+=	\
 			--without-x \
 			--with-zlib=${STAGING_DIR}/usr \
 			--with-ssl=${STAGING_DIR}/usr \
+			--with-curses-dir=${STAGING_DIR}/usr \
 			--disable-full-paths \
 			--with-cfg-file=/etc/lynx.cfg \
 			--with-lss-file=/etc/lynx.lss \
@@ -77,7 +76,8 @@ CONFIGURE_ARGS+=	\
 			--disable-dired \
 			--with-screen=ncurses \
 			--disable-widec \
-			--disable-locale-charset
+			--disable-locale-charset \
+			--with-build-cppflags="-I/usr/include/ncurses"
 
 MAKE_FILE:=		makefile
 

+ 34 - 0
package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h

@@ -0,0 +1,34 @@
+--- lynx2-8-7.orig/WWW/Library/Implementation/HTUtils.h	2009-05-25 23:05:31.000000000 +0200
++++ lynx2-8-7/WWW/Library/Implementation/HTUtils.h	2010-05-29 12:56:42.125000000 +0200
+@@ -677,6 +677,8 @@ extern int WWW_TraceMask;
+ 
+ #define SHORTENED_RBIND		/* FIXME: do this in configure-script */
+ 
++#ifdef DONT_USE_SSL
++#else
+ #ifdef USE_SSL
+ 
+ #define free_func free__func
+@@ -717,6 +719,7 @@ extern int WWW_TraceMask;
+ 
+ #undef free_func
+ #endif /* USE_SSL */
++#endif
+ 
+ #ifdef HAVE_LIBDMALLOC
+ #include <dmalloc.h>		/* Gray Watson's library */
+@@ -747,11 +750,14 @@ extern "C" {
+ 
+     extern FILE *TraceFP(void);
+ 
++#ifdef DONT_USE_SSL
++#else
+ #ifdef USE_SSL
+     extern SSL *HTGetSSLHandle(void);
+     extern void HTSSLInitPRNG(void);
+     extern int HTGetSSLCharacter(void *handle);
+ #endif				/* USE_SSL */
++#endif
+ 
+ #ifdef __cplusplus
+ }

+ 0 - 17
package/lynx/patches/patch-WWW_Library_Implementation_www_tcp_h

@@ -1,17 +0,0 @@
---- lynx2-8-7.orig/WWW/Library/Implementation/www_tcp.h	2007-08-03 01:24:27.000000000 +0200
-+++ lynx2-8-7/WWW/Library/Implementation/www_tcp.h	2009-06-13 12:34:28.000000000 +0200
-@@ -777,12 +777,14 @@ Defaults
- #ifndef NO_IOCTL
- #include <sys/ioctl.h>		/* EJB */
- #endif /* !NO_IOCTL */
-+#ifndef HOSTBUILD
- #include <sys/socket.h>
- #include <netinet/in.h>
- #ifdef HAVE_ARPA_INET_H
- #include <arpa/inet.h>		/* Must be after netinet/in.h */
- #endif
- #include <netdb.h>
-+#endif
- #endif /* TCP includes */
- 
- typedef unsigned short PortNumber;

+ 0 - 15
package/lynx/patches/patch-config_hin

@@ -1,15 +0,0 @@
-This will expand to
-| #define ICONV_CONST <tabs> AM_ICONV */
-otherwise.
-
---- lynx2-8-7.orig/config.hin	2007-08-03 01:24:27.000000000 +0200
-+++ lynx2-8-7/config.hin	2009-06-13 11:46:29.000000000 +0200
-@@ -176,7 +176,7 @@
- #undef HAVE___ARGZ_COUNT	/* AM_GNU_GETTEXT */
- #undef HAVE___ARGZ_NEXT		/* AM_GNU_GETTEXT */
- #undef HAVE___ARGZ_STRINGIFY	/* AM_GNU_GETTEXT */
--#undef ICONV_CONST		/* AM_ICONV */
-+#undef ICONV_CONST
- #undef IGNORE_CTRL_C		/* FIXME: make tests? */
- #undef INCLUDE_PROTOTYPES	/* CF_SOCKS5 */
- #undef INSTALL_ARGS		/* CF_PATH_PROG(install) */

+ 0 - 236
package/lynx/patches/patch-lynx_cfg

@@ -1,236 +0,0 @@
-$Id$
-$MirOS: ports/www/lynx/patches/patch-lynx_cfg,v 1.7 2007/05/20 12:06:19 tg Exp $
-
-	mostly site policy and compatibility, usability
-
---- lynx2-8-7.orig/lynx.cfg	2007-05-18 00:53:22.000000000 +0200
-+++ lynx2-8-7/lynx.cfg	2009-06-13 11:46:29.000000000 +0200
-@@ -93,12 +93,12 @@
- #
- # Normally we expect you will connect to a remote site, e.g., the Lynx starting
- # site:
--STARTFILE:http://lynx.isc.org/
-+#STARTFILE:http://lynx.isc.org/
- #
- # As an alternative, you may want to use a local URL.  A good choice for this is
- # the user's home directory:
- .ex
--#STARTFILE:file://localhost/~/
-+STARTFILE:file://localhost/~/
- #
- # Your choice of STARTFILE should reflect your site's needs, and be a URL that
- # you can connect to reliably.  Otherwise users will become confused and think
-@@ -409,7 +409,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # values and their relationship to the locale value is not.  GNU libiconv
- # happens to give useful values, but other implementations are not guaranteed
- # to do this.
--#LOCALE_CHARSET:FALSE
-+LOCALE_CHARSET:TRUE
- 
- 
- .h2 ASSUME_CHARSET
-@@ -424,7 +424,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # ASSUME_CHARSET can also be changed via the 'o'ptions menu but will
- # not be saved as permanent value in user's .lynxrc file to avoid more chaos.
- #
--#ASSUME_CHARSET:iso-8859-1
-+ASSUME_CHARSET:utf-8
- 
- 
- .h2 ASSUMED_DOC_CHARSET_CHOICE
-@@ -552,7 +552,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # the 'o'ptions menu and save that preference in their RC file.
- # This may be a comma-separated list of languages in decreasing preference.
- #
--#PREFERRED_LANGUAGE:en
-+#PREFERRED_LANGUAGE:
- 
- 
- .h2 PREFERRED_CHARSET
-@@ -571,7 +571,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # the sending of an unacceptable response is also allowed.  See RFC 2068
- # (http://www.ics.uci.edu/pub/ietf/uri/rfc2068.txt).
- #
--#PREFERRED_CHARSET:
-+PREFERRED_CHARSET:utf-8
- 
- 
- .h2 CHARSETS_DIRECTORY
-@@ -652,22 +652,22 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # Set the threshold # of lines Lynx must render before it
- # redraws the screen in PARTIAL mode.  Anything < 0 implies
- # use of the screen size.
--#PARTIAL_THRES:-1
-+PARTIAL_THRES:3
- 
- 
- .h2 SHOW_KB_RATE
- # While getting large files, Lynx shows the approximate rate of transfer.
--# Set this to change the units shown.  "Kilobytes" denotes 1024 bytes:
-+# Set this to change the units shown.
- #	NONE to disable the display of transfer rate altogether.
--#	TRUE or KB for Kilobytes/second.
-+#	TRUE or KB for Kibibytes/second.
- #	FALSE or BYTES for bytes/second.
--#	KB,ETA to show Kilobytes/second with estimated completion time.
--#	BYTES,ETA to show BYTES/second with estimated completion time.
-+#	KB,ETA to show Kibibytes/second with estimated completion time.
-+#	BYTES,ETA to show bytes/second with estimated completion time.
- # Note that the "ETA" values are available if USE_READPROGRESS was defined.
--#SHOW_KB_RATE:TRUE
-+SHOW_KB_RATE:BYTES,ETA
- 
- .h2 SHOW_KB_NAME
--# Set the abbreviation for Kilobytes (1024).
-+# Set the abbreviation for Kibibytes (1024 Bytes).
- # Quoting from
- #	http://www.romulus2.com/articles/guides/misc/bitsbytes.shtml
- # In December 1998, the International Electrotechnical Commission (IEC)
-@@ -677,9 +677,6 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # metric prefixes and adding the first two letters of the word "binary".  Thus,
- # for instance, instead of Kilobyte (KB) or Gigabyte (GB), the new terms would
- # be kibibyte (KiB) or gibibyte (GiB).
--#
--# If you prefer using the conventional (and more common) "KB", modify this
--# setting.
- #SHOW_KB_NAME:KiB
- 
- .h1 Timeouts
-@@ -1076,7 +1073,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # default or that defined here can be toggled via the -force_secure
- # command line switch.
- #
--#FORCE_SSL_COOKIES_SECURE:FALSE
-+FORCE_SSL_COOKIES_SECURE:TRUE
- 
- 
- .h1 Internal Behavior
-@@ -1263,7 +1260,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # line break.  Note that the valid way to insert extra blank lines in HTML
- # is via a PRE block with only newlines in the block.
- #
--#COLLAPSE_BR_TAGS:TRUE
-+COLLAPSE_BR_TAGS:FALSE
- 
- 
- .h2 TAGSOUP
-@@ -1366,7 +1363,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # The default is FALSE, so that the feature needs to be enabled here
- # explicitly if you want it.
- #
--#PERSISTENT_COOKIES:FALSE
-+PERSISTENT_COOKIES:TRUE
- 
- 
- .h2 COOKIE_FILE
-@@ -1920,7 +1917,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
- # prefer the more conservative action of requiring an explicit Y or y to
- # confirm.  The default defined here will override that in userdefs.h.
- #
--#QUIT_DEFAULT_YES:TRUE
-+QUIT_DEFAULT_YES:FALSE
- 
- 
- .h1 HTML Parsing
-@@ -3208,7 +3205,7 @@ COLOR:6:brightred:black
- # otherwise. Set this setting to TRUE if you prefer numbered links, but wish
- # to get valid HTML source when printing or mailing when in psrc view.
- # Default is FALSE.
--#PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING:FALSE
-+PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING:TRUE
- 
- 
- .h1 HTML Parsing
-@@ -3241,13 +3238,11 @@ COLOR:6:brightred:black
- 
- .h2 JUSTIFY
- # JUSTIFY - Appearance
--# This option mirrors command-line option with same name.  Default is TRUE.  If
--# true, most of text (except headers and like this) will be justified.  This
--# has no influence on CJK text rendering.
--#
--# This option is only available if Lynx was compiled with EXP_JUSTIFY_ELTS.
-+# This option mirrors command-line option with same name.  Default is FALSE.
-+# If true, most of text (except headers and like this) will be justified.
-+# This has no influence on CJK text rendering.
- #
--#JUSTIFY:FALSE
-+JUSTIFY:TRUE
- 
- .h2 JUSTIFY_MAX_VOID_PERCENT
- # JUSTIFY_MAX_VOID_PERCENT - Appearance
-@@ -3275,7 +3270,7 @@ COLOR:6:brightred:black
- # explicit activation can also be requested with the -tna command line
- # option.
- #
--#TEXTFIELDS_NEED_ACTIVATION:FALSE
-+TEXTFIELDS_NEED_ACTIVATION:TRUE
- 
- .h2 LEFTARROW_IN_TEXTFIELD_PROMPT
- # LEFTARROW_IN_TEXTFIELD_PROMPT
-@@ -3285,7 +3280,7 @@ COLOR:6:brightred:black
- # only if the contents of the fields have been changed since entering it.
- # If set to TRUE, the confirmation prompt is always issued.
- #
--#LEFTARROW_IN_TEXTFIELD_PROMPT:FALSE
-+LEFTARROW_IN_TEXTFIELD_PROMPT:TRUE
- 
- 
- .h1 Timeouts
-@@ -3322,7 +3317,7 @@ COLOR:6:brightred:black
- # one lynx.cfg setting.
- .nf
- #ENABLE_LYNXRC:accept_all_cookies:ON
--#ENABLE_LYNXRC:assume_charset:OFF
-+ENABLE_LYNXRC:assume_charset:ON
- #ENABLE_LYNXRC:bookmark_file:ON
- #ENABLE_LYNXRC:case_sensitive_searching:ON
- #ENABLE_LYNXRC:character_set:ON
-@@ -3337,34 +3332,35 @@ COLOR:6:brightred:black
- #ENABLE_LYNXRC:emacs_keys:ON
- #ENABLE_LYNXRC:file_editor:ON
- #ENABLE_LYNXRC:file_sorting_method:ON
--#ENABLE_LYNXRC:force_cookie_prompt:OFF
--#ENABLE_LYNXRC:force_ssl_prompt:OFF
--#ENABLE_LYNXRC:ftp_passive:OFF
-+ENABLE_LYNXRC:force_cookie_prompt:ON
-+ENABLE_LYNXRC:force_ssl_prompt:ON
-+ENABLE_LYNXRC:ftp_passive:ON
- #ENABLE_LYNXRC:kblayout:ON
- #ENABLE_LYNXRC:keypad_mode:ON
- #ENABLE_LYNXRC:lineedit_mode:ON
- #ENABLE_LYNXRC:locale_charset:ON
--#ENABLE_LYNXRC:make_links_for_all_images:OFF
--#ENABLE_LYNXRC:make_pseudo_alts_for_inlines:OFF
-+ENABLE_LYNXRC:make_links_for_all_images:ON
-+ENABLE_LYNXRC:make_pseudo_alts_for_inlines:ON
- #ENABLE_LYNXRC:multi_bookmark:ON
- #ENABLE_LYNXRC:personal_mail_address:ON
- #ENABLE_LYNXRC:preferred_charset:ON
--#ENABLE_LYNXRC:preferred_encoding:OFF
-+ENABLE_LYNXRC:preferred_encoding:ON
- #ENABLE_LYNXRC:preferred_language:ON
--#ENABLE_LYNXRC:preferred_media_types:OFF
--#ENABLE_LYNXRC:raw_mode:OFF
-+ENABLE_LYNXRC:preferred_media_types:ON
-+ENABLE_LYNXRC:raw_mode:ON
- #ENABLE_LYNXRC:run_all_execution_links:ON
- #ENABLE_LYNXRC:run_execution_links_on_local_files:ON
--#ENABLE_LYNXRC:scrollbar:OFF
-+ENABLE_LYNXRC:scrollbar:ON
- #ENABLE_LYNXRC:select_popups:ON
--#ENABLE_LYNXRC:set_cookies:OFF
-+ENABLE_LYNXRC:set_cookies:ON
- #ENABLE_LYNXRC:show_color:ON
- #ENABLE_LYNXRC:show_cursor:ON
- #ENABLE_LYNXRC:show_dotfiles:ON
--#ENABLE_LYNXRC:show_kb_rate:OFF
-+ENABLE_LYNXRC:show_kb_name:OFF
-+ENABLE_LYNXRC:show_kb_rate:ON
- #ENABLE_LYNXRC:sub_bookmarks:ON
- #ENABLE_LYNXRC:tagsoup:OFF
--#ENABLE_LYNXRC:underline_links:OFF
-+ENABLE_LYNXRC:underline_links:ON
- #ENABLE_LYNXRC:user_mode:ON
- #ENABLE_LYNXRC:useragent:OFF
- #ENABLE_LYNXRC:verbose_images:ON

+ 0 - 22
package/lynx/patches/patch-makefile_in

@@ -1,22 +0,0 @@
-$Id$
-$MirOS: ports/www/lynx/patches/patch-makefile_in,v 1.2 2007/05/20 12:06:19 tg Exp $
---- lynx2-8-7.orig/makefile.in	2007-05-18 00:53:22.000000000 +0200
-+++ lynx2-8-7/makefile.in	2009-06-13 11:46:29.000000000 +0200
-@@ -161,13 +161,13 @@ SITE_DEFS = # Your defines here
- # for installation of local execution links, please see the file userdefs.h
- 
- WWW_CFLAGS = \
--	LY_CFLAGS="$(CFLAGS)" \
--	CPPFLAGS="$(CPPFLAGS)" \
-+	LY_CFLAGS='${CFLAGS}' \
-+	CPPFLAGS='${CPPFLAGS}' \
- 	LYFLAGS="$(SITE_LYDEFS)"
- 
- SRC_CFLAGS = \
--	CFLAGS="$(CFLAGS)" \
--	CPPFLAGS="$(CPPFLAGS)" \
-+	CFLAGS='${CFLAGS}' \
-+	CPPFLAGS='${CPPFLAGS}' \
- 	LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SITE_LIBS)" \
- 	SITE_DEFS="$(SITE_DEFS)" \
- 	WWWINC=$(WWWINC) \

+ 0 - 15
package/lynx/patches/patch-samples_lynx_lss

@@ -1,15 +0,0 @@
-$MirOS: ports/www/lynx/patches/patch-samples_lynx_lss,v 1.2 2007/05/20 12:06:19 tg Exp $
-
-	usability
-
---- lynx2-8-7.orig/samples/lynx.lss	2006-09-19 02:28:28.000000000 +0200
-+++ lynx2-8-7/samples/lynx.lss	2009-06-13 11:46:29.000000000 +0200
-@@ -6,7 +6,7 @@
- # If you really want the terminal's default colors, and if lynx is built using
- # ncurses' default-color support, remove these two lines:
- normal:		normal:			lightgray:black
--default:	normal:			white:black
-+default:	normal:			lightgray:black
- 
- # Normal type styles correspond to HTML tags.
- #

+ 0 - 15
package/lynx/patches/patch-src_LYUtils_c

@@ -1,15 +0,0 @@
-$MirOS: ports/www/lynx/patches/patch-src_LYUtils_c,v 1.3 2007/08/03 16:01:22 tg Exp $
-
-	Important for upstream too
-
---- lynx2-8-7.orig/src/LYUtils.c	2007-08-03 01:24:27.000000000 +0200
-+++ lynx2-8-7/src/LYUtils.c	2009-06-13 11:46:29.000000000 +0200
-@@ -5903,7 +5903,7 @@ static BOOL IsOurSymlink(const char *nam
- 
- 	    if (cutoff != 0) {
- 		HTSprintf0(&clone, "%.*s%s%s",
--			   cutoff - name,
-+			   (int)(cutoff - name),
- 			   name, PATHSEP_STR, buffer);
- 		FREE(buffer);
- 		buffer = clone;

+ 0 - 11
package/lynx/patches/patch-src_chrtrans_makefile_in

@@ -1,11 +0,0 @@
---- lynx2-8-7.orig/src/chrtrans/makefile.in	2007-08-03 01:24:27.000000000 +0200
-+++ lynx2-8-7/src/chrtrans/makefile.in	2009-06-13 12:29:28.000000000 +0200
-@@ -50,7 +50,7 @@ CPP_OPTS	= \
- 		-I$(top_srcdir)/$(WWWINC) \
- 		-I$(top_srcdir)/ \
- 		$(INTLDIR_CPPFLAGS) $(SITE_DEFS) $(BUILD_CPPFLAGS)
--CC_OPTS		= $(CPP_OPTS) $(BUILD_CFLAGS)
-+CC_OPTS		= $(CPP_OPTS) $(BUILD_CFLAGS) -DHOSTBUILD
- 
- #
- # This file contains the font map for the default (hardware) font

+ 16 - 5
package/lynx/patches/patch-src_chrtrans_makeuctb_c

@@ -1,11 +1,22 @@
---- lynx2-8-7.orig/src/chrtrans/makeuctb.c	2007-08-03 01:24:27.000000000 +0200
-+++ lynx2-8-7/src/chrtrans/makeuctb.c	2009-06-13 11:54:42.000000000 +0200
-@@ -31,6 +31,9 @@
+--- lynx2-8-7.orig/src/chrtrans/makeuctb.c	2009-02-02 02:41:02.000000000 +0100
++++ lynx2-8-7/src/chrtrans/makeuctb.c	2010-05-29 12:55:33.031250000 +0200
+@@ -18,6 +18,7 @@
+  *  version 2, or at your option any later version.
+  */
+ 
++
+ #ifndef HAVE_CONFIG_H
+ /* override HTUtils.h fallbacks for cross-compiling */
+ #undef HAVE_LSTAT
+@@ -28,10 +29,12 @@
+ 
+ #define DONT_USE_GETTEXT
+ #define DONT_USE_SOCKS5
++#define DONT_USE_SSL
  #include <UCDefs.h>
  #include <UCkd.h>
+ #include <LYUtils.h>
  
-+#include <stdlib.h>
-+#include <unistd.h>
 +
  /*
   *  Don't try to use LYexit() since this is a standalone file.

+ 0 - 65
package/lynx/patches/patch-userdefs_h

@@ -1,65 +0,0 @@
-$Id$
-$MirOS: ports/www/lynx/patches/patch-userdefs_h,v 1.9 2007/08/03 12:14:24 tg Exp $
---- lynx2-8-7.orig/userdefs.h	2007-08-03 01:24:27.000000000 +0200
-+++ lynx2-8-7/userdefs.h	2009-06-13 11:46:29.000000000 +0200
-@@ -461,7 +461,7 @@
-  * Normally we expect you will connect to a remote site, e.g., the Lynx starting
-  * site:
-  */
--#define STARTFILE "http://lynx.isc.org/"
-+/* #define STARTFILE "http://lynx.isc.org/" */
- /*
-  * As an alternative, you may want to use a local URL.  A good choice for this
-  * is the user's home directory:
-@@ -471,6 +471,7 @@
-  * you can connect to reliably.  Otherwise users will become confused and think
-  * that they cannot run Lynx.
-  */
-+#define STARTFILE "file://localhost/~/"
- 
- /*****************************
-  * HELPFILE must be defined as a URL and must have a
-@@ -727,7 +728,7 @@
-  * that preference in their RC file.  This may be a comma-separated list
-  * of languages in decreasing preference.
-  */
--#define PREFERRED_LANGUAGE "en"
-+#define PREFERRED_LANGUAGE ""
- 
- /*****************************
-  * PREFERRED_CHARSET specifies the character set in MIME notation (e.g.,
-@@ -802,8 +803,8 @@
-  * and use "http://" as the default (e.g., gopher.wfbr.edu or gopher.wfbr.
-  * will be made gopher://gopher.wfbr.edu).
-  */
--#define URL_DOMAIN_PREFIXES "www."
--#define URL_DOMAIN_SUFFIXES ".com,.edu,.net,.org"
-+#define URL_DOMAIN_PREFIXES ""
-+#define URL_DOMAIN_SUFFIXES ""
- 
- /********************************
-  * If LIST_NEWS_NUMBERS is set TRUE, Lynx will use an ordered list
-@@ -1371,7 +1372,9 @@
-  * the version definition with the Project Version on checkout.  Just
-  * ignore it. - kw */
- /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-+#ifndef LYNX_VERSION
- #define LYNX_VERSION "2.8.7dev.7"
-+#endif
- #define LYNX_WWW_HOME "http://lynx.isc.org/"
- #define LYNX_WWW_DIST "http://lynx.isc.org/current/"
- /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */
-@@ -1559,11 +1562,11 @@
- 
- /*****************************
-  * Uncomment the following line to enable the kanji code override routine.
-- * The code can be changed by pressing ^L.  More precisely, this allows
-+ * The code can be changed by pressing Shift-J.  More precisely, this allows
-  * the user to override the assumption about the kanji code for the document
-  * which Lynx has made on the basis of a META tag and HTTP response.
-  */
--/*#define KANJI_CODE_OVERRIDE */
-+#define KANJI_CODE_OVERRIDE
- 
- 
- /****************************************************************

+ 1 - 0
package/nss/Makefile

@@ -15,6 +15,7 @@ PKG_URL:=		http://www.mozilla.org/projects/security/pki/nss/
 PKG_SITES:=		https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_6_RTM/src/
 
 PKG_TARGET_DEPENDS:=    !foxboard
+PKG_HOST_DEPENDS:=	!cygwin
 
 WRKSRC=			${WRKDIST}/mozilla/security/nss
 

+ 8 - 2
package/pcmciautils/patches/patch-Makefile

@@ -1,6 +1,6 @@
 --- pcmciautils-017.orig/Makefile	2010-01-06 16:47:45.000000000 +0100
-+++ pcmciautils-017/Makefile	2010-05-13 14:06:30.741613760 +0200
-@@ -94,7 +94,7 @@ PWD = $(shell pwd)
++++ pcmciautils-017/Makefile	2010-05-29 17:15:03.515625000 +0200
+@@ -94,12 +94,13 @@ PWD = $(shell pwd)
  # If you are running a cross compiler, you may want to set this
  # to something more interesting, like "arm-linux-".  If you want
  # to compile vs uClibc, that can be done here as well.
@@ -9,3 +9,9 @@
  CC = $(CROSS)gcc
  LD = $(CROSS)gcc
  AR = $(CROSS)ar
+ STRIP = $(CROSS)strip
+ RANLIB = $(CROSS)ranlib
++LEX = flex
+ HOSTCC = gcc
+ 
+ export CROSS CC AR STRIP RANLIB CFLAGS LDFLAGS LIB_OBJS ARCH_LIB_OBJS CRT0

+ 3 - 1
package/pdnsd/Makefile

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		pdnsd
 PKG_VERSION:=		1.2.7
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		114b3b21b09b43cbfcccdde726b84c12
 PKG_DESCR:=		Proxy DNS server with permanent caching
 PKG_SECTION:=		net
@@ -21,6 +21,8 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,PDNSD,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+CONFIGURE_ARGS+=	--with-target=Linux
+
 post-install:
 	$(INSTALL_DIR) $(IDIR_PDNSD)/etc
 	${INSTALL_DATA} ./files/pdnsd.conf ${IDIR_PDNSD}/etc/

+ 11 - 0
package/pdnsd/patches/patch-src_Makefile_in

@@ -0,0 +1,11 @@
+--- pdnsd-1.2.7.orig/src/Makefile.in	2008-09-04 18:20:37.000000000 +0200
++++ pdnsd-1.2.7/src/Makefile.in	2010-05-29 17:45:45.937500000 +0200
+@@ -171,7 +171,7 @@ pdnsd_SOURCES = conf-parser.c conff.c co
+ 	rr_types.h servers.h status.h thread.h cache.h hash.h pdnsd_assert.h \
+ 	freebsd_netinet_ip_icmp.h
+ 
+-SUBDIRS = pdnsd-ctl rc test
++SUBDIRS = pdnsd-ctl rc
+ all: all-recursive
+ 
+ .SUFFIXES:

+ 2 - 0
package/php/Makefile

@@ -44,6 +44,8 @@ PKG_SITES:=		http://de.php.net/distributions/
 
 PKG_DESCR_FCGI:=	PHP for FastCGI usage
 
+PKG_HOST_DEPENDS:=	!cygwin
+
 # FIX PKG_DEPENDS
 
 include $(TOPDIR)/mk/package.mk

+ 29 - 0
package/pkg-config/Makefile

@@ -0,0 +1,29 @@
+# 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:=		pkg-config
+PKG_VERSION:=		0.25
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		a3270bab3f4b69b7dc6dbdacbcae9745
+PKG_DESCR:=		a helper tool used when compiling applications and libraries.
+PKG_SECTION:=		libs
+PKG_BUILDDEP+=		glib popt
+PKG_DEPENDS:=		glib libpopt
+PKG_URL:=		http://pkg-config.freedesktop.org/wiki/
+PKG_SITES:=		http://pkgconfig.freedesktop.org/releases/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PKG_CONFIG,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+=	--with-installed-glib \
+			--with-installed-popt
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_PKG_CONFIG)/usr/bin
+	$(INSTALL_BIN) $(WRKINST)/usr/bin/pkg-config \
+		$(IDIR_PKG_CONFIG)/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 25 - 1
package/pkgmaker

@@ -50,6 +50,7 @@ for dn in */Makefile; do
 
 	# PKG_NAME: package name (directory, free-format)
 	# PKG_FLAVOURS: all package flavours (boolean options), uppercase
+	# PKG_CHOICES: all package choices (boolean options), uppercase
 	# PKG_DESCR: package description (directory)
 	# PKG_URL: package homepage
 	# PKG_CXX: uppercase varname part to use for CFrustFrust checks
@@ -61,10 +62,12 @@ for dn in */Makefile; do
 	# CFLINE_*: one free-format Config.in line per subpackage option
 	# PKGFD_*: flavour description, per package flavour option
 	# PKG_{HOST,TARGET}_DEPENDS: add host or target dependencies
-	eval $($GMAKE dump="PKG_NAME PKG_FLAVOURS PKG_DESCR PKG_URL PKG_MULTI PKG_CXX \
+	eval $($GMAKE dump="PKG_NAME PKG_FLAVOURS PKG_CHOICES PKG_DESCR PKG_URL PKG_MULTI PKG_CXX \
 	    ALL_PKGOPTS \$(foreach x,\${ALL_PKGOPTS},PKGNAME_\${x} \
 	    PKGDESC_\${x} PKGDEPS_\${x} PKGDFLT_\${x} CFLINE_\${x}) \
 	    \$(foreach x,\${PKG_FLAVOURS},PKGFD_\${x}) \
+	    \$(foreach x,\${PKG_CHOICES},PKGCD_\${x}) \
+	    \$(foreach x,\${PKG_CHOICES},PKGCS_\${x}) \
 	    PKG_HOST_DEPENDS PKG_TARGET_DEPENDS")
 
 	# dnu: directory name, uppercase, y/-+/_X/
@@ -246,6 +249,27 @@ config ADK_COMPILE_${PKG_CXX}_WITH_UCLIBCXX
 	bool "uClibc++ library"
 	select ADK_PACKAGE_UCLIBCXX
 
+endchoice
+EOF
+
+	[[ -n $PKG_CHOICES ]] && cat >&4 <<EOF
+
+choice
+prompt "Package flavour choice"
+depends on ADK_COMPILE_$dnu
+EOF
+	# Handle choices
+	for pfco in $PKG_CHOICES; do
+		eval pfcd=\$PKGCD_$pfco
+		eval pfcs=\$PKGCS_$pfco
+		typeset -u pfcs=${pfcs#!}
+		print
+		print config ADK_PACKAGE_${dnu}_$pfco
+		print "\tbool \"${pfd:-$PKG_NAME -> $pfcd}\""
+		print "\\tselect ADK_PACKAGE_${pfcs}"
+	done >&4
+	[[ -n $PKG_CHOICES ]] && cat >&4 <<EOF
+
 endchoice
 EOF
 

+ 4 - 4
package/pptpd/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		pptpd
-PKG_VERSION:=		1.3.0
-PKG_RELEASE:=		9
-PKG_MD5SUM:=		75d494e881f7027f4e60b114163f6b67
+PKG_VERSION:=		1.3.4
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		b38df9c431041922c997c1148bedf591
 PKG_DESCR:=		a Point-to-Point Tunneling Protocol (PPTP) server
 PKG_SECTION:=		net
 PKG_DEPENDS:=	 	ppp kmod-crypto kmod-mppe kmod-ppp
@@ -17,7 +17,7 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,PPTPD,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-TCFLAGS+=		-DSBINDIR=\\\"/usr/sbin\\\"
+TCFLAGS+=		-fPIC -DSBINDIR='\\\"/usr/sbin\\\"'
 FAKE_FLAGS+=		INSTALL="install"
 
 post-install:

+ 0 - 20
package/pptpd/patches/bad-pqueue-debug.patch

@@ -1,20 +0,0 @@
-diff -urN pptpd-1.3.0/pqueue.c.orig pptpd-1.3.0/pqueue.c
---- pptpd-1.3.0.orig/pqueue.c	2005-03-31 06:55:53.000000000 +0200
-+++ pptpd-1.3.0/pqueue.c	2008-10-14 13:30:20.000000000 +0200
-@@ -6,14 +6,11 @@
- #include "pqueue.h"
- 
- #ifdef DEBUG_PQUEUE
--#define DEBUG_ON 1
-+#define DEBUG_CMD(_a) { _a }
- #else
--#define DEBUG_ON 0
-+#define DEBUG_CMD(_a)
- #endif
- 
--#define DEBUG_CMD(_a) if (DEBUG_ON) { _a }
--
--
- #define MIN_CAPACITY 128 /* min allocated buffer for a packet */
- 
- static int pqueue_alloc (int seq, unsigned char *packet, int packlen, pqueue_t **new);

+ 11 - 0
package/pptpd/patches/patch-Makefile_in

@@ -0,0 +1,11 @@
+--- pptpd-1.3.4.orig/Makefile.in	2007-04-16 03:10:27.000000000 +0200
++++ pptpd-1.3.4/Makefile.in	2010-06-10 10:55:01.421440719 +0200
+@@ -104,7 +104,7 @@ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+-CFLAGS = -O2 -fno-builtin -Wall -DSBINDIR='"$(sbindir)"'
++CFLAGS ?= -Wall -DSBINDIR='"$(sbindir)"'
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@

+ 5 - 6
package/pptpd/patches/patch-ctrlpacket_c

@@ -1,15 +1,14 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- pptpd-1.3.0.orig/ctrlpacket.c	2004-04-29 08:58:45.000000000 +0200
-+++ pptpd-1.3.0/ctrlpacket.c	2008-10-14 13:43:14.000000000 +0200
-@@ -376,9 +376,9 @@ void deal_start_ctrl_conn(unsigned char 
+--- pptpd-1.3.4.orig/ctrlpacket.c	2005-08-03 11:10:59.000000000 +0200
++++ pptpd-1.3.4/ctrlpacket.c	2010-06-03 14:37:05.610979335 +0200
+@@ -377,9 +377,9 @@ void deal_start_ctrl_conn(unsigned char 
  	start_ctrl_conn_rply.bearer_cap = htons(OUR_BEARER);
  	start_ctrl_conn_rply.max_channels = htons(MAX_CHANNELS);
  	start_ctrl_conn_rply.firmware_rev = htons(PPTP_FIRMWARE_VERSION);
 -	bzero(start_ctrl_conn_rply.hostname, MAX_HOSTNAME_SIZE);
 +	memset(start_ctrl_conn_rply.hostname, 0, MAX_HOSTNAME_SIZE);
- 	strncpy(start_ctrl_conn_rply.hostname, PPTP_HOSTNAME, MAX_HOSTNAME_SIZE);
+ 	strncpy((char *)start_ctrl_conn_rply.hostname, PPTP_HOSTNAME, MAX_HOSTNAME_SIZE);
 -	bzero(start_ctrl_conn_rply.vendor, MAX_VENDOR_SIZE);
 +	memset(start_ctrl_conn_rply.vendor, 0, MAX_VENDOR_SIZE);
- 	strncpy(start_ctrl_conn_rply.vendor, PPTP_VENDOR, MAX_VENDOR_SIZE);
+ 	strncpy((char *)start_ctrl_conn_rply.vendor, PPTP_VENDOR, MAX_VENDOR_SIZE);
  	COPY_CTRL_PACKET(start_ctrl_conn_rply, rply_packet, rply_size);
  	DEBUG_PACKET("START CTRL CONN RPLY");

+ 20 - 0
package/pptpd/patches/patch-plugins_Makefile

@@ -0,0 +1,20 @@
+--- pptpd-1.3.4.orig/plugins/Makefile	2006-08-03 04:02:01.000000000 +0200
++++ pptpd-1.3.4/plugins/Makefile	2010-06-03 14:39:12.120974815 +0200
+@@ -1,6 +1,6 @@
+-CC	= gcc
++CC	?= gcc
+ COPTS	= -O2 -g
+-CFLAGS	= $(COPTS) -I.. -I../../include -fPIC
++CFLAGS	?= $(COPTS) -I.. -I../../include -fPIC
+ LDFLAGS	= -shared
+ LDADD   = -lutil
+ INSTALL	= install -o root
+@@ -18,7 +18,7 @@ all:	$(PLUGINS)
+ %.so: %.c
+ 	$(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ $(LDADD)
+ 
+-LIBDIR	?= $(DESTDIR)$(prefix)/lib/pptpd
++LIBDIR	= $(DESTDIR)$(prefix)/lib/pptpd
+ 
+ install: $(PLUGINS)
+ 	$(INSTALL) -d $(LIBDIR)

+ 0 - 35
package/pptpd/patches/pptpgre-use-debug-option.patch

@@ -1,35 +0,0 @@
-diff -Nur pptpd-1.3.0/pptpgre.c.orig pptpd-1.3.0/pptpgre.c
---- pptpd-1.3.0.orig/pptpgre.c	2005-08-02 13:33:31.000000000 +0200
-+++ pptpd-1.3.0/pptpgre.c	2008-10-14 13:30:20.000000000 +0200
-@@ -46,6 +46,9 @@
- 
- #define PACKET_MAX 8196
- 
-+/* Command Line Variable Args */
-+extern int pptpctrl_debug;
-+
- typedef int (*callback_t)(int cl, void *pack, unsigned int len);
- 
- /* test for a 32 bit counter overflow */
-@@ -319,7 +322,9 @@ static int dequeue_gre (callback_t callb
- 			stats.rx_lost += head->seq - gre.seq_recv - 1;
- 			syslog(LOG_DEBUG, "GRE: timeout waiting for %d packets", head->seq - gre.seq_recv - 1);        
- 		}
--		syslog(LOG_DEBUG, "GRE: accepting #%d from queue", head->seq);
-+		if (pptpctrl_debug) {
-+			syslog(LOG_DEBUG, "GRE: accepting #%d from queue", head->seq);
-+		}
- 		gre.seq_recv = head->seq;
- 		status = callback(cl, head->packet, head->packlen);
- 		pqueue_del(head);
-@@ -399,7 +404,9 @@ int decaps_gre(int fd, int (*cb) (int cl
- 		}
- 		/* check for out-of-order sequence number */
- 		if (seq_greater(seq, gre.seq_recv)) {
--			syslog(LOG_DEBUG, "GRE: accepting packet #%d", seq);
-+			if (pptpctrl_debug) {
-+				syslog(LOG_DEBUG, "GRE: accepting packet #%d", seq);
-+			}
- 			stats.rx_accepted++;
- 			gre.seq_recv = seq;
- 			return cb(cl, buffer + ip_len + headersize, payload_len);

+ 2 - 2
package/proftpd/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		proftpd
-PKG_VERSION:=		1.3.2b
+PKG_VERSION:=		1.3.3
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		4918908fcae9e591ba84c66edff73410
+PKG_MD5SUM:=		97ad29f31f4fe633a9f8d021bab2df20
 PKG_DESCR:=		An advanced and very configurable FTP server
 PKG_SECTION:=		utils
 PKG_NOPARALLEL:=	1

+ 4 - 4
package/proftpd/patches/patch-Make_rules_in

@@ -1,7 +1,7 @@
 	do not try to set user or group id when installing
---- proftpd-1.3.2b.orig/Make.rules.in	2008-11-19 04:51:38.000000000 +0100
-+++ proftpd-1.3.2b/Make.rules.in	2010-01-27 23:00:19.000000000 +0100
-@@ -29,9 +29,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@
+--- proftpd-1.3.3.orig/Make.rules.in	2009-11-18 22:48:25.000000000 +0100
++++ proftpd-1.3.3/Make.rules.in	2010-05-30 12:47:38.265625000 +0200
+@@ -28,9 +28,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@
  INSTALL=@INSTALL@
  INSTALL_USER=@install_user@
  INSTALL_GROUP=@install_group@
@@ -13,4 +13,4 @@
 +INSTALL_MAN=$(INSTALL) -m 0644
  
  RM=rm -f
- SHELL=/bin/sh
+ SHELL=@CONFIG_SHELL@

+ 6 - 6
package/proftpd/patches/patch-Makefile_in

@@ -1,15 +1,15 @@
 	hiding it won't help, we install as non-root so no chown possible
---- proftpd-1.3.2b.orig/Makefile.in	2008-11-19 04:51:38.000000000 +0100
-+++ proftpd-1.3.2b/Makefile.in	2010-01-20 18:03:40.552178286 +0100
-@@ -76,7 +76,6 @@ check: proftpd$(EXEEXT)
- $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(rundir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
+--- proftpd-1.3.3.orig/Makefile.in	2009-12-16 00:24:42.000000000 +0100
++++ proftpd-1.3.3/Makefile.in	2010-05-30 12:47:41.187500000 +0200
+@@ -79,7 +79,6 @@ check: proftpd$(EXEEXT)
+ $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
  	@if [ ! -d $@ ]; then \
  		mkdir -p $@; \
 -		chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
  		chmod 0755 $@; \
  	fi
  
-@@ -86,7 +85,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
+@@ -89,7 +88,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
  		rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
  	fi
  	ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
@@ -17,7 +17,7 @@
  
  install-libs: $(DESTDIR)$(libdir)/proftpd
  	cd lib/ && $(MAKE) install
-@@ -121,11 +119,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
+@@ -125,11 +123,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
  	$(INSTALL_SBIN) ftpshut  $(DESTDIR)$(sbindir)/ftpshut
  	$(INSTALL_BIN)  ftptop   $(DESTDIR)$(bindir)/ftptop
  	$(INSTALL_BIN)  ftpwho   $(DESTDIR)$(bindir)/ftpwho

+ 29 - 0
package/proftpd/patches/patch-modules_mod_auth_unix_c

@@ -0,0 +1,29 @@
+--- proftpd-1.3.3.orig/modules/mod_auth_unix.c	2009-10-14 20:49:31.000000000 +0200
++++ proftpd-1.3.3/modules/mod_auth_unix.c	2010-05-30 13:02:15.515625000 +0200
+@@ -77,6 +77,7 @@
+ # endif
+ #endif /* PR_USE_SIA */
+ 
++/*
+ #ifdef CYGWIN
+ typedef void *HANDLE;
+ typedef unsigned long DWORD;
+@@ -85,7 +86,8 @@ typedef unsigned long DWORD;
+ DWORD WINAPI GetVersion(void);
+ extern HANDLE cygwin_logon_user (const struct passwd *, const char *);
+ extern void cygwin_set_impersonation_token (const HANDLE);
+-#endif /* CYGWIN */
++#endif 
++*/
+ 
+ #ifdef SETGRENT_VOID
+ # define RETSETGRENTTYPE	void
+@@ -738,7 +740,7 @@ MODRET pw_check(cmd_rec *cmd) {
+ 
+ #else /* !PR_USE_SIA */
+ 
+-# ifdef CYGWIN
++# if 0
+   /* We have to do special Windows NT voodoo with Cygwin in order to be
+    * able to switch UID/GID. More info at
+    * http://cygwin.com/cygwin-ug-net/ntsec.html#NTSEC-SETUID

+ 1 - 1
package/python/Makefile

@@ -12,7 +12,7 @@ PKG_SECTION:=		lang
 PKG_URL:=		http://www.python.org
 PKG_SITES:=		http://www.python.org/ftp/python/3.1.1/
 
-PKG_HOST_DEPENDS:=	!netbsd !openbsd
+PKG_HOST_DEPENDS:=	!netbsd !openbsd !cygwin
 
 DISTFILES=		Python-${PKG_VERSION}.tgz
 WRKDIST=		${WRKDIR}/Python-${PKG_VERSION}

+ 2 - 1
package/rxvt-unicode/Makefile

@@ -21,7 +21,8 @@ include $(TOPDIR)/mk/package.mk
 $(eval $(call PKG_template,RXVT_UNICODE,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 CONFIGURE_ARGS+=	--disable-perl \
-			--disable-utmp
+			--disable-utmp \
+			--disable-afterimage
 
 post-install:
 	$(INSTALL_DIR) $(IDIR_RXVT_UNICODE)/usr/bin

+ 0 - 32
package/swconfig/Makefile

@@ -1,32 +0,0 @@
-# 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:=		swconfig
-PKG_VERSION:=		1.0
-PKG_RELEASE:=		1
-PKG_DESCR:=		switch configuration utility
-PKG_SECTION:=		misc
-PKG_DEPENDS:=		libnl
-PKG_BUILDDEP+=		libnl
-
-PKG_TARGET_CONFIG:=	rb433
-
-NO_DISTFILES:=		1
-
-include ${TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,SWCONFIG,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:=		manual
-INSTALL_STYLE:=		manual
-
-XAKE_FLAGS:=		LIBS="-lnl -lm" CFLAGS="$(TARGET_CFLAGS) \
-			-I$(LINUX_DIR)/include"
-
-do-install:
-	${INSTALL_DIR} ${IDIR_SWCONFIG}/sbin
-	${INSTALL_BIN} ${WRKBUILD}/swconfig ${IDIR_SWCONFIG}/sbin/
-
-include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 12
package/swconfig/src/Makefile

@@ -1,12 +0,0 @@
-ifndef CFLAGS
-CFLAGS = -O2 -g -I ../src
-endif
-LIBS=-lnl
-
-all: swconfig
-
-%.o: %.c
-	$(CC) $(CFLAGS) -c -o $@ $^
-
-swconfig: cli.o swlib.o
-	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

+ 0 - 255
package/swconfig/src/cli.c

@@ -1,255 +0,0 @@
-/*
- * swconfig.c: Switch configuration utility
- *
- * Copyright (C) 2008 Felix Fietkau <nbd@openwrt.org>
- *
- * 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 Foundatio.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <inttypes.h>
-#include <errno.h>
-#include <stdint.h>
-#include <getopt.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-#include <linux/genetlink.h>
-#include <netlink/netlink.h>
-#include <netlink/genl/genl.h>
-#include <netlink/genl/ctrl.h>
-#include <linux/switch.h>
-#include "swlib.h"
-
-#define GET		1
-#define SET		2
-
-void print_attrs(struct switch_attr *attr)
-{
-	int i = 0;
-	while (attr) {
-		const char *type;
-		switch(attr->type) {
-			case SWITCH_TYPE_INT:
-				type = "int";
-				break;
-			case SWITCH_TYPE_STRING:
-				type = "string";
-				break;
-			case SWITCH_TYPE_PORTS:
-				type = "ports";
-				break;
-			case SWITCH_TYPE_NOVAL:
-				type = "none";
-				break;
-			default:
-				type = "unknown";
-				break;
-		}
-		printf("\tAttribute %d (%s): %s (%s)\n", ++i, type, attr->name, attr->description);
-		attr = attr->next;
-	}
-}
-
-void list_attributes(struct switch_dev *dev)
-{
-	printf("Switch %d: %s(%s), ports: %d, vlans: %d\n", dev->id, dev->dev_name, dev->name, dev->ports, dev->vlans);
-	printf("     --switch\n");
-	print_attrs(dev->ops);
-	printf("     --vlan\n");
-	print_attrs(dev->vlan_ops);
-	printf("     --port\n");
-	print_attrs(dev->port_ops);
-}
-
-void print_usage(void)
-{
-	printf("swconfig dev <dev> [port <port>|vlan <vlan>] (help|set <key> <value>|get <key>)\n");
-	exit(0);
-}
-
-int main(int argc, char **argv)
-{
-	int retval = 0;
-	struct switch_dev *dev;
-	struct switch_attr *a;
-	struct switch_val val;
-	int err;
-	int i;
-
-	struct switch_port *ports;
-
-	int cmd = 0;
-	char *cdev = NULL;
-	int cport = -1;
-	int cvlan = -1;
-	char *ckey = NULL;
-	char *cvalue = NULL;
-	int chelp = 0;
-
-	if(argc < 4)
-		print_usage();
-
-	if(strcmp(argv[1], "dev"))
-		print_usage();
-
-	cdev = argv[2];
-
-	for(i = 3; i < argc; i++)
-	{
-		int p;
-		if(!strcmp(argv[i], "help"))
-		{
-			chelp = 1;
-			continue;
-		}
-		if(i + 1 >= argc)
-			print_usage();
-		p = atoi(argv[i + 1]);
-		if(!strcmp(argv[i], "port"))
-		{
-			cport = p;
-		} else if(!strcmp(argv[i], "vlan"))
-		{
-			cvlan = p;
-		} else if(!strcmp(argv[i], "set"))
-		{
-			if(argc <= i + 1)
-				print_usage();
-			cmd = SET;
-			ckey = argv[i + 1];
-			if (argc > i + 2)
-				cvalue = argv[i + 2];
-			else
-				cvalue = NULL;
-			i++;
-		} else if(!strcmp(argv[i], "get"))
-		{
-			cmd = GET;
-			ckey = argv[i + 1];
-		} else{
-			print_usage();
-		}
-		i++;
-	}
-
-	if(cport > -1 && cvlan > -1)
-		print_usage();
-
-	dev = swlib_connect(cdev);
-	if (!dev) {
-		fprintf(stderr, "Failed to connect to the switch\n");
-		return 1;
-	}
-
-	ports = malloc(sizeof(struct switch_port) * dev->ports);
-	memset(ports, 0, sizeof(struct switch_port) * dev->ports);
-	swlib_scan(dev);
-
-	if(chelp)
-	{
-		list_attributes(dev);
-		goto out;
-	}
-
-	if(cport > -1)
-		a = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_PORT, ckey);
-	else if(cvlan > -1)
-		a = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_VLAN, ckey);
-	else
-		a = swlib_lookup_attr(dev, SWLIB_ATTR_GROUP_GLOBAL, ckey);
-
-	if(!a)
-	{
-		fprintf(stderr, "Unknown attribute \"%s\"\n", ckey);
-		goto out;
-	}
-
-	switch(cmd)
-	{
-	case SET:
-		if ((a->type != SWITCH_TYPE_NOVAL) &&
-				(cvalue == NULL))
-			print_usage();
-
-		switch(a->type) {
-		case SWITCH_TYPE_INT:
-			val.value.i = atoi(cvalue);
-			break;
-		case SWITCH_TYPE_STRING:
-			val.value.s = cvalue;
-			break;
-		case SWITCH_TYPE_PORTS:
-			val.len = 0;
-			while(cvalue && *cvalue)
-			{
-				ports[val.len].flags = 0;
-				ports[val.len].id = strtol(cvalue, &cvalue, 10);
-				while(*cvalue && !isspace(*cvalue)) {
-					if (*cvalue == 't')
-						ports[val.len].flags |= SWLIB_PORT_FLAG_TAGGED;
-					cvalue++;
-				}
-				if (*cvalue)
-					cvalue++;
-				val.len++;
-			}
-			val.value.ports = ports;
-			break;
-		default:
-			break;
-		}
-		if(cvlan > -1)
-			val.port_vlan = cvlan;
-		if(cport > -1)
-			val.port_vlan = cport;
-		if(swlib_set_attr(dev, a, &val) < 0)
-		{
-			fprintf(stderr, "failed\n");
-			retval = -1;
-			goto out;
-		}
-		break;
-	case GET:
-		if(cvlan > -1)
-			val.port_vlan = cvlan;
-		if(cport > -1)
-			val.port_vlan = cport;
-		if(swlib_get_attr(dev, a, &val) < 0)
-		{
-			fprintf(stderr, "failed\n");
-			retval = -1;
-			goto out;
-		}
-		switch(a->type) {
-		case SWITCH_TYPE_INT:
-			printf("%d\n", val.value.i);
-			break;
-		case SWITCH_TYPE_STRING:
-			printf("%s\n", val.value.s);
-			break;
-		case SWITCH_TYPE_PORTS:
-			for(i = 0; i < val.len; i++)
-				printf("%d ", val.value.ports[i]);
-			printf("\n");
-			break;
-		}
-	}
-
-out:
-	swlib_free_all(dev);
-	free(ports);
-
-	return 0;
-}

+ 0 - 614
package/swconfig/src/swlib.c

@@ -1,614 +0,0 @@
-/*
- * swlib.c: Switch configuration API (user space part)
- *
- * Copyright (C) 2008 Felix Fietkau <nbd@openwrt.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <inttypes.h>
-#include <errno.h>
-#include <stdint.h>
-#include <getopt.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <linux/switch.h>
-#include "swlib.h"
-
-//#define DEBUG 1
-#ifdef DEBUG
-#define DPRINTF(fmt, ...) fprintf(stderr, "%s(%d): " fmt, __func__, __LINE__, ##__VA_ARGS__)
-#else
-#define DPRINTF(fmt, ...) do {} while (0)
-#endif
-
-static struct nl_handle *handle;
-static struct nl_cache *cache;
-static struct genl_family *family;
-static struct nlattr *tb[SWITCH_ATTR_MAX];
-static int refcount = 0;
-
-static struct nla_policy port_policy[] = {
-	[SWITCH_PORT_ID] = { .type = NLA_U32 },
-	[SWITCH_PORT_FLAG_TAGGED] = { .type = NLA_FLAG },
-};
-
-static inline void *
-swlib_alloc(size_t size)
-{
-	void *ptr;
-
-	ptr = malloc(size);
-	if (!ptr)
-		goto done;
-	memset(ptr, 0, size);
-
-done:
-	return ptr;
-}
-
-static int
-wait_handler(struct nl_msg *msg, void *arg)
-{
-	int *finished = arg;
-
-	*finished = 1;
-	return NL_STOP;
-}
-
-/* helper function for performing netlink requests */
-static int
-swlib_call(int cmd, int (*call)(struct nl_msg *, void *),
-		int (*data)(struct nl_msg *, void *), void *arg)
-{
-	struct nl_msg *msg;
-	struct nl_cb *cb = NULL;
-	int finished;
-	int flags = 0;
-	int err;
-
-	msg = nlmsg_alloc();
-	if (!msg) {
-		fprintf(stderr, "Out of memory!\n");
-		exit(1);
-	}
-
-	if (!data)
-		flags |= NLM_F_DUMP;
-
-	genlmsg_put(msg, NL_AUTO_PID, NL_AUTO_SEQ, genl_family_get_id(family), 0, flags, cmd, 0);
-	if (data) {
-		if (data(msg, arg) < 0)
-			goto nla_put_failure;
-	}
-
-	cb = nl_cb_alloc(NL_CB_CUSTOM);
-	if (!cb) {
-		fprintf(stderr, "nl_cb_alloc failed.\n");
-		exit(1);
-	}
-
-	err = nl_send_auto_complete(handle, msg);
-	if (err < 0) {
-		fprintf(stderr, "nl_send_auto_complete failed: %d\n", err);
-		goto out;
-	}
-
-	finished = 0;
-
-	if (call)
-		nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, call, arg);
-
-	if (data)
-		nl_cb_set(cb, NL_CB_ACK, NL_CB_CUSTOM, wait_handler, &finished);
-	else
-		nl_cb_set(cb, NL_CB_FINISH, NL_CB_CUSTOM, wait_handler, &finished);
-
-	err = nl_recvmsgs(handle, cb);
-	if (err < 0) {
-		goto out;
-	}
-
-	if (!finished)
-		err = nl_wait_for_ack(handle);
-
-out:
-	if (cb)
-		nl_cb_put(cb);
-nla_put_failure:
-	nlmsg_free(msg);
-	return err;
-}
-
-static int
-send_attr(struct nl_msg *msg, void *arg)
-{
-	struct switch_val *val = arg;
-	struct switch_attr *attr = val->attr;
-
-	NLA_PUT_U32(msg, SWITCH_ATTR_ID, attr->dev->id);
-	NLA_PUT_U32(msg, SWITCH_ATTR_OP_ID, attr->id);
-	switch(attr->atype) {
-	case SWLIB_ATTR_GROUP_PORT:
-		NLA_PUT_U32(msg, SWITCH_ATTR_OP_PORT, val->port_vlan);
-		break;
-	case SWLIB_ATTR_GROUP_VLAN:
-		NLA_PUT_U32(msg, SWITCH_ATTR_OP_VLAN, val->port_vlan);
-		break;
-	default:
-		break;
-	}
-
-	return 0;
-
-nla_put_failure:
-	return -1;
-}
-
-static int
-store_port_val(struct nl_msg *msg, struct nlattr *nla, struct switch_val *val)
-{
-	struct nlattr *p;
-	int ports = val->attr->dev->ports;
-	int err = 0;
-	int remaining;
-
-	if (!val->value.ports)
-		val->value.ports = malloc(sizeof(struct switch_port) * ports);
-
-	nla_for_each_nested(p, nla, remaining) {
-		struct nlattr *tb[SWITCH_PORT_ATTR_MAX+1];
-		struct switch_port *port;
-
-		if (val->len >= ports)
-			break;
-
-		err = nla_parse_nested(tb, SWITCH_PORT_ATTR_MAX, p, port_policy);
-		if (err < 0)
-			goto out;
-
-		if (!tb[SWITCH_PORT_ID])
-			continue;
-
-		port = &val->value.ports[val->len];
-		port->id = nla_get_u32(tb[SWITCH_PORT_ID]);
-		port->flags = 0;
-		if (tb[SWITCH_PORT_FLAG_TAGGED])
-			port->flags |= SWLIB_PORT_FLAG_TAGGED;
-
-		val->len++;
-	}
-
-out:
-	return err;
-}
-
-static int
-store_val(struct nl_msg *msg, void *arg)
-{
-	struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
-	struct switch_val *val = arg;
-	struct switch_attr *attr = val->attr;
-
-	if (!val)
-		goto error;
-
-	if (nla_parse(tb, SWITCH_ATTR_MAX - 1, genlmsg_attrdata(gnlh, 0),
-			genlmsg_attrlen(gnlh, 0), NULL) < 0) {
-		goto error;
-	}
-
-	if (tb[SWITCH_ATTR_OP_VALUE_INT])
-		val->value.i = nla_get_u32(tb[SWITCH_ATTR_OP_VALUE_INT]);
-	else if (tb[SWITCH_ATTR_OP_VALUE_STR])
-		val->value.s = strdup(nla_get_string(tb[SWITCH_ATTR_OP_VALUE_STR]));
-	else if (tb[SWITCH_ATTR_OP_VALUE_PORTS])
-		val->err = store_port_val(msg, tb[SWITCH_ATTR_OP_VALUE_PORTS], val);
-
-	val->err = 0;
-	return 0;
-
-error:
-	return NL_SKIP;
-}
-
-int
-swlib_get_attr(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val)
-{
-	int cmd;
-	int err;
-
-	switch(attr->atype) {
-	case SWLIB_ATTR_GROUP_GLOBAL:
-		cmd = SWITCH_CMD_GET_GLOBAL;
-		break;
-	case SWLIB_ATTR_GROUP_PORT:
-		cmd = SWITCH_CMD_GET_PORT;
-		break;
-	case SWLIB_ATTR_GROUP_VLAN:
-		cmd = SWITCH_CMD_GET_VLAN;
-		break;
-	default:
-		return -EINVAL;
-	}
-
-	memset(&val->value, 0, sizeof(val->value));
-	val->len = 0;
-	val->attr = attr;
-	val->err = -EINVAL;
-	err = swlib_call(cmd, store_val, send_attr, val);
-	if (!err)
-		err = val->err;
-
-	return err;
-}
-
-static int
-send_attr_ports(struct nl_msg *msg, struct switch_val *val)
-{
-	struct nlattr *n;
-	int i;
-
-	/* TODO implement multipart? */
-	if (val->len == 0)
-		goto done;
-	n = nla_nest_start(msg, SWITCH_ATTR_OP_VALUE_PORTS);
-	if (!n)
-		goto nla_put_failure;
-	for (i = 0; i < val->len; i++) {
-		struct switch_port *port = &val->value.ports[i];
-		struct nlattr *np;
-
-		np = nla_nest_start(msg, SWITCH_ATTR_PORT);
-		if (!np)
-			goto nla_put_failure;
-
-		NLA_PUT_U32(msg, SWITCH_PORT_ID, port->id);
-		if (port->flags & SWLIB_PORT_FLAG_TAGGED)
-			NLA_PUT_FLAG(msg, SWITCH_PORT_FLAG_TAGGED);
-
-		nla_nest_end(msg, np);
-	}
-	nla_nest_end(msg, n);
-done:
-	return 0;
-
-nla_put_failure:
-	return -1;
-}
-
-static int
-send_attr_val(struct nl_msg *msg, void *arg)
-{
-	struct switch_val *val = arg;
-	struct switch_attr *attr = val->attr;
-
-	if (send_attr(msg, arg))
-		goto nla_put_failure;
-
-	switch(attr->type) {
-	case SWITCH_TYPE_NOVAL:
-		break;
-	case SWITCH_TYPE_INT:
-		NLA_PUT_U32(msg, SWITCH_ATTR_OP_VALUE_INT, val->value.i);
-		break;
-	case SWITCH_TYPE_STRING:
-		if (!val->value.s)
-			goto nla_put_failure;
-		NLA_PUT_STRING(msg, SWITCH_ATTR_OP_VALUE_STR, val->value.s);
-		break;
-	case SWITCH_TYPE_PORTS:
-		if (send_attr_ports(msg, val) < 0)
-			goto nla_put_failure;
-		break;
-	default:
-		goto nla_put_failure;
-	}
-	return 0;
-
-nla_put_failure:
-	return -1;
-}
-
-int
-swlib_set_attr(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val)
-{
-	int cmd;
-
-	switch(attr->atype) {
-	case SWLIB_ATTR_GROUP_GLOBAL:
-		cmd = SWITCH_CMD_SET_GLOBAL;
-		break;
-	case SWLIB_ATTR_GROUP_PORT:
-		cmd = SWITCH_CMD_SET_PORT;
-		break;
-	case SWLIB_ATTR_GROUP_VLAN:
-		cmd = SWITCH_CMD_SET_VLAN;
-		break;
-	default:
-		return -EINVAL;
-	}
-
-	val->attr = attr;
-	return swlib_call(cmd, NULL, send_attr_val, val);
-}
-
-
-struct attrlist_arg {
-	int id;
-	int atype;
-	struct switch_dev *dev;
-	struct switch_attr *prev;
-	struct switch_attr **head;
-};
-
-static int
-add_id(struct nl_msg *msg, void *arg)
-{
-	struct attrlist_arg *l = arg;
-
-	NLA_PUT_U32(msg, SWITCH_ATTR_ID, l->id);
-
-	return 0;
-nla_put_failure:
-	return -1;
-}
-
-static int
-add_attr(struct nl_msg *msg, void *ptr)
-{
-	struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
-	struct attrlist_arg *arg = ptr;
-	struct switch_attr *new;
-
-	if (nla_parse(tb, SWITCH_ATTR_MAX - 1, genlmsg_attrdata(gnlh, 0),
-			genlmsg_attrlen(gnlh, 0), NULL) < 0)
-		goto done;
-
-	new = swlib_alloc(sizeof(struct switch_attr));
-	if (!new)
-		goto done;
-
-	new->dev = arg->dev;
-	new->atype = arg->atype;
-	if (arg->prev) {
-		arg->prev->next = new;
-	} else {
-		arg->prev = *arg->head;
-	}
-	*arg->head = new;
-	arg->head = &new->next;
-
-	if (tb[SWITCH_ATTR_OP_ID])
-		new->id = nla_get_u32(tb[SWITCH_ATTR_OP_ID]);
-	if (tb[SWITCH_ATTR_OP_TYPE])
-		new->type = nla_get_u32(tb[SWITCH_ATTR_OP_TYPE]);
-	if (tb[SWITCH_ATTR_OP_NAME])
-		new->name = strdup(nla_get_string(tb[SWITCH_ATTR_OP_NAME]));
-	if (tb[SWITCH_ATTR_OP_DESCRIPTION])
-		new->description = strdup(nla_get_string(tb[SWITCH_ATTR_OP_DESCRIPTION]));
-
-done:
-	return NL_SKIP;
-}
-
-int
-swlib_scan(struct switch_dev *dev)
-{
-	struct attrlist_arg arg;
-
-	if (dev->ops || dev->port_ops || dev->vlan_ops)
-		return 0;
-
-	arg.atype = SWLIB_ATTR_GROUP_GLOBAL;
-	arg.dev = dev;
-	arg.id = dev->id;
-	arg.prev = NULL;
-	arg.head = &dev->ops;
-	swlib_call(SWITCH_CMD_LIST_GLOBAL, add_attr, add_id, &arg);
-
-	arg.atype = SWLIB_ATTR_GROUP_PORT;
-	arg.prev = NULL;
-	arg.head = &dev->port_ops;
-	swlib_call(SWITCH_CMD_LIST_PORT, add_attr, add_id, &arg);
-
-	arg.atype = SWLIB_ATTR_GROUP_VLAN;
-	arg.prev = NULL;
-	arg.head = &dev->vlan_ops;
-	swlib_call(SWITCH_CMD_LIST_VLAN, add_attr, add_id, &arg);
-
-	return 0;
-}
-
-struct switch_attr *swlib_lookup_attr(struct switch_dev *dev,
-		enum swlib_attr_group atype, const char *name)
-{
-	struct switch_attr *head;
-
-	if (!name || !dev)
-		return NULL;
-
-	switch(atype) {
-	case SWLIB_ATTR_GROUP_GLOBAL:
-		head = dev->ops;
-		break;
-	case SWLIB_ATTR_GROUP_PORT:
-		head = dev->port_ops;
-		break;
-	case SWLIB_ATTR_GROUP_VLAN:
-		head = dev->vlan_ops;
-		break;
-	}
-	while(head) {
-		if (!strcmp(name, head->name))
-			return head;
-		head = head->next;
-	}
-
-	return NULL;
-}
-
-static void
-swlib_priv_free(void)
-{
-	if (cache)
-		nl_cache_free(cache);
-	if (handle)
-		nl_handle_destroy(handle);
-	handle = NULL;
-	cache = NULL;
-}
-
-static int
-swlib_priv_init(void)
-{
-	handle = nl_handle_alloc();
-	if (!handle) {
-		DPRINTF("Failed to create handle\n");
-		goto err;
-	}
-
-	if (genl_connect(handle)) {
-		DPRINTF("Failed to connect to generic netlink\n");
-		goto err;
-	}
-
-	cache = genl_ctrl_alloc_cache(handle);
-	if (!cache) {
-		DPRINTF("Failed to allocate netlink cache\n");
-		goto err;
-	}
-
-	family = genl_ctrl_search_by_name(cache, "switch");
-	if (!family) {
-		DPRINTF("Switch API not present\n");
-		goto err;
-	}
-	return 0;
-
-err:
-	swlib_priv_free();
-	return -EINVAL;
-}
-
-struct swlib_scan_arg {
-	const char *name;
-	struct switch_dev *head;
-	struct switch_dev *ptr;
-};
-
-static int
-add_switch(struct nl_msg *msg, void *arg)
-{
-	struct swlib_scan_arg *sa = arg;
-	struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
-	struct switch_dev *dev;
-	const char *name;
-
-	if (nla_parse(tb, SWITCH_ATTR_MAX, genlmsg_attrdata(gnlh, 0), genlmsg_attrlen(gnlh, 0), NULL) < 0)
-		goto done;
-
-	if (!tb[SWITCH_ATTR_DEV_NAME])
-		goto done;
-
-	name = nla_get_string(tb[SWITCH_ATTR_DEV_NAME]);
-	if (sa->name && (strcmp(name, sa->name) != 0))
-		goto done;
-
-	dev = swlib_alloc(sizeof(struct switch_dev));
-	if (!dev)
-		goto done;
-
-	dev->dev_name = strdup(name);
-	if (tb[SWITCH_ATTR_ID])
-		dev->id = nla_get_u32(tb[SWITCH_ATTR_ID]);
-	if (tb[SWITCH_ATTR_NAME])
-		dev->name = strdup(nla_get_string(tb[SWITCH_ATTR_DEV_NAME]));
-	if (tb[SWITCH_ATTR_PORTS])
-		dev->ports = nla_get_u32(tb[SWITCH_ATTR_PORTS]);
-	if (tb[SWITCH_ATTR_VLANS])
-		dev->vlans = nla_get_u32(tb[SWITCH_ATTR_VLANS]);
-
-	if (!sa->head) {
-		sa->head = dev;
-		sa->ptr = dev;
-	} else {
-		sa->ptr->next = dev;
-		sa->ptr = dev;
-	}
-
-	refcount++;
-done:
-	return NL_SKIP;
-}
-
-
-struct switch_dev *
-swlib_connect(const char *name)
-{
-	struct swlib_scan_arg arg;
-	int err;
-
-	if (!refcount) {
-		if (swlib_priv_init() < 0)
-			return NULL;
-	};
-
-	arg.head = NULL;
-	arg.ptr = NULL;
-	arg.name = name;
-	swlib_call(SWITCH_CMD_GET_SWITCH, add_switch, NULL, &arg);
-
-	if (!refcount)
-		swlib_priv_free();
-
-	return arg.head;
-}
-
-static void
-swlib_free_attributes(struct switch_attr **head)
-{
-	struct switch_attr *a = *head;
-	struct switch_attr *next;
-
-	while (a) {
-		next = a->next;
-		free(a);
-		a = next;
-	}
-	*head = NULL;
-}
-
-void
-swlib_free(struct switch_dev *dev)
-{
-	swlib_free_attributes(&dev->ops);
-	swlib_free_attributes(&dev->port_ops);
-	swlib_free_attributes(&dev->vlan_ops);
-	free(dev);
-
-	if (--refcount == 0)
-		swlib_priv_free();
-}
-
-void
-swlib_free_all(struct switch_dev *dev)
-{
-	struct switch_dev *p;
-
-	while (dev) {
-		p = dev->next;
-		swlib_free(dev);
-		dev = p;
-	}
-}

+ 0 - 213
package/swconfig/src/swlib.h

@@ -1,213 +0,0 @@
-/*
- * swlib.h: Switch configuration API (user space part)
- *
- * Copyright (C) 2008 Felix Fietkau <nbd@openwrt.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
-
-Usage of the library functions:
-
-  The main datastructure for a switch is the struct switch_device
-  To get started, you first need to use switch_connect() to probe
-  for switches and allocate an instance of this struct.
-
-  There are two possible usage modes:
-    dev = switch_connect("eth0");
-      - this call will look for a switch registered for the linux device
-  	  "eth0" and only allocate a switch_device for this particular switch.
-
-    dev = switch_connect(NULL)
-      - this will return one switch_device struct for each available
-  	  switch. The switch_device structs are chained with by ->next pointer
-
-  Then to query a switch for all available attributes, use:
-    swlib_scan(dev);
-
-  All allocated datastructures for the switch_device struct can be freed with
-    swlib_free(dev);
-  or
-    swlib_free_all(dev);
-
-  The latter traverses a whole chain of switch_device structs and frees them all
-
-  Switch attributes (struct switch_attr) are divided into three groups:
-    dev->ops:
-      - global settings
-    dev->port_ops:
-      - per-port settings
-    dev->vlan_ops:
-      - per-vlan settings
-
-  switch_lookup_attr() is a small helper function to locate attributes
-  by name.
-
-  switch_set_attr() and switch_get_attr() can alter or request the values
-  of attributes.
-
-Usage of the switch_attr struct:
-
-  ->atype: attribute group, one of:
-    - SWLIB_ATTR_GROUP_GLOBAL
-    - SWLIB_ATTR_GROUP_VLAN
-    - SWLIB_ATTR_GROUP_PORT
-
-  ->id: identifier for the attribute
-
-  ->type: data type, one of:
-    - SWITCH_TYPE_INT
-    - SWITCH_TYPE_STRING
-    - SWITCH_TYPE_PORT
-
-  ->name: short name of the attribute
-  ->description: longer description
-  ->next: pointer to the next attribute of the current group
-
-
-Usage of the switch_val struct:
-
-  When setting attributes, following members of the struct switch_val need
-  to be set up:
-
-    ->len (for attr->type == SWITCH_TYPE_PORT)
-    ->port_vlan:
-      - port number (for attr->atype == SWLIB_ATTR_GROUP_PORT), or:
-      - vlan number (for attr->atype == SWLIB_ATTR_GROUP_VLAN)
-    ->value.i (for attr->type == SWITCH_TYPE_INT)
-    ->value.s (for attr->type == SWITCH_TYPE_STRING)
-      - owned by the caller, not stored in the library internally
-    ->value.ports (for attr->type == SWITCH_TYPE_PORT)
-      - must point to an array of at lest val->len * sizeof(struct switch_port)
-
-  When getting string attributes, val->value.s must be freed by the caller
-  When getting port list attributes, an internal static buffer is used,
-  which changes from call to call.
-
- */
-
-#ifndef __SWLIB_H
-#define __SWLIB_H
-
-enum swlib_attr_group {
-	SWLIB_ATTR_GROUP_GLOBAL,
-	SWLIB_ATTR_GROUP_VLAN,
-	SWLIB_ATTR_GROUP_PORT,
-};
-
-enum swlib_port_flags {
-	SWLIB_PORT_FLAG_TAGGED = (1 << 0),
-};
-
-
-struct switch_dev;
-struct switch_attr;
-struct switch_port;
-struct switch_val;
-
-struct switch_dev {
-	int id;
-	const char *name;
-	const char *dev_name;
-	int ports;
-	int vlans;
-	struct switch_attr *ops;
-	struct switch_attr *port_ops;
-	struct switch_attr *vlan_ops;
-	struct switch_dev *next;
-	void *priv;
-};
-
-struct switch_val {
-	struct switch_attr *attr;
-	int len;
-	int err;
-	int port_vlan;
-	union {
-		const char *s;
-		int i;
-		struct switch_port *ports;
-	} value;
-};
-
-struct switch_attr {
-	struct switch_dev *dev;
-	int atype;
-	int id;
-	int type;
-	const char *name;
-	const char *description;
-	struct switch_attr *next;
-};
-
-struct switch_port {
-	unsigned int id;
-	unsigned int flags;
-};
-
-/**
- * swlib_connect: connect to the switch through netlink
- * @name: name of the ethernet interface,
- *
- * if name is NULL, it connect and builds a chain of all switches
- */
-struct switch_dev *swlib_connect(const char *name);
-
-/**
- * swlib_free: free all dynamically allocated data for the switch connection
- * @dev: switch device struct
- *
- * all members of a switch device chain (generated by swlib_connect(NULL))
- * must be freed individually
- */
-void swlib_free(struct switch_dev *dev);
-
-/**
- * swlib_free_all: run swlib_free on all devices in the chain
- * @dev: switch device struct
- */
-void swlib_free_all(struct switch_dev *dev);
-
-/**
- * swlib_scan: probe the switch driver for available commands/attributes
- * @dev: switch device struct
- */
-int swlib_scan(struct switch_dev *dev);
-
-/**
- * swlib_lookup_attr: look up a switch attribute
- * @dev: switch device struct
- * @type: global, port or vlan
- * @name: name of the attribute
- */
-struct switch_attr *swlib_lookup_attr(struct switch_dev *dev,
-		enum swlib_attr_group atype, const char *name);
-
-/**
- * swlib_set_attr: set the value for an attribute
- * @dev: switch device struct
- * @attr: switch attribute struct
- * @val: attribute value pointer
- * returns 0 on success
- */
-int swlib_set_attr(struct switch_dev *dev, struct switch_attr *attr,
-		struct switch_val *val);
-
-/**
- * swlib_get_attr: get the value for an attribute
- * @dev: switch device struct
- * @attr: switch attribute struct
- * @val: attribute value pointer
- * returns 0 on success
- * for string attributes, the result string must be freed by the caller
- */
-int swlib_get_attr(struct switch_dev *dev, struct switch_attr *attr,
-		struct switch_val *val);
-
-#endif

+ 29 - 0
package/twm/Makefile

@@ -0,0 +1,29 @@
+# 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:=		twm
+PKG_VERSION:=		1.0.4
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		109979bd39d48bd761e7939b30006a48
+PKG_DESCR:=		X.Org twm application
+PKG_SECTION:=		x11
+PKG_DEPENDS:=		xorg-server
+PKG_BUILDDEP+=		xorg-server
+PKG_URL:=		http://xorg.freedesktop.org
+PKG_SITES:=		http://xorg.freedesktop.org/archive/individual/app/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,TWM,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_TWM)/usr/bin
+	$(INSTALL_BIN) $(WRKINST)/usr/bin/twm \
+		$(IDIR_TWM)/usr/bin/
+	${INSTALL_DIR} ${IDIR_TWM}/usr/share/X11/twm
+	${INSTALL_DATA} ${WRKINST}/usr/share/X11/twm/system.twmrc \
+		${IDIR_TWM}/usr/share/X11/twm/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 4 - 0
package/util-linux-ng/Makefile

@@ -19,6 +19,7 @@ PKG_DESCR_SWAP:=	Swap space management utilities
 PKG_DEPENDS_SWAP:=	libblkid
 PKG_DESCR_LOOP:=	Loop devices setup and control utility
 PKG_DEPENDS_LOOP:=	kmod-blk-dev-loop
+PKG_DESCR_MCOOKIE:=	Generate magic cookies for xauth
 
 include ${TOPDIR}/mk/package.mk
 
@@ -26,6 +27,7 @@ $(eval $(call PKG_template,FDISK,fdisk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN
 $(eval $(call PKG_template,SFDISK,sfdisk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_SFDISK},${PKG_SECTION}))
 $(eval $(call PKG_template,SWAP_UTILS,swap-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_SWAP},${PKG_DESCR_SWAP},${PKG_SECTION}))
 $(eval $(call PKG_template,LOSETUP,losetup,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_LOOP},${PKG_DESCR_LOOP},${PKG_SECTION}))
+$(eval $(call PKG_template,MCOOKIE,mcookie,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_MCOOKIE},${PKG_SECTION}))
 
 CONFIGURE_ARGS+=	--disable-use-tty-group \
 			--disable-schedutils \
@@ -46,5 +48,7 @@ post-install:
 	${INSTALL_DIR} ${IDIR_SWAP_UTILS}/usr/sbin
 	${CP} ${WRKINST}/sbin/mkswap ${IDIR_SWAP_UTILS}/usr/sbin/
 	${CP} ${WRKINST}/sbin/swap{on,off} ${IDIR_SWAP_UTILS}/usr/sbin/
+	${INSTALL_DIR} ${IDIR_MCOOKIE}/usr/bin
+	${INSTALL_BIN} ${WRKINST}/usr/bin/mcookie ${IDIR_MCOOKIE}/usr/bin/
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 15 - 4
package/wpa_supplicant/Makefile

@@ -4,19 +4,27 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		wpa_supplicant
-PKG_VERSION:=		0.7.1
+PKG_VERSION:=		0.7.2
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		02c475f949e5c131856915bbb87fa55d
+PKG_MD5SUM:=		0e2cb7e4c35667351d8b7ec28c783e6a
 PKG_DESCR:=		WPA Supplicant with support for WPA and WPA2
 PKG_SECTION:=		net
-ifeq (${ADK_COMPILE_WPA_SUPPLICANT_WITH_OPENSSL},y)
-PKG_DEPENDS:=		libopenssl
+ifeq (${ADK_PACKAGE_WPA_SUPPLICANT_WITH_OPENSSL},y)
 PKG_BUILDDEP+=		openssl
 endif
+ifeq (${ADK_PACKAGE_WPA_SUPPLICANT_WITH_GNUTLS},y)
+PKG_BUILDDEP+=		gnutls
+endif
 PKG_SITES:=		http://hostap.epitest.fi/releases/
 
 WRKSRC=			${WRKDIST}/${PKG_NAME}
 
+PKG_CHOICES:=		WITH_OPENSSL WITH_GNUTLS
+PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
+PKGCS_WITH_OPENSSL:=	libopenssl
+PKGCD_WITH_GNUTLS:=	use GnuTLS for crypto
+PKGCS_WITH_GNUTLS:=	libgnutls
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,WPA_SUPPLICANT,wpa-supplicant,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -31,6 +39,9 @@ MAKE_FLAGS+=		CPPFLAGS='${TCPPFLAGS}' \
 
 do-configure:
 	${CP} files/config ${WRKBUILD}/.config
+ifneq (${ADK_PACKAGE_WPA_SUPPLICANT_WITH_GNUTLS},)
+	${SED} "s#openssl#gnutls#" ${WRKBUILD}/.config
+endif
 
 do-install:
 	${INSTALL_DIR} ${IDIR_WPA_SUPPLICANT}/usr/sbin

+ 4 - 1
package/wpa_supplicant/files/config

@@ -1,8 +1,11 @@
 # rather important
 CONFIG_DRIVER_NL80211=y
-CONFIG_IEEE8021X_EAPOL=y
+CONFIG_DRIVER_WEXT=y
+#CONFIG_IEEE8021X_EAPOL=y
 CONFIG_CTRL_IFACE=y
 
 # default
 CONFIG_EAP_PSK=y
 CONFIG_EAP_MD5=y
+# tls implementation
+CONFIG_TLS=openssl

+ 182 - 0
package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch

@@ -0,0 +1,182 @@
+diff -ur orig/src/smi_video.c mod/src/smi_video.c
+--- xf86-video-siliconmotion-1.7.3.orig/src/smi_video.c	2009-07-27 05:42:44.000000000 +0200
++++ xf86-video-siliconmotion-1.7.3/src/smi_video.c	2010-06-03 16:55:59.169793245 +0200
+@@ -276,6 +276,7 @@ static XF86ImageRec SMI_VideoImages[] =
+     XVIMAGE_YUY2,
+     XVIMAGE_YV12,
+     XVIMAGE_I420,
++    XVIMAGE_UYVY,
+     {
+ 	FOURCC_RV15,			/* id				*/
+ 	XvRGB,				/* type				*/
+@@ -1103,7 +1104,7 @@ SMI_PutVideo(
+ 	vpr00 |= 0x0010000E;
+     } else {
+ 	/*
+-	  Bit 21     = 10: Vertical Interpolation                   = enabled
++	  Bit 21     = 1: Vertical Interpolation                   = enabled
+ 	  Bit 24     = 1: Select Video Window I Source Addr        = 1
+ 	  1= Video window I source addr = capture port buffer ?
+ 	*/
+@@ -1464,6 +1465,117 @@ SMI_QueryBestSize(
+     LEAVE();
+ }
+ 
++static void myXVCopyYUV12ToPacked(const unsigned char *srcy, const unsigned char *srcv, const unsigned char *srcu,
++		unsigned char *dst, int srcPitchy, int srcPitchuv, int dstPitch, int h, int w)
++{
++	int i, j;
++	unsigned char const *y, *u, *v;
++	int dstinc, yinc, uinc, vinc;
++
++	y = srcy;
++	u = srcu;
++	v = srcv;
++
++	dstinc = dstPitch - 2*w;
++	yinc = srcPitchy - w;
++	uinc = srcPitchuv - w/2;
++	vinc = srcPitchuv - w/2;
++
++	for (i = 0; i < h; i++) {
++		asm (
++//			".set arch=loongson2f\n\t"
++			".set noreorder\n\t"
++			"move $8, %8 \n\t"
++			"1: \n\t"
++			"beqz $8, 2f \n\t"
++			"xor $f0, $f0, $f0 \n\t"
++			"ldc1 $f4, (%0) \n\t"
++			"punpcklbh $f2, $f4, $f0 \n\t"
++			"punpckhbh $f4, $f4, $f0 \n\t"
++			"ldc1 $f16, 8(%0) \n\t"
++			"punpcklbh $f14, $f16, $f0 \n\t"
++			"punpckhbh $f16, $f16, $f0 \n\t"
++			
++			"lwc1 $f8, (%1) \n\t"
++			"lwc1 $f12, (%2) \n\t"
++			"punpcklbh $f8, $f8, $f12 \n\t"
++			"punpcklbh $f6, $f0, $f8 \n\t"
++			"punpckhbh $f8, $f0, $f8 \n\t"
++			"lwc1 $f18, 4(%1) \n\t"
++			"lwc1 $f12, 4(%2) \n\t"
++			"punpcklbh $f18, $f18, $f12 \n\t"
++			"punpcklbh $f10, $f0, $f18 \n\t"
++			"punpckhbh $f12, $f0, $f18 \n\t"
++
++			"or $f2, $f2, $f6 \n\t"
++			"or $f4, $f4, $f8 \n\t"
++			"or $f14, $f14, $f10 \n\t"
++			"or $f16, $f16, $f12 \n\t"
++
++			"sdc1 $f2, (%3) \n\t"
++			"sdc1 $f4, 8(%3) \n\t"
++			"add %0, 16 \n\t"
++			"add %1, 8 \n\t"
++			"add %2, 8 \n\t"
++			"sdc1 $f14, 0x10(%3) \n\t"
++			"sdc1 $f16, 0x18(%3) \n\t"
++			"add $8, -1 \n\t"
++			"b 1b \n\t"
++			"add %3, 32 \n\t"
++			"2: \n\t"
++			".set reorder\n\t"
++			: "=r" (y), "=r" (u), "=r" (v), "=r" (dst)
++			: "0" (y), "1" (u), "2" (v), "3" (dst), "r" (w>>4)
++			: "memory","$8"
++		);
++
++		asm (
++//			".set arch=loongson2f\n\t"
++			".set noreorder\n\t"
++			"move $8, %8 \n\t"
++			"1: \n\t"
++			"beqz $8, 2f \n\t"
++			"xor $f0, $f0, $f0 \n\t"
++			"ldc1 $f4, (%0) \n\t"
++			"punpcklbh $f2, $f4, $f0 \n\t"
++			"punpckhbh $f4, $f4, $f0 \n\t"
++			
++			"lwc1 $f8, (%1) \n\t"
++			"lwc1 $f12, (%2) \n\t"
++			"punpcklbh $f8, $f8, $f12 \n\t"
++			"punpcklbh $f6, $f0, $f8 \n\t"
++			"punpckhbh $f8, $f0, $f8 \n\t"
++
++			"or $f2, $f2, $f6 \n\t"
++			"or $f4, $f4, $f8 \n\t"
++
++			"sdc1 $f2, (%3) \n\t"
++			"sdc1 $f4, 8(%3) \n\t"
++			"add %0, 8 \n\t"
++			"add %1, 4 \n\t"
++			"add %2, 4 \n\t"
++			"add $8, -1 \n\t"
++			"b 1b \n\t"
++			"add %3, 16 \n\t"
++			"2:\n\t"
++			".set reorder\n\t"
++			: "=r" (y), "=r" (u), "=r" (v), "=r" (dst)
++			: "0" (y), "1" (u), "2" (v), "3" (dst), "r" ((w&0xf)/8)
++			: "memory","$8"
++		);
++
++		for (j = (w&7)/2; j; j--) {
++			*dst++ = *y++;
++			*dst++ = *u++;
++			*dst++ = *y++;
++			*dst++ = *v++;
++		}
++		y += yinc;
++		u = (i%2) ? (u + uinc): (u - w/2);
++		v = (i%2) ? (v + vinc): (v - w/2);
++		dst += dstinc;
++	}
++}
+ 
+ static int
+ SMI_PutImage(
+@@ -1592,7 +1704,7 @@ SMI_PutImage(
+ 		offset3 = tmp;
+ 	    }
+ 	    nLines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top;
+-	    xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), 
++	    myXVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), 
+ 				    buf + offset2, buf + offset3, dstStart,
+ 				    srcPitch, srcPitch2, dstPitch, nLines,
+ 				    nPixels);
+@@ -1747,7 +1859,7 @@ SMI_DisplayVideo(
+ {
+     SMIPtr pSmi = SMIPTR(pScrn);
+     CARD32 vpr00;
+-    int hstretch, vstretch;
++    uint_least32_t hstretch, vstretch;
+ 
+     ENTER();
+ 
+@@ -1774,13 +1886,13 @@ SMI_DisplayVideo(
+     }
+ 
+     if (drw_w > vid_w) {
+-	hstretch = (2560 * vid_w / drw_w + 5) / 10;
++	hstretch = ((uint_least32_t)(vid_w - 1) << 16) / (drw_w - 1);
+     } else {
+ 	hstretch = 0;
+     }
+ 
+     if (drw_h > vid_h) {
+-	vstretch = (2560 * vid_h / drw_h + 5) / 10;
++	vstretch = ((uint_least32_t)(vid_h - 1) << 16) / (drw_h - 1);
+ 	vpr00 |= 1 << 21;
+     } else {
+ 	vstretch = 0;
+@@ -1791,7 +1903,8 @@ SMI_DisplayVideo(
+     WRITE_VPR(pSmi, 0x18, (dstBox->x2) | (dstBox->y2 << 16));
+     WRITE_VPR(pSmi, 0x1C, offset >> 3);
+     WRITE_VPR(pSmi, 0x20, (pitch >> 3) | ((pitch >> 3) << 16));
+-    WRITE_VPR(pSmi, 0x24, (hstretch << 8) | vstretch);
++    WRITE_VPR(pSmi, 0x24, (hstretch & 0xff00) | ((vstretch & 0xff00) >> 8));
++    WRITE_VPR(pSmi, 0x68, ((hstretch & 0xff) << 8) | (vstretch & 0xff));
+ 
+     LEAVE();
+ }

+ 29 - 0
package/xinit/Makefile

@@ -0,0 +1,29 @@
+# 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:=		xinit
+PKG_VERSION:=		1.2.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		7ad82221ebd6600a8d33712ec3b62efb
+PKG_DESCR:=		X Window System initializer
+PKG_SECTION:=		x11
+PKG_DEPENDS:=		xorg-server mcookie
+PKG_BUILDDEP+=		xorg-server
+PKG_URL:=		http://xorg.freedesktop.org
+PKG_SITES:=		http://xorg.freedesktop.org/archive/individual/app/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XINIT,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_XINIT)/usr/bin
+	$(INSTALL_BIN) $(WRKINST)/usr/bin/{xinit,startx} \
+		$(IDIR_XINIT)/usr/bin/
+	${INSTALL_DIR} ${IDIR_XINIT}/usr/lib/X11/xinit
+	${INSTALL_DATA} ${WRKINST}/usr/lib/X11/xinit/xinitrc \
+		${IDIR_XINIT}/usr/lib/X11/xinit/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 5 - 1
package/xorg-server/Makefile

@@ -43,9 +43,9 @@ CONFIGURE_ARGS+=	\
 			--enable-xv \
 			--enable-xaa \
 			--enable-vgahw \
+			--enable-dpms \
 			--disable-aiglx \
 			--disable-config-hal \
-			--disable-dpms \
 			--disable-glx \
 			--disable-xace \
 			--disable-xephyr \
@@ -70,6 +70,10 @@ else
 CONFIGURE_ARGS+=	--disable-dri --disable-dri2
 endif
 
+ifeq (${ADK_LINUX_MIPS64_LEMOTE},y)
+CONFIGURE_ARGS+=	--with-int10=stub
+endif
+
 post-install:
 	$(INSTALL_DIR) $(IDIR_XORG_SERVER)/etc/X11
 	$(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/bin

+ 13 - 0
package/xorg-server/patches/patch-fb_fb_h

@@ -0,0 +1,13 @@
+	Fix for xf86-video-siliconmotion in 16bpp with XAA, see:
+	http://groups.google.com/group/loongson-dev/browse_thread/thread/570549e3d7894fef/5f04b3d9370adfd2
+--- xorg-server-1.7.6.orig/fb/fb.h	2010-03-12 05:38:21.000000000 +0100
++++ xorg-server-1.7.6/fb/fb.h	2010-06-03 15:34:35.903809488 +0200
+@@ -75,7 +75,7 @@
+ #define FBPREFIX(x) fb##x
+ #define WRITE(ptr, val) (*(ptr) = (val))
+ #define READ(ptr) (*(ptr))
+-#define MEMCPY_WRAPPED(dst, src, size) memcpy((dst), (src), (size))
++#define MEMCPY_WRAPPED(dst, src, size) memmove((dst), (src), (size))
+ #define MEMSET_WRAPPED(dst, val, size) memset((dst), (val), (size))
+ 
+ #endif

+ 55 - 0
package/xorg-server/patches/patch-hw_xfree86_common_compiler_h

@@ -0,0 +1,55 @@
+	Caller side code changes regarding memory mapped IO. This patch applies
+	for mips architectures and is used by xf86-video-siliconmotion.
+--- xorg-server-1.7.6.orig/hw/xfree86/common/compiler.h	2010-03-12 05:38:22.000000000 +0100
++++ xorg-server-1.7.6/hw/xfree86/common/compiler.h	2010-06-05 09:43:12.531809482 +0200
+@@ -713,42 +713,43 @@ xf86WriteMmio32LeNB(__volatile__ void *b
+ #     define PORT_SIZE short
+ #    endif
+ 
+-_X_EXPORT unsigned int IOPortBase;  /* Memory mapped I/O port area */
++_X_EXPORT volatile unsigned char *ioBase;  /* Memory mapped I/O port area */
++
+ 
+ static __inline__ void
+ outb(unsigned PORT_SIZE port, unsigned char val)
+ {
+-	*(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val;
++	*(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+ioBase) = val;
+ }
+ 
+ static __inline__ void
+ outw(unsigned PORT_SIZE port, unsigned short val)
+ {
+-	*(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val;
++	*(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+ioBase) = val;
+ }
+ 
+ static __inline__ void
+ outl(unsigned PORT_SIZE port, unsigned int val)
+ {
+-	*(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val;
++	*(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+ioBase) = val;
+ }
+ 
+ static __inline__ unsigned int
+ inb(unsigned PORT_SIZE port)
+ {
+-	return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase);
++	return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+ioBase);
+ }
+ 
+ static __inline__ unsigned int
+ inw(unsigned PORT_SIZE port)
+ {
+-	return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase);
++	return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+ioBase);
+ }
+ 
+ static __inline__ unsigned int
+ inl(unsigned PORT_SIZE port)
+ {
+-	return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase);
++	return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+ioBase);
+ }
+ 
+ 

+ 46 - 26
package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c

@@ -1,15 +1,17 @@
+	Enable the ioBase mapping code for mips, too. This is needed by
+	xf86-video-siliconmotion.
 --- xorg-server-1.7.6.orig/hw/xfree86/os-support/linux/lnx_video.c	2010-03-12 05:38:22.000000000 +0100
-+++ xorg-server-1.7.6/hw/xfree86/os-support/linux/lnx_video.c	2010-05-14 19:06:06.873473002 +0200
-@@ -64,6 +64,8 @@ static Bool ExtendedEnabled = FALSE;
-       !defined(__mips__) && \
-       !defined(__arm__)
++++ xorg-server-1.7.6/hw/xfree86/os-support/linux/lnx_video.c	2010-06-05 21:46:29.659792653 +0200
+@@ -485,7 +485,7 @@ unmapVidMem(int ScreenNum, pointer Base,
+ /* I/O Permissions section                                                 */
+ /***************************************************************************/
  
-+#include "compiler.h"
-+
- /*
-  * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
-  * these.
-@@ -497,7 +499,7 @@ volatile unsigned char *ioBase = NULL;
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ volatile unsigned char *ioBase = NULL;
+ 
+ #ifndef __NR_pciconfig_iobase
+@@ -497,7 +497,7 @@ volatile unsigned char *ioBase = NULL;
  Bool
  xf86EnableIO(void)
  {
@@ -18,24 +20,42 @@
  	int fd;
  	unsigned int ioBase_phys;
  #endif
-@@ -524,6 +526,20 @@ xf86EnableIO(void)
+@@ -505,8 +505,12 @@ xf86EnableIO(void)
+ 	if (ExtendedEnabled)
+ 		return TRUE;
+ 
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
++#ifdef __powerpc__
+ 	ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0);
++#else
++	ioBase_phys = 0x1fd00000;
++#endif
+ 
+ 	fd = open("/dev/mem", O_RDWR);
+ 	if (ioBase == NULL) {
+@@ -522,9 +526,10 @@ xf86EnableIO(void)
+ 		    return FALSE;
+ 		}
  #endif
++		xf86Msg(X_INFO,"%s: ioBase 0x%lx\n", (unsigned long)ioBase);
  	}
  	close(fd);
-+#elif defined(__mips__)
-+	fd = open("/dev/mem", O_RDWR);
-+	IOPortBase = (volatile unsigned char *)mmap(0, 0x20000,
-+			PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x1fd00000);
-+	if (IOPortBase == MAP_FAILED) {
-+		xf86Msg(X_WARNING,
-+			"xf86EnableIOPorts: Failed to map iobase (%s)\n",
-+			strerror(errno));
-+		return FALSE;
-+	}
-+	close(fd);
-+	xf86Msg(X_WARNING,
-+		"xf86EnableIOPorts: map iobase (%x)\n",
-+		IOPortBase);
- #elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__)
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__)
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__)
          if (ioperm(0, 1024, 1) || iopl(3)) {
                  if (errno == ENODEV)
+                         ErrorF("xf86EnableIOPorts: no I/O ports found\n");
+@@ -548,10 +553,10 @@ xf86DisableIO(void)
+ {
+ 	if (!ExtendedEnabled)
+ 		return;
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ 	munmap(ioBase, 0x20000);
+ 	ioBase = NULL;
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__)
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__)
+ 	iopl(0);
+ 	ioperm(0, 1024, 0);
+ #endif

+ 11 - 3
scripts/scan-tools.sh

@@ -56,6 +56,12 @@ OpenBSD)
 	# although some packages' autoconf scripts may
 	# not properly recognise OpenBSD
 	;;
+Darwin*)
+	echo "Building OpenADK on $os needs a case-sensitive disk partition."
+	echo "For Snow Leopard and above you can use diskutil to resize your existing disk."
+	echo "For older versions you might consider to use a disk image"
+	echo "Example: sudo diskutil resizeVolume disk0s2 90G 1 jhfsx adk 30G"
+	;;
 *)
 	# unsupported
 	echo "Building OpenADK on $os is currently unsupported."
@@ -105,9 +111,11 @@ fi
 
 if ! (tar --version | grep GNU) >/dev/null 2>&1;then
 	if ! which gtar >/dev/null 2>&1; then
-		echo You must install GNU tar to continue.
-		echo
-		out=1
+		if ! which gnutar >/dev/null 2>&1; then
+			echo You must install GNU tar to continue.
+			echo
+			out=1
+		fi
 	fi
 fi
 

+ 4 - 0
scripts/tar

@@ -3,11 +3,15 @@
 # material, please see the LICENCE file in the top-level directory.
 
 if [ -z "$(which gtar 2>/dev/null)" ];then
+  if [ -z "$(which gnutar 2>/dev/null)" ];then
 	if [ -x /usr/bin/tar ];then
 		/usr/bin/tar "$@"
 	else
 		/bin/tar "$@"
 	fi
+  else
+	gnutar "$@"
+  fi
 else
 	gtar "$@"
 fi

+ 27 - 0
target/Config.in

@@ -11,6 +11,9 @@ config ADK_TARGET_WITH_USB
 config ADK_TARGET_WITH_PCI
 	bool
 
+config ADK_TARGET_WITH_SSB
+	bool
+
 config ADK_TARGET_WITH_MINIPCI
 	bool
 
@@ -146,6 +149,9 @@ config ADK_mips_rescue
 config ADK_mipsel_rescue
 	tristate
 
+config ADK_brcm
+	tristate
+
 config ADK_ag241
 	tristate
 
@@ -161,6 +167,7 @@ config ADK_TARGET
 	default "alix2d"  if ADK_alix2d
 	default "alix2d13"  if ADK_alix2d13
 	default "wrap"  if ADK_wrap
+	default "brcm"  if ADK_brcm
 	default "toolchain-arm"  if ADK_arm_toolchain
 	default "toolchain-armel"  if ADK_armel_toolchain
 	default "toolchain-mips"  if ADK_mips_toolchain
@@ -266,6 +273,7 @@ config ADK_LINUX_MIPS64_LEMOTE
 	select ADK_lemote
 	select ADK_LINUX_64
 	select ADK_KERNEL_USB
+	select ADK_KERNEL_NLS
 	select ADK_KERNEL_EXT2_FS
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_ATA
@@ -282,6 +290,7 @@ config ADK_LINUX_MIPS64_LEMOTE
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_RTC
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
+	select ADK_KPACKAGE_KMOD_MAC80211
 	help
 	  Lemote Subnotebook.
 	  http://www.lemote.com/english/index.html
@@ -323,6 +332,18 @@ config ADK_LINUX_MIPS_AG241
 	  (Texas Instruments AR7 platform)
 	  Status: stable
 
+config ADK_LINUX_MIPS_BRCM
+	bool "Broadcom BCM47xx based routers"
+	select ADK_TARGET_WITH_SSB
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_MII
+	select ADK_brcm
+	help
+	  Broadcom bcm47xx based router.
+	  Status: development
+
 config ADK_LINUX_XSCALE_ZAURUS
 	bool "Zaurus SL-C3200"
 	select ADK_zaurus
@@ -614,6 +635,7 @@ config ADK_LINUX_X86_ALIX1C
 	bool "PC Engines Alix1C"
 	select ADK_alix1c
 	select ADK_KERNEL_USB
+	select ADK_KERNEL_NLS
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_ATA
 	select ADK_KERNEL_BLK_DEV_SD
@@ -635,6 +657,8 @@ config ADK_LINUX_X86_ALIX1C
 config ADK_LINUX_X86_ALIX2D
 	bool "PC Engines Alix2D"
 	select ADK_alix2d
+	select ADK_KERNEL_USB
+	select ADK_KERNEL_NLS
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_ATA
 	select ADK_KERNEL_BLK_DEV_SD
@@ -656,6 +680,8 @@ config ADK_LINUX_X86_ALIX2D
 config ADK_LINUX_X86_ALIX2D13
 	bool "PC Engines Alix2D13"
 	select ADK_alix2d13
+	select ADK_KERNEL_USB
+	select ADK_KERNEL_NLS
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_ATA
 	select ADK_KERNEL_BLK_DEV_SD
@@ -877,6 +903,7 @@ config ADK_TARGET_ROOTFS_NFSROOT
 		ADK_LINUX_X86_ALIX2D || \
 		ADK_LINUX_X86_ALIX2D13 || \
 		ADK_LINUX_X86_WRAP || \
+		ADK_LINUX_MIPS_BRCM || \
 		ADK_LINUX_MIPS_RB532 || \
 		ADK_LINUX_MIPS_RB4XX || \
 		ADK_LINUX_MIPS_WAG54G || \

+ 32 - 0
target/brcm/Makefile

@@ -0,0 +1,32 @@
+# 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
+include $(TOPDIR)/mk/kernel.mk
+include $(TOPDIR)/mk/modules.mk
+include $(TOPDIR)/mk/kernel-build.mk
+include $(TOPDIR)/mk/image.mk
+
+OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
+
+$(TOOLS_BUILD_DIR):
+	@mkdir -p $(TOOLS_BUILD_DIR)
+
+tools-compile: $(TOOLS_BUILD_DIR)
+	$(MAKE) -C tools/trx
+
+kernel-install: tools-compile
+	$(TARGET_CROSS)objcopy $(OSTRIP) -S $(LINUX_DIR)/vmlinux \
+		$(LINUX_DIR)/vmlinuz
+	@gzip -c9 $(LINUX_DIR)/vmlinuz > \
+		$(BIN_DIR)/${ADK_TARGET}-${FS}-kernel
+
+ifeq ($(FS),nfsroot)
+imageinstall: $(BIN_DIR)/$(ROOTFSUSERTARBALL)
+	@echo
+	@echo 'The kernel file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
+	@echo 'The nfs root tarball is: ${BIN_DIR}/${ROOTFSUSERTARBALL}'
+	@echo 'Type following on the CFE prompt to boot the kernel:'
+	@echo 'CFE> boot -z -elf -tftp 192.168.1.254:${ADK_TARGET}-${FS}-kernel'
+	@echo 'Login as user root with password linux123 via ssh or console.'
+endif

+ 11 - 0
target/brcm/files/etc/mdev.conf

@@ -0,0 +1,11 @@
+rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc
+tun 0:0 660 >net/tun
+device-mapper 0:0 660 @mkdir /dev/mapper
+null 0:0 777
+zero 0:0 666
+u?random 0:0 644
+console 0:0 0600
+ptmx 0:0 666
+tty 0:0 666
+ttyS* 0:0 640
+.* 0:0 644 @/lib/mdev/init

+ 1065 - 0
target/brcm/kernel.config

@@ -0,0 +1,1065 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Thu Jun  3 22:53:49 2010
+#
+CONFIG_MIPS=y
+
+#
+# Machine selection
+#
+# CONFIG_MACH_ALCHEMY is not set
+# CONFIG_AR7 is not set
+CONFIG_BCM47XX=y
+# CONFIG_BCM63XX is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_LASAT is not set
+# CONFIG_MACH_LOONGSON is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_NEC_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_NXP_STB220 is not set
+# CONFIG_NXP_STB225 is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_MSP is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_POWERTV is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP28 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_MACH_TX39XX is not set
+# CONFIG_MACH_TX49XX is not set
+# CONFIG_MIKROTIK_RB532 is not set
+# CONFIG_WR_PPMC is not set
+# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
+# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
+# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
+CONFIG_LOONGSON_UART_BASE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_CEVT_R4K_LIB=y
+CONFIG_CEVT_R4K=y
+CONFIG_CSRC_R4K_LIB=y
+CONFIG_CSRC_R4K=y
+CONFIG_CFE=y
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_SYS_HAS_EARLY_PRINTK=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_GPIO=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# CPU selection
+#
+# CONFIG_CPU_LOONGSON2E is not set
+# CONFIG_CPU_LOONGSON2F is not set
+CONFIG_CPU_MIPS32_R1=y
+# CONFIG_CPU_MIPS32_R2 is not set
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_R3000 is not set
+# CONFIG_CPU_TX39XX is not set
+# CONFIG_CPU_VR41XX is not set
+# CONFIG_CPU_R4300 is not set
+# CONFIG_CPU_R4X00 is not set
+# CONFIG_CPU_TX49XX is not set
+# CONFIG_CPU_R5000 is not set
+# CONFIG_CPU_R5432 is not set
+# CONFIG_CPU_R5500 is not set
+# CONFIG_CPU_R6000 is not set
+# CONFIG_CPU_NEVADA is not set
+# CONFIG_CPU_R8000 is not set
+# CONFIG_CPU_R10000 is not set
+# CONFIG_CPU_RM7000 is not set
+# CONFIG_CPU_RM9000 is not set
+# CONFIG_CPU_SB1 is not set
+# CONFIG_CPU_CAVIUM_OCTEON is not set
+CONFIG_SYS_HAS_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_HARDWARE_WATCHPOINTS=y
+
+#
+# Kernel type
+#
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_32KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_48 is not set
+CONFIG_HZ_100=y
+# CONFIG_HZ_128 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_HZ=100
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_KEXEC is not set
+# CONFIG_SECCOMP is not set
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_PCSPKR_PLATFORM is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+
+#
+# Kernel Performance Events And Counters
+#
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_PCI_QUIRKS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=1
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBDAF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
+#
+CONFIG_HW_HAS_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+CONFIG_MMU=y
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
+
+#
+# Power management options
+#
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_PM is not set
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_FW_LOADER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_ROOTFS_ROOT_DEV=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_KSZ884X_PCI is not set
+CONFIG_B44=y
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+# CONFIG_FORCEDETH is not set
+# CONFIG_TC35815 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R6040 is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SMSC9420 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_SC92031 is not set
+# CONFIG_ATL2 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_DEVKMEM is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+# CONFIG_I2C is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+CONFIG_BCM47XX_WDT=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=y
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+# CONFIG_SSB_B43_PCI_BRIDGE is not set
+# CONFIG_SSB_SILENT is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_SERIAL=y
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_PCICORE_HOSTMODE=y
+CONFIG_SSB_DRIVER_MIPS=y
+CONFIG_SSB_EMBEDDED=y
+CONFIG_SSB_DRIVER_EXTIF=y
+# CONFIG_SSB_DRIVER_GIGE is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGA_ARB is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_SOUND is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+# CONFIG_USB is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+
+#
+# Enable Host or Gadget support to see Inventra options
+#
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+
+#
+# TI VLYNQ
+#
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_AUFS_FS is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_FSNOTIFY is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_YAFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_LOGFS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="panic=5"
+# CONFIG_CMDLINE_OVERRIDE is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+
+#
+# OCF Configuration
+#
+# CONFIG_OCF_OCF is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y

+ 323 - 0
target/brcm/patches/brcm.patch

@@ -0,0 +1,323 @@
+diff -Nur linux-2.6.34.orig/arch/mips/bcm47xx/Makefile linux-2.6.34/arch/mips/bcm47xx/Makefile
+--- linux-2.6.34.orig/arch/mips/bcm47xx/Makefile	2010-05-16 23:17:36.000000000 +0200
++++ linux-2.6.34/arch/mips/bcm47xx/Makefile	2010-06-03 22:38:03.501617275 +0200
+@@ -3,4 +3,5 @@
+ # under Linux.
+ #
+ 
+-obj-y := gpio.o irq.o prom.o serial.o setup.o time.o wgt634u.o
++obj-y := gpio.o irq.o nvram.o platform.o prom.o \
++         serial.o setup.o time.o wgt634u.o
+diff -Nur linux-2.6.34.orig/arch/mips/bcm47xx/nvram.c linux-2.6.34/arch/mips/bcm47xx/nvram.c
+--- linux-2.6.34.orig/arch/mips/bcm47xx/nvram.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.34/arch/mips/bcm47xx/nvram.c	2010-06-03 22:37:52.471617640 +0200
+@@ -0,0 +1,100 @@
++/*
++ * BCM947xx nvram variable access
++ *
++ * Copyright (C) 2005 Broadcom Corporation
++ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
++ *
++ * This program is free software; you can redistribute  it and/or modify it
++ * under  the terms of  the GNU General  Public License as published by the
++ * Free Software Foundation;  either version 2 of the  License, or (at your
++ * option) any later version.
++ */
++
++#include <linux/init.h>
++#include <linux/module.h>
++#include <linux/ssb/ssb.h>
++#include <linux/kernel.h>
++#include <linux/string.h>
++#include <linux/interrupt.h>
++#include <linux/spinlock.h>
++#include <linux/slab.h>
++#include <asm/byteorder.h>
++#include <asm/bootinfo.h>
++#include <asm/addrspace.h>
++#include <asm/io.h>
++#include <asm/uaccess.h>
++#include <asm/mach-bcm47xx/nvram.h>
++#include <asm/mach-bcm47xx/bcm47xx.h>
++
++static char nvram_buf[NVRAM_SPACE];
++
++/* Probe for NVRAM header */
++static void __init early_nvram_init(void)
++{
++	struct ssb_mipscore *mcore = &ssb_bcm47xx.mipscore;
++	struct nvram_header *header;
++	int i;
++	u32 base, lim, off;
++	u32 *src, *dst;
++
++	base = mcore->flash_window;
++	lim = mcore->flash_window_size;
++
++	off = FLASH_MIN;
++	while (off <= lim) {
++		/* Windowed flash access */
++		header = (struct nvram_header *)
++			KSEG1ADDR(base + off - NVRAM_SPACE);
++		if (header->magic == NVRAM_HEADER)
++			goto found;
++		off <<= 1;
++	}
++
++	/* Try embedded NVRAM at 4 KB and 1 KB as last resorts */
++	header = (struct nvram_header *) KSEG1ADDR(base + 4096);
++	if (header->magic == NVRAM_HEADER)
++		goto found;
++
++	header = (struct nvram_header *) KSEG1ADDR(base + 1024);
++	if (header->magic == NVRAM_HEADER)
++		goto found;
++
++	return;
++
++found:
++	src = (u32 *) header;
++	dst = (u32 *) nvram_buf;
++	for (i = 0; i < sizeof(struct nvram_header); i += 4)
++		*dst++ = *src++;
++	for (; i < header->len && i < NVRAM_SPACE; i += 4)
++		*dst++ = le32_to_cpu(*src++);
++}
++
++int nvram_getenv(char *name, char *val, size_t val_len)
++{
++	char *var, *value, *end, *eq;
++
++	if (!name)
++		return 1;
++
++	if (!nvram_buf[0])
++		early_nvram_init();
++
++	/* Look for name=value and return value */
++	var = &nvram_buf[sizeof(struct nvram_header)];
++	end = nvram_buf + sizeof(nvram_buf) - 2;
++	end[0] = end[1] = '\0';
++	for (; *var; var = value + strlen(value) + 1) {
++		eq = strchr(var, '=');
++		if (!eq)
++			break;
++		value = eq + 1;
++		if ((eq - var) == strlen(name) &&
++			strncmp(var, name, (eq - var)) == 0) {
++			snprintf(val, val_len, "%s", value);
++			return 0;
++		}
++	}
++	return 1;
++}
++EXPORT_SYMBOL(nvram_getenv);
+diff -Nur linux-2.6.34.orig/arch/mips/bcm47xx/platform.c linux-2.6.34/arch/mips/bcm47xx/platform.c
+--- linux-2.6.34.orig/arch/mips/bcm47xx/platform.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.34/arch/mips/bcm47xx/platform.c	2010-06-03 22:38:03.501617275 +0200
+@@ -0,0 +1,79 @@
++/*
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License.  See the file "COPYING" in the main directory of this archive
++ * for more details.
++ *
++ * Copyright (C) 2010 Waldemar Brodkorb <wbx@openadk.org>
++ */
++
++#include <linux/platform_device.h>
++#include <linux/module.h>
++#include <linux/mtd/physmap.h>
++#include <linux/ssb/ssb.h>
++
++#include <asm/mach-bcm47xx/bcm47xx.h>
++#include <asm/mach-bcm47xx/nvram.h>
++
++static struct mtd_partition bcm47xx_partitions[] = {
++	{
++		.name       = "cfe",
++		.offset     = 0,
++		.size       = 0x40000,		/* 256k */
++		.mask_flags = MTD_WRITEABLE	/* force read-only */
++	},
++	{
++		.name   = "linux",
++		.offset = 0,
++		.size   = 0,
++	},
++	{
++		.name   = "nvram",
++		.offset = 0,
++		.size   = 0,
++	},
++};
++
++static struct physmap_flash_data bcm47xx_flash_data = {
++	.parts    = bcm47xx_partitions,
++	.nr_parts = ARRAY_SIZE(bcm47xx_partitions)
++};
++
++static struct resource bcm47xx_flash_resource = {
++	.flags = IORESOURCE_MEM,
++};
++
++static struct platform_device bcm47xx_flash = {
++	.name          = "physmap-flash",
++	.id            = 0,
++	.dev           = { .platform_data = &bcm47xx_flash_data, },
++	.resource      = &bcm47xx_flash_resource,
++	.num_resources = 1,
++};
++
++static struct platform_device *bcm47xx_devices[] __initdata = {
++	&bcm47xx_flash,
++};
++
++static int __init bcm47xx_register_devices(void)
++{
++	u32 flash_size;
++	struct ssb_mipscore *mcore = &ssb_bcm47xx.mipscore;
++
++	/* devices might have 2, 4 or 8 MB flash size */
++	flash_size = mcore->flash_window_size;
++	printk(KERN_INFO "FLASH SIZE: %x\n", flash_size);
++	bcm47xx_partitions[1].offset = 0x40000;
++	bcm47xx_partitions[1].size = flash_size - NVRAM_FLASH_SIZE - 0x40000;
++	bcm47xx_partitions[2].offset = flash_size - NVRAM_FLASH_SIZE;
++	bcm47xx_partitions[2].size = NVRAM_FLASH_SIZE;
++
++	bcm47xx_flash_data.width = mcore->flash_buswidth;
++	bcm47xx_flash_resource.start = mcore->flash_window;
++	bcm47xx_flash_resource.end = mcore->flash_window
++				   + mcore->flash_window_size
++				   - 1;
++	return platform_add_devices(bcm47xx_devices,
++			    ARRAY_SIZE(bcm47xx_devices));
++}
++
++device_initcall(bcm47xx_register_devices);
+diff -Nur linux-2.6.34.orig/arch/mips/bcm47xx/setup.c linux-2.6.34/arch/mips/bcm47xx/setup.c
+--- linux-2.6.34.orig/arch/mips/bcm47xx/setup.c	2010-05-16 23:17:36.000000000 +0200
++++ linux-2.6.34/arch/mips/bcm47xx/setup.c	2010-06-03 22:37:52.481613327 +0200
+@@ -1,8 +1,8 @@
+ /*
+  *  Copyright (C) 2004 Florian Schirmer <jolt@tuxbox.org>
+- *  Copyright (C) 2005 Waldemar Brodkorb <wbx@openwrt.org>
+  *  Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
+  *  Copyright (C) 2006 Michael Buesch <mb@bu3sch.de>
++ *  Copyright (C) 2010 Waldemar Brodkorb <wbx@openadk.org>
+  *
+  *  This program is free software; you can redistribute  it and/or modify it
+  *  under  the terms of  the GNU General  Public License as published by the
+@@ -33,6 +33,7 @@
+ #include <asm/time.h>
+ #include <bcm47xx.h>
+ #include <asm/fw/cfe/cfe_api.h>
++#include <asm/mach-bcm47xx/nvram.h>
+ 
+ struct ssb_bus ssb_bcm47xx;
+ EXPORT_SYMBOL(ssb_bcm47xx);
+@@ -81,28 +82,42 @@
+ 	/* Fill boardinfo structure */
+ 	memset(&(iv->boardinfo), 0 , sizeof(struct ssb_boardinfo));
+ 
+-	if (cfe_getenv("boardvendor", buf, sizeof(buf)) >= 0)
++	if (cfe_getenv("boardvendor", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("boardvendor", buf, sizeof(buf)) >= 0)
+ 		iv->boardinfo.type = (u16)simple_strtoul(buf, NULL, 0);
+-	if (cfe_getenv("boardtype", buf, sizeof(buf)) >= 0)
++	if (cfe_getenv("boardtype", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("boardtype", buf, sizeof(buf)) >= 0)
+ 		iv->boardinfo.type = (u16)simple_strtoul(buf, NULL, 0);
+-	if (cfe_getenv("boardrev", buf, sizeof(buf)) >= 0)
++	if (cfe_getenv("boardrev", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("boardrev", buf, sizeof(buf)) >= 0)
+ 		iv->boardinfo.rev = (u16)simple_strtoul(buf, NULL, 0);
+ 
+ 	/* Fill sprom structure */
+ 	memset(&(iv->sprom), 0, sizeof(struct ssb_sprom));
+ 	iv->sprom.revision = 3;
+ 
+-	if (cfe_getenv("et0macaddr", buf, sizeof(buf)) >= 0)
++	if (cfe_getenv("et0macaddr", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("et0macaddr", buf, sizeof(buf)) >= 0)
+ 		str2eaddr(buf, iv->sprom.et0mac);
+-	if (cfe_getenv("et1macaddr", buf, sizeof(buf)) >= 0)
++
++	if (cfe_getenv("et1macaddr", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("et1macaddr", buf, sizeof(buf)) >= 0)
+ 		str2eaddr(buf, iv->sprom.et1mac);
+-	if (cfe_getenv("et0phyaddr", buf, sizeof(buf)) >= 0)
+-		iv->sprom.et0phyaddr = simple_strtoul(buf, NULL, 10);
+-	if (cfe_getenv("et1phyaddr", buf, sizeof(buf)) >= 0)
+-		iv->sprom.et1phyaddr = simple_strtoul(buf, NULL, 10);
+-	if (cfe_getenv("et0mdcport", buf, sizeof(buf)) >= 0)
++
++	if (cfe_getenv("et0phyaddr", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("et0phyaddr", buf, sizeof(buf)) >= 0)
++		iv->sprom.et0phyaddr = simple_strtoul(buf, NULL, 0);
++
++	if (cfe_getenv("et1phyaddr", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("et1phyaddr", buf, sizeof(buf)) >= 0)
++		iv->sprom.et1phyaddr = simple_strtoul(buf, NULL, 0);
++
++	if (cfe_getenv("et0mdcport", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("et0mdcport", buf, sizeof(buf)) >= 0)
+ 		iv->sprom.et0mdcport = simple_strtoul(buf, NULL, 10);
+-	if (cfe_getenv("et1mdcport", buf, sizeof(buf)) >= 0)
++
++	if (cfe_getenv("et1mdcport", buf, sizeof(buf)) >= 0 ||
++	    nvram_getenv("et1mdcport", buf, sizeof(buf)) >= 0)
+ 		iv->sprom.et1mdcport = simple_strtoul(buf, NULL, 10);
+ 
+ 	return 0;
+diff -Nur linux-2.6.34.orig/arch/mips/include/asm/mach-bcm47xx/nvram.h linux-2.6.34/arch/mips/include/asm/mach-bcm47xx/nvram.h
+--- linux-2.6.34.orig/arch/mips/include/asm/mach-bcm47xx/nvram.h	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.34/arch/mips/include/asm/mach-bcm47xx/nvram.h	2010-06-03 22:38:03.501617275 +0200
+@@ -0,0 +1,35 @@
++/*
++ *  Copyright (C) 2005, Broadcom Corporation
++ *  Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org>
++ *
++ *  This program is free software; you can redistribute  it and/or modify it
++ *  under  the terms of  the GNU General  Public License as published by the
++ *  Free Software Foundation;  either version 2 of the  License, or (at your
++ *  option) any later version.
++ */
++
++#ifndef __NVRAM_H
++#define __NVRAM_H
++
++struct nvram_header {
++	u32 magic;
++	u32 len;
++	u32 crc_ver_init;	/* 0:7 crc, 8:15 ver, 16:31 sdram_init */
++	u32 config_refresh;	/* 0:15 sdram_config, 16:31 sdram_refresh */
++	u32 config_ncdl;	/* ncdl values for memc */
++};
++
++#define NVRAM_HEADER		0x48534C46	/* 'FLSH' */
++#define NVRAM_VERSION		1
++#define NVRAM_HEADER_SIZE	20
++#define NVRAM_SPACE		0x8000
++#define NVRAM_FLASH_SIZE	0x20000
++
++#define FLASH_MIN		0x00020000	/* Minimum flash size */
++
++#define NVRAM_MAX_VALUE_LEN 255
++#define NVRAM_MAX_PARAM_LEN 64
++
++int nvram_getenv(char *name, char *val, size_t val_len);
++
++#endif
+diff -Nur linux-2.6.34.orig/drivers/ssb/driver_mipscore.c linux-2.6.34/drivers/ssb/driver_mipscore.c
+--- linux-2.6.34.orig/drivers/ssb/driver_mipscore.c	2010-05-16 23:17:36.000000000 +0200
++++ linux-2.6.34/drivers/ssb/driver_mipscore.c	2010-06-03 22:38:03.501617275 +0200
+@@ -193,7 +193,7 @@
+ 	mcore->flash_buswidth = 2;
+ 	if (bus->chipco.dev) {
+ 		mcore->flash_window = 0x1c000000;
+-		mcore->flash_window_size = 0x02000000;
++		mcore->flash_window_size = 0x00800000;
+ 		if ((ssb_read32(bus->chipco.dev, SSB_CHIPCO_FLASH_CFG)
+ 		               & SSB_CHIPCO_CFG_DS16) == 0)
+ 			mcore->flash_buswidth = 1;

+ 7 - 0
target/brcm/target.mk

@@ -0,0 +1,7 @@
+ARCH:=			mips
+CPU_ARCH:=		mipsel
+KERNEL_VERSION:=	2.6.34
+KERNEL_RELEASE:=	1
+KERNEL_MD5SUM:=		10eebcb0178fb4540e2165bfd7efc7ad
+TARGET_OPTIMIZATION:=	-Os -pipe
+TARGET_CFLAGS_ARCH:=    -march=mips32

+ 7 - 0
target/brcm/tools/rules.mk

@@ -0,0 +1,7 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+WRKDIR_BASE=    ${TOOLS_BUILD_DIR}
+WRKDIR=		${WRKDIR_BASE}
+
+include ${TOPDIR}/mk/buildhlp.mk

+ 4 - 0
target/brcm/tools/trx/Makefile

@@ -0,0 +1,4 @@
+include $(TOPDIR)/rules.mk
+
+all:
+	$(HOSTCC) -o ${STAGING_TOOLS}/bin/trx trx.c

+ 376 - 0
target/brcm/tools/trx/trx.c

@@ -0,0 +1,376 @@
+/*
+ * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>
+ * Copyright (C) 2005  Konstantin A. Klubnichkin and Oleg I. Vdovikin
+ * Copyright (C) 2006  OpenWrt developers <openwrt-developers@openwrt.org>
+ * Copyright (C) 2006  Waldemar Brodkorb <wbx@freewrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <byteswap.h>
+#include <endian.h>
+
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define STORE32_LE(X)		bswap_32(X)
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+#define STORE32_LE(X)		(X)
+#else
+#error unkown endianness!
+#endif
+
+uint32_t crc32buf(char *buf, size_t len);
+
+/**********************************************************************/
+/* from trxhdr.h */
+
+#define TRX_MAGIC	0x30524448	/* "HDR0" */
+#define TRX_VERSION	1
+#define TRX_MAX_LEN	0x697800
+#define TRX_NO_HEADER	1		/* Do not write TRX header */	
+
+struct trx_header {
+	uint32_t magic;			/* "HDR0" */
+	uint32_t len;			/* Length of file including header */
+	uint32_t crc32;			/* 32-bit CRC from flag_version to end of file */
+	uint32_t flag_version;	/* 0:15 flags, 16:31 version */
+	uint32_t offsets[3];	/* Offsets of partitions from start of header */
+};
+
+/**********************************************************************/
+
+void usage(void) __attribute__ (( __noreturn__ ));
+
+void usage(void)
+{
+	fprintf(stderr, "Usage: trx [-p product_id] [-v version] [-o outfile] [-m maxlen] [-a align] [-b offset] file [file [file]]\n");
+	exit(EXIT_FAILURE);
+}
+
+int main(int argc, char **argv)
+{
+	FILE *out = stdout;
+	FILE *in;
+	char *ofn = NULL;
+	char *buf;
+	char *e;
+	int c, i;
+	size_t n;
+	uint32_t cur_len;
+	unsigned long maxlen = TRX_MAX_LEN;
+	struct trx_header *p;
+
+	struct {
+		uint8_t version[4];	/* Firmware version */
+		uint8_t prod_id[12];	/* Product Id */
+		uint8_t comp_hw[4][4];	/* Compatible hw list maj-min min/maj-min max */
+		uint8_t	pad[32];	/* Padding */
+	} asus = {
+		.version 	= { 1, 9, 2, 7 }, /* version is set to 1.9.2.7 by default */
+		.comp_hw[0]	= { 0, 2, 2, 99 } /* hardcoded hw compat list 0.02 - 2.99 */
+	};
+
+
+	if (!(buf = malloc(maxlen))) {
+		fprintf(stderr, "malloc failed\n");
+		return EXIT_FAILURE;
+	}
+
+	p = (struct trx_header *) buf;
+
+	p->magic = STORE32_LE(TRX_MAGIC);
+	cur_len = sizeof(struct trx_header);
+	p->flag_version = STORE32_LE((TRX_VERSION << 16));
+
+	in = NULL;
+	i = 0;
+
+	while ((c = getopt(argc, argv, "-:o:p:v:m:a:b:")) != -1) {
+		switch (c) {
+			case 1:
+				p->offsets[i++] = STORE32_LE(cur_len);
+
+				if (!(in = fopen(optarg, "r"))) {
+					fprintf(stderr, "can not open \"%s\" for reading\n", optarg);
+					usage();
+				}
+				n = fread(buf + cur_len, 1, maxlen - cur_len, in);
+				if (!feof(in)) {
+					fprintf(stderr, "fread failure or file \"%s\" too large\n",optarg);
+					fclose(in);
+					return EXIT_FAILURE;
+				}
+				fclose(in);
+#undef  ROUND
+#define ROUND 4
+				if (n & (ROUND-1)) {
+					memset(buf + cur_len + n, 0, ROUND - (n & (ROUND-1)));
+					n += ROUND - (n & (ROUND-1));
+				}
+				cur_len += n;
+				/* reserve space for asus footer */
+				if (asus.prod_id[0]) {
+					cur_len += sizeof(asus);
+				}
+				break;
+			case 'o':
+				ofn = optarg;
+				if (ofn && !(out = fopen(ofn, "w"))) {
+					fprintf(stderr, "can not open \"%s\" for writing\n", ofn);
+					usage();
+				}
+
+				break;
+			case 'm':
+				errno = 0;
+				maxlen = strtoul(optarg, &e, 0);
+				if (errno || (e == optarg) || *e) {
+					fprintf(stderr, "illegal numeric string\n");
+					usage();
+				}
+#undef  ROUND
+#define ROUND 0x1000
+				if (maxlen & (ROUND-1)) {
+					maxlen += (ROUND - (maxlen & (ROUND-1)));
+				}
+				if (maxlen < ROUND) {
+					fprintf(stderr, "maxlen too small (or wrapped)\n");
+					usage();
+				}
+				if (maxlen > TRX_MAX_LEN) {
+					fprintf(stderr, "WARNING: maxlen exceeds default maximum!  Beware of overwriting nvram!\n");
+				}
+				if (!(buf = realloc(buf,maxlen))) {
+					fprintf(stderr, "realloc failed");
+					return EXIT_FAILURE;
+				}
+				break;
+			case 'a':
+				errno = 0;
+				n = strtoul(optarg, &e, 0);
+				if (errno || (e == optarg) || *e) {
+					fprintf(stderr, "illegal numeric string\n");
+					usage();
+				}
+				if (cur_len & (n-1)) {
+					n = n - (cur_len & (n-1));
+					memset(buf + cur_len, 0, n);
+					cur_len += n;
+				}
+				break;
+			case 'b':
+				errno = 0;
+				n = strtoul(optarg, &e, 0);
+				if (errno || (e == optarg) || *e) {
+					fprintf(stderr, "illegal numeric string\n");
+					usage();
+				}
+				if (n < cur_len) {
+					fprintf(stderr, "WARNING: current length exceeds -b %d offset\n",n);
+				} else {
+					memset(buf + cur_len, 0, n - cur_len);
+					cur_len = n;
+				}
+				break;
+			case 'p':
+				if ((n = strlen(optarg)) > sizeof(asus.prod_id)) {
+					fprintf(stderr, "product id too long\n");
+					usage();
+				}
+				memset(asus.prod_id, ' ', sizeof(asus.prod_id));
+				memcpy(asus.prod_id, optarg, n);
+				break;
+			case 'v':
+				for (n = 0; n < sizeof(asus.version) / sizeof(asus.version[0]); n++)
+				{
+					if (n != 0 && optarg[0] == '.' && optarg[1]) optarg++;
+					else if (n != 0) break;
+					
+					asus.version[n] = strtoul(optarg, &optarg, 10);
+				}
+				if (*optarg) 
+				{
+					fprintf(stderr, "invalid version string\n");
+					usage();
+				}
+				break;
+			default:
+				usage();
+		}
+	}
+
+	if (!in) {
+		fprintf(stderr, "we require atleast one filename\n");
+		usage();
+	}
+
+#undef  ROUND
+#define ROUND 0x1000
+	n = cur_len & (ROUND-1);
+	if (n) {
+		memset(buf + cur_len, 0, ROUND - n);
+		cur_len += ROUND - n;
+	}
+	/* add asus footer */
+	if (asus.prod_id[0]) {
+		memcpy(buf + cur_len - sizeof(asus), &asus, sizeof(asus));
+	}
+
+	p->crc32 = crc32buf((char *) &p->flag_version,
+						cur_len - offsetof(struct trx_header, flag_version));
+	p->crc32 = STORE32_LE(p->crc32);
+
+	p->len = STORE32_LE(cur_len);
+
+	if (!fwrite(buf, cur_len, 1, out) || fflush(out)) {
+		fprintf(stderr, "fwrite failed\n");
+		return EXIT_FAILURE;
+	}
+
+	fclose(out);
+
+	return EXIT_SUCCESS;
+}
+
+/**********************************************************************/
+/* The following was grabbed and tweaked from the old snippets collection
+ * of public domain C code. */
+
+/**********************************************************************\
+|* Demonstration program to compute the 32-bit CRC used as the frame  *|
+|* check sequence in ADCCP (ANSI X3.66, also known as FIPS PUB 71     *|
+|* and FED-STD-1003, the U.S. versions of CCITT's X.25 link-level     *|
+|* protocol).  The 32-bit FCS was added via the Federal Register,     *|
+|* 1 June 1982, p.23798.  I presume but don't know for certain that   *|
+|* this polynomial is or will be included in CCITT V.41, which        *|
+|* defines the 16-bit CRC (often called CRC-CCITT) polynomial.  FIPS  *|
+|* PUB 78 says that the 32-bit FCS reduces otherwise undetected       *|
+|* errors by a factor of 10^-5 over 16-bit FCS.                       *|
+\**********************************************************************/
+
+/* Copyright (C) 1986 Gary S. Brown.  You may use this program, or
+   code or tables extracted from it, as desired without restriction.*/
+
+/* First, the polynomial itself and its table of feedback terms.  The  */
+/* polynomial is                                                       */
+/* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 */
+/* Note that we take it "backwards" and put the highest-order term in  */
+/* the lowest-order bit.  The X^32 term is "implied"; the LSB is the   */
+/* X^31 term, etc.  The X^0 term (usually shown as "+1") results in    */
+/* the MSB being 1.                                                    */
+
+/* Note that the usual hardware shift register implementation, which   */
+/* is what we're using (we're merely optimizing it by doing eight-bit  */
+/* chunks at a time) shifts bits into the lowest-order term.  In our   */
+/* implementation, that means shifting towards the right.  Why do we   */
+/* do it this way?  Because the calculated CRC must be transmitted in  */
+/* order from highest-order term to lowest-order term.  UARTs transmit */
+/* characters in order from LSB to MSB.  By storing the CRC this way,  */
+/* we hand it to the UART in the order low-byte to high-byte; the UART */
+/* sends each low-bit to hight-bit; and the result is transmission bit */
+/* by bit from highest- to lowest-order term without requiring any bit */
+/* shuffling on our part.  Reception works similarly.                  */
+
+/* The feedback terms table consists of 256, 32-bit entries.  Notes:   */
+/*                                                                     */
+/*  1. The table can be generated at runtime if desired; code to do so */
+/*     is shown later.  It might not be obvious, but the feedback      */
+/*     terms simply represent the results of eight shift/xor opera-    */
+/*     tions for all combinations of data and CRC register values.     */
+/*                                                                     */
+/*  2. The CRC accumulation logic is the same for all CRC polynomials, */
+/*     be they sixteen or thirty-two bits wide.  You simply choose the */
+/*     appropriate table.  Alternatively, because the table can be     */
+/*     generated at runtime, you can start by generating the table for */
+/*     the polynomial in question and use exactly the same "updcrc",   */
+/*     if your application needn't simultaneously handle two CRC       */
+/*     polynomials.  (Note, however, that XMODEM is strange.)          */
+/*                                                                     */
+/*  3. For 16-bit CRCs, the table entries need be only 16 bits wide;   */
+/*     of course, 32-bit entries work OK if the high 16 bits are zero. */
+/*                                                                     */
+/*  4. The values must be right-shifted by eight bits by the "updcrc"  */
+/*     logic; the shift must be unsigned (bring in zeroes).  On some   */
+/*     hardware you could probably optimize the shift in assembler by  */
+/*     using byte-swap instructions.                                   */
+
+static const uint32_t crc_32_tab[] = { /* CRC polynomial 0xedb88320 */
+0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
+0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
+0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
+0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
+0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
+0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
+0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
+0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
+0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
+0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
+0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
+0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
+0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
+0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
+0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
+0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
+0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
+0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
+0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
+0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
+0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
+0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
+0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
+0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
+0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
+0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
+0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
+0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
+0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
+0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
+0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
+0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
+0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
+0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
+0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
+};
+
+#define UPDC32(octet,crc) (crc_32_tab[((crc) ^ (octet)) & 0xff] ^ ((crc) >> 8))
+
+uint32_t crc32buf(char *buf, size_t len)
+{
+      uint32_t crc;
+
+      crc = 0xFFFFFFFF;
+
+      for ( ; len; --len, ++buf)
+      {
+            crc = UPDC32(*buf, crc);
+      }
+
+      return crc;
+}

+ 233 - 0
target/brcm/uclibc.config

@@ -0,0 +1,233 @@
+#
+# Automatically generated make config: don't edit
+# Version: 0.9.30.2
+# Fri Jan 29 19:30:32 2010
+#
+# TARGET_alpha is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_cris is not set
+# TARGET_e1 is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_i960 is not set
+# TARGET_ia64 is not set
+# TARGET_m68k is not set
+# TARGET_microblaze is not set
+TARGET_mips=y
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sh64 is not set
+# TARGET_sparc is not set
+# TARGET_ubicom32 is not set
+# TARGET_v850 is not set
+# TARGET_vax is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="mips"
+FORCE_OPTIONS_FOR_ARCH=y
+ARCH_CFLAGS="-mno-split-addresses"
+CONFIG_MIPS_O32_ABI=y
+# CONFIG_MIPS_N32_ABI is not set
+# CONFIG_MIPS_N64_ABI is not set
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+CONFIG_MIPS_ISA_MIPS32=y
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+# CONFIG_MIPS_ISA_MIPS64 is not set
+TARGET_SUBARCH=""
+
+#
+# Using ELF file format
+#
+ARCH_ANY_ENDIAN=y
+ARCH_LITTLE_ENDIAN=y
+# ARCH_WANTS_BIG_ENDIAN is not set
+ARCH_WANTS_LITTLE_ENDIAN=y
+ARCH_HAS_MMU=y
+ARCH_USE_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+UCLIBC_HAS_FENV=y
+KERNEL_HEADERS=""
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+# HAVE_NO_PIC is not set
+DOPIC=y
+# ARCH_HAS_NO_SHARED is not set
+# ARCH_HAS_NO_LDSO is not set
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+# LDSO_CACHE_SUPPORT is not set
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+# UCLIBC_STATIC_LDCONFIG is not set
+LDSO_RUNPATH=y
+UCLIBC_CTOR_DTOR=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_THREADS=y
+PTHREADS_DEBUG_SUPPORT=y
+LINUXTHREADS_OLD=y
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+MALLOC_GLIBC_COMPAT=y
+UCLIBC_DYNAMIC_ATEXIT=y
+COMPAT_ATEXIT=y
+# UCLIBC_SUSV3_LEGACY is not set
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+# UCLIBC_HAS_GETPT is not set
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+# UCLIBC_LINUX_MODULE_24 is not set
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+# UCLIBC_SV4_DEPRECATED is not set
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+UCLIBC_HAS_RPC=y
+UCLIBC_HAS_FULL_RPC=y
+UCLIBC_HAS_REENTRANT_RPC=y
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
+# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+UCLIBC_HAS_REGEX_OLD=y
+UCLIBC_HAS_FNMATCH=y
+UCLIBC_HAS_FNMATCH_OLD=y
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+
+#
+# Library Installation Options
+#
+SHARED_LIB_LOADER_PREFIX="/lib"
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+
+#
+# Security options
+#
+# UCLIBC_BUILD_PIE is not set
+UCLIBC_HAS_ARC4RANDOM=y
+# HAVE_NO_SSP is not set
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_RELRO=y
+# UCLIBC_BUILD_NOW is not set
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# uClibc development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DODEBUG_PT is not set
+DOSTRIP=y
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
+# DOMULTI is not set
+# UCLIBC_MJN3_ONLY is not set

+ 4 - 3
target/lemote/Makefile

@@ -7,8 +7,10 @@ include $(TOPDIR)/mk/modules.mk
 include $(TOPDIR)/mk/kernel-build.mk
 include $(TOPDIR)/mk/image.mk
 
+KERNEL:=$(LINUX_DIR)/vmlinuz
+
 kernel-install:
-	@cp $(LINUX_DIR)/vmlinuz $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel
+	@cp $(KERNEL) $(TARGET_DIR)/boot/vmlinuz-adk
 
 createinitcrypt:
 	$(SED) 's#^CONFIG_INITRAMFS_SOURCE.*#CONFIG_INITRAMFS_SOURCE="./initramfs_list"#' $(LINUX_DIR)/.config
@@ -73,7 +75,6 @@ endif
 ifeq ($(FS),archive)
 imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
 	@echo
-	@echo 'The kernel file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
-	@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL),"
+	@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)"
 	@echo 'Login as user root with password linux123 via ssh or console'
 endif

+ 3 - 3
target/lemote/files/boot/boot.cfg

@@ -1,7 +1,7 @@
-timeout 4
+timeout 3
 default 0
 showmenu 1
 
 title Linux
-	kernel /dev/fs/ext2@wd0/boot/lemote-encrypted-kernel
-	args no_auto_cmd root=/dev/mapper/root resume=/dev/mapper/swap
+	kernel /dev/fs/ext2@wd0/boot/vmlinuz-adk
+	args no_auto_cmd

+ 7 - 0
target/lemote/files/etc/inittab

@@ -1,3 +1,10 @@
 ::sysinit:/etc/init.d/rcS
 ::shutdown:/etc/init.d/rcK
 tty1::respawn:/sbin/getty -i -L tty1 115200 vt100
+tty2::respawn:/sbin/getty -i -L tty2 115200 vt100
+tty3::respawn:/sbin/getty -i -L tty3 115200 vt100
+tty4::respawn:/sbin/getty -i -L tty4 115200 vt100
+tty5::respawn:/sbin/getty -i -L tty5 115200 vt100
+tty6::respawn:/sbin/getty -i -L tty6 115200 vt100
+tty7::respawn:/sbin/getty -i -L tty7 115200 vt100
+tty11::respawn:/sbin/logread -f

+ 5 - 3
target/lemote/kernel.config

@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.34
-# Fri May 28 12:08:04 2010
+# Thu Jun  3 15:37:40 2010
 #
 CONFIG_MIPS=y
 
@@ -108,7 +108,9 @@ CONFIG_CPU_LOONGSON2F=y
 # CONFIG_CPU_RM9000 is not set
 # CONFIG_CPU_SB1 is not set
 # CONFIG_CPU_CAVIUM_OCTEON is not set
-# CONFIG_CPU_LOONGSON2F_WORKAROUNDS is not set
+CONFIG_CPU_NOP_WORKAROUNDS=y
+CONFIG_CPU_JUMP_WORKAROUNDS=y
+CONFIG_CPU_LOONGSON2F_WORKAROUNDS=y
 CONFIG_SYS_SUPPORTS_ZBOOT=y
 CONFIG_SYS_SUPPORTS_ZBOOT_UART16550=y
 CONFIG_CPU_LOONGSON2=y
@@ -1386,7 +1388,7 @@ CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_CMDLINE_BOOL=y
 CONFIG_CMDLINE="console=tty0 init=/init no_auto_cmd"
-CONFIG_CMDLINE_OVERRIDE=y
+# CONFIG_CMDLINE_OVERRIDE is not set
 
 #
 # Security options

+ 1 - 0
target/linux/config/Config.in.debug

@@ -42,6 +42,7 @@ config ADK_KERNEL_DEBUG_WITH_KGDB
 	prompt "Enable remote kernel debugging using KGDB"
 	depends on ADK_TARGET_ROOTFS_NFSROOT || \
 		ADK_TARGET_ROOTFS_EXT2_BLOCK || \
+		ADK_TARGET_ROOTFS_YAFFS || \
 		ADK_TARGET_ROOTFS_EXT2
 	default n
 	select ADK_KERNEL_DEBUG_KERNEL

+ 1 - 8
target/linux/config/Config.in.lib

@@ -6,7 +6,7 @@ config ADK_KERNEL_CRC16
 
 config ADK_KERNEL_CRC32
 	bool
-	default n
+	default y
 
 config ADK_KPACKAGE_KMOD_CRC_ITU_T
 	prompt "kmod-crc-itu-t...................... CRC ITU-T V.41 functions"
@@ -25,13 +25,6 @@ config ADK_KPACKAGE_KMOD_CRC16
 	default n
 	help
 
-config ADK_KPACKAGE_KMOD_CRC32
-	prompt "kmod-crc32.......................... provide CRC32 library functions"
-	tristate
-        depends on ! ADK_KERNEL_CRC32
-	default n
-	help
-
 config ADK_KPACKAGE_KMOD_LIBCRC32C
 	prompt "kmod-libcrc32c...................... CRC32c Cyclic Redundancy-Check"
 	tristate

+ 20 - 1
target/linux/config/Config.in.netdevice

@@ -160,7 +160,7 @@ config ADK_MOD_KERNEL_MAC80211
 	default n
 
 menu "Wireless card support"
-depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB
+depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB || ADK_TARGET_WITH_SSB
 
 config ADK_KERNEL_MAC80211_DEBUG_MENU
 	boolean
@@ -227,6 +227,25 @@ config ADK_KERNEL_ATH5K_DEBUG
 	  parameter. For example:
 	   insmod ath5k.ko debug=0x00000400
 
+config ADK_KPACKAGE_KMOD_B43
+	prompt "kmod-b43..................... Broadcom B43xx wireless cards"
+	tristate
+	depends on ADK_KPACKAGE_KMOD_MAC80211
+	select ADK_KPACKAGE_KMOD_FW_LOADER
+	depends on ADK_TARGET_WITH_SSB || ADK_TARGET_WITH_MINIPCI
+	default n
+	help
+	  Driver for Broadcom B43xx wireless chips.
+
+config ADK_KPACKAGE_KMOD_RTL8187B
+	prompt "kmod-rtl8187b................ Realtek RTL8187B wireless cards"
+	tristate
+	depends on ADK_KPACKAGE_KMOD_MAC80211
+	depends on ADK_LINUX_MIPS64_LEMOTE
+	default y
+	help
+	  Driver for Realtek RTL8187B wireless chips.
+
 config ADK_KPACKAGE_KMOD_P54_USB
 	prompt "kmod-p54-usb................. Prism54 USB support"
 	tristate

+ 4 - 3
toolchain/binutils/Makefile.inc

@@ -2,8 +2,9 @@
 # material, please see the LICENCE file in the top-level directory.
 
 PKG_NAME:=		binutils
-PKG_VERSION:=		2.20.1
+PKG_VERSION:=		2.20.51
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		9cdfb9d6ec0578c166d3beae5e15c4e5
-PKG_SITES:=		${MASTER_SITE_GNU:=binutils/}
+PKG_MD5SUM:=		74a7716095e031c8462137ca26ff5472
+PKG_SITES:=		ftp://sourceware.org/pub/binutils/snapshots/
+#PKG_SITES:=		${MASTER_SITE_GNU:=binutils/}
 DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2

+ 13 - 9
toolchain/gcc/Makefile

@@ -22,6 +22,10 @@ GCC_CONFOPTS=		--prefix=$(STAGING_TOOLS) \
 			--disable-sjlj-exceptions \
 			--disable-libssp \
 			--disable-libstdcxx-pch \
+			--disable-ppl-version-check \
+			--disable-cloog-version-check \
+			--without-ppl \
+			--without-cloog \
 			--disable-nls
 
 ifeq ($(ADK_TARGET_NO_FPU),y)
@@ -51,7 +55,7 @@ GCC_BUILD_DIR_FINAL:=	$(WRKBUILD)-final
 $(GCC_BUILD_DIR_MINIMAL)/.configured:
 	mkdir -p $(GCC_BUILD_DIR_MINIMAL)
 	(cd $(GCC_BUILD_DIR_MINIMAL); rm -f config.cache; \
-		PATH=$(TARGET_PATH) \
+		PATH='$(TARGET_PATH)' \
 		$(WRKBUILD)/configure \
 			${GCC_CONFOPTS} \
 			--enable-languages=c \
@@ -62,12 +66,12 @@ $(GCC_BUILD_DIR_MINIMAL)/.configured:
 	touch $@
 
 $(GCC_BUILD_DIR_MINIMAL)/.compiled: $(GCC_BUILD_DIR_MINIMAL)/.configured
-	PATH=$(TARGET_PATH) \
+	PATH='$(TARGET_PATH)' \
 	$(MAKE) ${GCC_MAKEOPTS} -C $(GCC_BUILD_DIR_MINIMAL) all-gcc
 	touch $@
 
 $(WRKBUILD)/.headers: $(GCC_BUILD_DIR_MINIMAL)/.compiled
-	PATH=$(TARGET_PATH) \
+	PATH='$(TARGET_PATH)' \
 	$(MAKE) -C $(GCC_BUILD_DIR_MINIMAL) install-gcc
 	touch $@
 
@@ -78,7 +82,7 @@ $(GCC_BUILD_DIR_INITIAL)/.configured:
 	ln -sf ${STAGING_DIR}/lib $(STAGING_TOOLS)/$(REAL_GNU_TARGET_NAME)/lib
 	mkdir -p $(GCC_BUILD_DIR_INITIAL)
 	(cd $(GCC_BUILD_DIR_INITIAL); rm -f config.cache; \
-		PATH=$(TARGET_PATH) \
+		PATH='$(TARGET_PATH)' \
 		$(WRKBUILD)/configure \
 			${GCC_CONFOPTS} \
 			--enable-languages=c \
@@ -91,19 +95,19 @@ $(GCC_BUILD_DIR_INITIAL)/.configured:
 
 
 $(GCC_BUILD_DIR_INITIAL)/.compiled: $(GCC_BUILD_DIR_INITIAL)/.configured
-	PATH=$(TARGET_PATH) \
+	PATH='$(TARGET_PATH)' \
 	$(MAKE) ${GCC_MAKEOPTS} -C $(GCC_BUILD_DIR_INITIAL) all-gcc all-target-libgcc
 	touch $@
 
 $(WRKBUILD)/.configured: $(GCC_BUILD_DIR_INITIAL)/.compiled
-	PATH=$(TARGET_PATH) \
+	PATH='$(TARGET_PATH)' \
 	$(MAKE) -C $(GCC_BUILD_DIR_INITIAL) install-gcc install-target-libgcc
 	touch $@
 
 $(GCC_BUILD_DIR_FINAL)/.configured:
 	mkdir -p $(GCC_BUILD_DIR_FINAL)
 	(cd $(GCC_BUILD_DIR_FINAL); rm -f config.cache; \
-		PATH=$(TARGET_PATH) \
+		PATH='$(TARGET_PATH)' \
 		$(WRKBUILD)/configure \
 			${GCC_CONFOPTS} \
 			--enable-languages=c,c++ \
@@ -114,12 +118,12 @@ $(GCC_BUILD_DIR_FINAL)/.configured:
 	touch $@
 
 $(WRKBUILD)/.compiled: $(GCC_BUILD_DIR_FINAL)/.configured
-	PATH=$(TARGET_PATH) \
+	PATH='$(TARGET_PATH)' \
 	$(MAKE) ${GCC_MAKEOPTS} -C $(GCC_BUILD_DIR_FINAL) all
 	touch $@
 
 $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
-	PATH=$(TARGET_PATH) \
+	PATH='$(TARGET_PATH)' \
 	$(MAKE) -C $(GCC_BUILD_DIR_FINAL) install
 	# workaround if you cross-compile binutils
 	@-rm $(STAGING_DIR)/lib/libiberty.a

+ 0 - 3
toolchain/gmp/Makefile

@@ -15,11 +15,8 @@ $(WRKBUILD)/.configured:
 	(cd $(WRKBUILD); \
 		$(WRKBUILD)/configure \
 		--prefix=$(STAGING_TOOLS) \
-		--build=$(GNU_HOST_NAME) \
-		--host=$(GNU_HOST_NAME) \
 		--disable-shared \
 		--enable-static \
-		--disable-nls \
 	);
 	touch $@
 

+ 0 - 2
toolchain/mpfr/Makefile

@@ -16,8 +16,6 @@ $(WRKBUILD)/.configured:
 	(cd $(WRKBUILD); \
 		$(WRKBUILD)/configure \
 		--prefix=$(STAGING_TOOLS) \
-		--build=$(GNU_HOST_NAME) \
-		--host=$(GNU_HOST_NAME) \
 		--with-gmp-build=$(GMP_BUILD_DIR) \
 		--disable-shared \
 		--enable-static \