浏览代码

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

Waldemar Brodkorb 11 年之前
父节点
当前提交
226d4ec4a7
共有 83 个文件被更改,包括 811 次插入240 次删除
  1. 1 0
      Makefile
  2. 0 1
      README
  3. 1 0
      docs/contribute.txt
  4. 4 2
      docs/getting.txt
  5. 6 0
      docs/introduction.txt
  6. 10 2
      docs/patch-policy.txt
  7. 9 9
      mk/build.mk
  8. 5 0
      mk/image.mk
  9. 3 2
      package/base-files/Makefile
  10. 1 5
      package/base-files/src/etc/init.d/boot
  11. 1 1
      package/base-files/src/etc/inittab
  12. 3 3
      package/bash/Makefile
  13. 0 13
      package/bash/patches/patch-Makefile_in
  14. 0 11
      package/bash/patches/patch-builtins_Makefile_in
  15. 3 3
      package/check/Makefile
  16. 12 14
      package/eudev/Makefile
  17. 11 0
      package/eudev/patches/patch-rule_generator_write_cd_rules
  18. 11 0
      package/eudev/patches/patch-rule_generator_write_net_rules
  19. 13 0
      package/eudev/patches/patch-src_accelerometer_accelerometer_c
  20. 13 0
      package/eudev/patches/patch-src_accelerometer_accelerometer_c.orig
  21. 11 0
      package/eudev/patches/patch-src_ata_id_ata_id_c
  22. 13 0
      package/eudev/patches/patch-src_ata_id_ata_id_c.orig
  23. 11 0
      package/eudev/patches/patch-src_collect_collect_c
  24. 11 0
      package/eudev/patches/patch-src_mtd_probe_mtd_probe_c
  25. 11 0
      package/eudev/patches/patch-src_scsi_id_scsi_serial_c
  26. 12 11
      package/gdb/Makefile
  27. 1 1
      package/glib/Makefile
  28. 1 1
      package/hdparm/Makefile
  29. 3 3
      package/kbd/Makefile
  30. 11 0
      package/kbd/patches/patch-src_dumpkeys_c
  31. 11 0
      package/kbd/patches/patch-src_libkeymap_analyze_l
  32. 8 0
      package/kbd/patches/patch-src_libkeymap_common_c
  33. 3 2
      package/kbd/patches/patch-src_libkeymap_dump_c
  34. 13 0
      package/kbd/patches/patch-src_libkeymap_kernel_c
  35. 5 2
      package/kbd/patches/patch-src_libkeymap_kmap_c
  36. 8 0
      package/kbd/patches/patch-src_libkeymap_ksyms_c
  37. 8 0
      package/kbd/patches/patch-src_libkeymap_loadkeys_c
  38. 11 0
      package/kbd/patches/patch-src_libkeymap_parser_y
  39. 4 2
      package/kbd/patches/patch-src_libkeymap_summary_c
  40. 10 0
      package/kbd/patches/patch-src_loadkeys_c
  41. 7 0
      package/kbd/patches/patch-tests_libkeymap-bkeymap_c
  42. 7 0
      package/kbd/patches/patch-tests_libkeymap-charset_c
  43. 7 0
      package/kbd/patches/patch-tests_libkeymap-dumpkeys_c
  44. 7 0
      package/kbd/patches/patch-tests_libkeymap-init_c
  45. 7 0
      package/kbd/patches/patch-tests_libkeymap-keys_c
  46. 7 0
      package/kbd/patches/patch-tests_libkeymap-kmap_c
  47. 7 0
      package/kbd/patches/patch-tests_libkeymap-mktable_c
  48. 7 0
      package/kbd/patches/patch-tests_libkeymap-parse_c
  49. 7 0
      package/kbd/patches/patch-tests_libkeymap-showmaps_c
  50. 3 3
      package/libpciaccess/Makefile
  51. 18 0
      package/libpciaccess/patches/patch-src_freebsd_pci_c
  52. 129 10
      package/libpciaccess/patches/patch-src_linux_sysfs_c
  53. 18 0
      package/libpciaccess/patches/patch-src_netbsd_pci_c
  54. 26 0
      package/libpciaccess/patches/patch-src_openbsd_pci_c
  55. 10 0
      package/libpciaccess/patches/patch-src_pciaccess_private_h
  56. 10 0
      package/libpciaccess/patches/patch-src_solx_devfs_c
  57. 10 0
      package/libpciaccess/patches/patch-src_x86_pci_c
  58. 1 1
      package/mpd/Makefile
  59. 0 91
      package/mpd/patches/patch-src_db_SimpleDatabasePlugin_cxx
  60. 2 2
      package/mpd/patches/patch-src_thread_Id_hxx
  61. 2 2
      package/openssh/Makefile
  62. 2 2
      package/openssh/patches/patch-digest-openssl_c
  63. 0 24
      package/openssh/patches/patch-mac_c
  64. 11 4
      package/sudo/Makefile
  65. 15 0
      package/sudo/patches/patch-compat_Makefile_in
  66. 54 0
      package/sudo/patches/patch-plugins_sudoers_match_c
  67. 1 0
      package/xbmc/Makefile
  68. 0 6
      scripts/scan-tools.sh
  69. 1 0
      target/config/Config.in
  70. 12 0
      target/mips/sys-available/qemu-mips64eln32
  71. 12 0
      target/mips/sys-available/qemu-mips64eln64
  72. 13 0
      target/mips/sys-available/qemu-mips64n32
  73. 13 0
      target/mips/sys-available/qemu-mips64n64
  74. 3 3
      target/packages/pkg-available/mpdbox
  75. 3 0
      target/tarch.lst
  76. 12 0
      target/x86_64/sys-available/qemu-x86_64_32
  77. 12 0
      target/x86_64/sys-available/qemu-x86_64_x32
  78. 12 0
      target/x86_64/sys-available/toolchain-x86_64_32
  79. 12 0
      target/x86_64/sys-available/toolchain-x86_64_x32
  80. 1 1
      toolchain/binutils/Makefile
  81. 2 2
      toolchain/gcc/Makefile
  82. 54 0
      toolchain/gcc/patches/4.8.2/abi32.patch
  83. 1 1
      toolchain/glibc/Makefile.inc

+ 1 - 0
Makefile

@@ -224,6 +224,7 @@ NO_ERROR=0
 	@echo "_PATH:=$$PATH" >>prereq.mk
 	@echo "PATH:=\$${TOPDIR}/scripts:/usr/sbin:$$PATH" >>prereq.mk
 	@echo "SHELL:=$$(which bash)" >>prereq.mk
+	@echo "GIT:=$$(which git 2>/dev/null)" >>prereq.mk
 	@env NO_ERROR=${NO_ERROR} BASH="$$(which bash)" \
 		CC='${CC}' CPPFLAGS='${CPPFLAGS}' \
 	    	bash scripts/scan-tools.sh

+ 0 - 1
README

@@ -19,7 +19,6 @@ Before you can start you need to install some tools:
 - ncurses5 headers
 - zlib headers
 - perl
-- git
 
 There is a check for the required versions of these tools in advance, though.
 (to re-issue the checks, use "make prereq").

+ 1 - 0
docs/contribute.txt

@@ -82,6 +82,7 @@ Here is a short list of details to provide in such case:
 * target for which the build fails
 * package(s) which the build fails
 * the command that fails and its output
+* the make.log file, generated when make v is used
 * any information you think that may be relevant
 
 Additionally, you can add the +.config+ file.

+ 4 - 2
docs/getting.txt

@@ -5,8 +5,9 @@
 Getting OpenADK
 ---------------
 
-OpenADK does not have any releases. Only direct Git
-access is possible.
+OpenADK does not have any releases. We are following the
+http://en.wikipedia.org/wiki/Rolling_release[rolling release]
+development model.
 
 To download OpenADK using Git just do:
 
@@ -20,3 +21,4 @@ Or if you prefer HTTP or using Git behind a proxy:
  $ git clone http://git.openadk.org/openadk.git
 ---------------------
 
+Or you can get a http://www.openadk.org/snapshots/[snapshot].

+ 6 - 0
docs/introduction.txt

@@ -24,3 +24,9 @@ processors, MIPS processors, ARM processors, etc.
 OpenADK supports numerous processors and their variants; it also comes
 with default configurations for some embedded systems and netbooks.
 (Raspberry PI, Sharp Zaurus, Lemote Yeelong, IBM X40 and more)
+
+OpenADK is not a Linux distribution and there are no releases or binary
+packages available. If you need something like that, better switch to
+something else. OpenADK builds everything from source. There are only a
+few exceptions to this rule (f.e. some bootloaders and firmware files for
+wireless network cards).

+ 10 - 2
docs/patch-policy.txt

@@ -10,8 +10,8 @@ While integrating a new package or updating an existing one, it may be
 necessary to patch the source of the software to get it cross-built within
 OpenADK.  OpenADK offers an infrastructure to automatically handle this during
 the builds.  Patches are provided within OpenADK, in the package directory;
-these typically aim to fix cross-compilation, libc support, or other such
-issues.
+these typically aim to fix cross-compilation, libc support, portability issues
+or other things.
 
 Normally the patches are autogenerated via:
 ------------
@@ -80,3 +80,11 @@ Fetch from: <some url>
 
 It is also sensible to add a few words about any changes to the patch
 that may have been necessary.
+
+Upstreaming patches
+~~~~~~~~~~~~~~~~~~~
+
+OpenADK tries to avoid any patches to the source code. If a patch could
+not be avoided, it should be tried to make the patch of a good quality to
+get it upstream. OpenADK tries to report any found issues and try to send
+in any upstream compatible patches.

+ 9 - 9
mk/build.mk

@@ -147,7 +147,7 @@ ${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/M
 
 world:
 	mkdir -p $(DL_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
-		$(PACKAGE_DIR) $(TOOLS_BUILD_DIR) $(STAGING_HOST_DIR)/usr/bin \
+		$(TOOLS_BUILD_DIR) $(STAGING_HOST_DIR)/usr/bin \
 		$(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
 	${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
 	${BASH} ${TOPDIR}/scripts/update-sys
@@ -476,8 +476,8 @@ bulktoolchain:
 			mkdir -p ${TOPDIR}/firmware; \
 		    ( \
 			echo === building $$arch $$libc toolchain-$$arch on $$(date); \
-			tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#hf##"); \
-			carch=$$(echo $$arch|sed -e "s#sh#sh4#" -e "s#hf##" -e "s#mips64n.*#mips64#" -e "s#mips64el.*#mips64el#" ); \
+			tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#hf##" -e "s#x86_64.*#x86_64#" ); \
+			carch=$$(echo $$arch|sed -e "s#sh#sh4#" -e "s#hf##" -e "s#mips64n.*#mips64#" -e "s#mips64el.*#mips64el#" -e "s#x86_64.*#x86_64#" ); \
 			$(GMAKE) prereq && \
 				$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
 				tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\
@@ -544,14 +544,14 @@ bulk:
 	  while read arch; do \
 	      systems=$$(./scripts/getsystems $$arch|grep -v toolchain); \
 	      for system in $$systems;do \
-		mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+		mkdir -p $(TOPDIR)/firmware; \
 	    ( \
 		echo === building $$arch $$system $$libc on $$(date); \
 		$(GMAKE) prereq && \
 		$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive defconfig; \
 		$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
 		rm .config; \
-            ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+            ) 2>&1 | tee $(TOPDIR)/firmware/bulkbuild.log; \
 		if [ -f .exit ]; then break;fi \
 	      done; \
 	    if [ -f .exit ]; then break;fi \
@@ -564,14 +564,14 @@ bulkall:
 	  while read arch; do \
 	      systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \
 	      for system in $$systems;do \
-		mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+		mkdir -p $(TOPDIR)/firmware; \
 	    ( \
 		echo === building $$arch $$system $$libc on $$(date); \
 		$(GMAKE) prereq && \
 		$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allconfig; \
 		$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
 		rm .config; \
-            ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+            ) 2>&1 | tee $(TOPDIR)/firmware/bulkallbuild.log; \
 		if [ -f .exit ]; then break;fi \
 	      done; \
 	      if [ -f .exit ]; then break;fi \
@@ -584,7 +584,7 @@ bulkallmod:
 	  while read arch; do \
 	      systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \
 	      for system in $$systems;do \
-		mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+		mkdir -p $(TOPDIR)/firmware; \
 	    ( \
 		echo === building $$arch $$system $$libc on $$(date); \
 		$(GMAKE) prereq && \
@@ -592,7 +592,7 @@ bulkallmod:
 		$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then echo $$system-$$libc >.exit; exit 1;fi; \
 		$(GMAKE) clean; \
 		rm .config; \
-            ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+            ) 2>&1 | tee $(TOPDIR)/firmware/bulkallmodbuild.log; \
 	        if [ -f .exit ]; then break;fi \
 	      done; \
 	     if [ -f .exit ]; then break;fi \

+ 5 - 0
mk/image.mk

@@ -34,6 +34,9 @@ imageprepare: image-prepare-post extra-install
 # if an extra directory exist in TOPDIR, copy all content over the 
 # root directory, do the same if make extra=/dir/to/extra is used
 extra-install:
+	@-if [ -h ${TARGET_DIR}/etc/resolv.conf -a -f $(TOPDIR)/extra/etc/resolv.conf ];then \
+		rm ${TARGET_DIR}/etc/resolv.conf;\
+	fi
 	@if [ -d $(TOPDIR)/extra ];then $(CP) $(TOPDIR)/extra/* ${TARGET_DIR};fi
 	@if [ ! -z $(extra) ];then $(CP) $(extra)/* ${TARGET_DIR};fi
 
@@ -51,6 +54,7 @@ image-prepare-post:
 	-rm -f ${TARGET_DIR}/bin/sh
 	ln -sf ${BINSH} ${TARGET_DIR}/bin/sh
 ifeq ($(ADK_LINUX_X86_64),y)
+ifeq ($(ADK_TARGET_ABI_32),)
 	# fixup lib dirs
 	mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
 	rm -rf ${TARGET_DIR}/lib/
@@ -60,6 +64,7 @@ ifeq ($(ADK_LINUX_X86_64),y)
 	rm -rf ${TARGET_DIR}/usr/lib/
 	(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
 endif
+endif
 ifeq ($(ADK_LINUX_PPC64),y)
 	# fixup lib dirs
 	mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}

+ 3 - 2
package/base-files/Makefile

@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
 
 PKG_NAME:=		base-files
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		78
+PKG_RELEASE:=		79
 PKG_SECTION:=		base
 PKG_DESCR:=		basic files and scripts
 PKG_BUILDDEP:=		pkgconf-host file-host
@@ -77,7 +77,8 @@ endif
 	test -z $(ADK_RUNTIME_PASSWORD) || \
 	    $(SED) 's,\*NP\*,'"$$($(STAGING_HOST_DIR)/usr/bin/mkcrypt \
 	    ${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
-	git log -1|head -1|sed -e 's#commit ##' \
+	test -z $(GIT) || \
+	     $(GIT) log -1|head -1|sed -e 's#commit ##' \
 		> $(IDIR_BASE_FILES)/etc/adkversion
 	test -z $(ADK_TARGET_SYSTEM) || \
 	    echo $(ADK_TARGET_SYSTEM) > $(IDIR_BASE_FILES)/etc/adktarget

+ 1 - 5
package/base-files/src/etc/init.d/boot

@@ -4,10 +4,6 @@
 
 . /etc/functions.sh
 
-if [ -f /proc/sys/kernel/printk ];then
-	echo 0 > /proc/sys/kernel/printk
-fi
-
 # remount /dev with smaller size
 mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
 
@@ -31,9 +27,9 @@ cat /etc/.rnd >/dev/urandom 2>&1
 # create some useful directories in tmpfs
 mkdir -p /var/log
 mkdir -p /var/run
+mkdir -p /var/tmp
 touch /var/log/lastlog
 touch /var/log/wtmp
-ln -s /tmp /var/tmp
 
 HOSTNAME=
 [[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname)

+ 1 - 1
package/base-files/src/etc/inittab

@@ -6,5 +6,5 @@ null::sysinit:/bin/mount -a -t devpts
 null::sysinit:/bin/mount -a -t tmpfs
 ::sysinit:/etc/init.d/rcS
 ::shutdown:/etc/init.d/rcK
-null::shutdown:/bin/umount -a -r
+null::shutdown:/bin/umount -a -t ext4
 null::shutdown:/sbin/swapoff -a

+ 3 - 3
package/bash/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		bash
-PKG_VERSION:=		4.2
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		3fb927c7c33022f1c327f14a81c0d4b0
+PKG_VERSION:=		4.3
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		81348932d5da294953e15d4814c74dd1
 PKG_DESCR:=		Bourne-Again SHell
 PKG_SECTION:=		shells
 PKG_URL:=		http://www.gnu.org/software/bash/

+ 0 - 13
package/bash/patches/patch-Makefile_in

@@ -1,13 +0,0 @@
---- bash-4.2.orig/Makefile.in	2010-12-01 01:22:42.000000000 +0100
-+++ bash-4.2/Makefile.in	2011-03-09 20:03:07.163370779 +0100
-@@ -710,8 +710,8 @@ pathnames.h:		Makefile $(srcdir)/pathnam
- 	@${RM} pathnames.tmp
- 
- # comment out for distribution
--$(srcdir)/configure:	$(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
--	cd $(srcdir) && autoconf
-+#$(srcdir)/configure:	$(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
-+#	cd $(srcdir) && autoconf
- 
- # for chet
- reconfig: force

+ 0 - 11
package/bash/patches/patch-builtins_Makefile_in

@@ -1,11 +0,0 @@
---- bash-4.0.orig/builtins/Makefile.in	2009-01-04 20:32:22.000000000 +0100
-+++ bash-4.0/builtins/Makefile.in	2009-10-21 13:17:04.681674304 +0200
-@@ -56,7 +56,7 @@ LIBBUILD = ${BUILD_DIR}/lib
- 
- PROFILE_FLAGS = @PROFILE_FLAGS@
- CFLAGS = @CFLAGS@
--CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ @CROSS_COMPILE@
-+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
- CPPFLAGS = @CPPFLAGS@
- CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
- LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG}

+ 3 - 3
package/check/Makefile

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		check
 PKG_VERSION:=		0.9.12
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		46fe540d1a03714c7a1967dbc6d484e7
 PKG_DESCR:=		unit testing framework for C
 PKG_SECTION:=		libs
@@ -19,8 +19,8 @@ include $(TOPDIR)/mk/package.mk
 $(eval $(call PKG_template,LIBCHECK,libcheck,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 libcheck-install:
-	$(INSTALL_DIR) $(IDIR_CHECK)/usr/lib
+	$(INSTALL_DIR) $(IDIR_LIBCHECK)/usr/lib
 	$(CP) $(WRKINST)/usr/lib/libcheck*.so* \
-		$(IDIR_CHECK)/usr/lib
+		$(IDIR_LIBCHECK)/usr/lib
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 12 - 14
package/eudev/Makefile

@@ -4,10 +4,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		eudev
-PKG_VERSION:=		1.3
-PKG_RELEASE:=		1
-PKG_MD5SUM:=		164df78f6f0093578a20bdd00335845f
-PKG_DESCR:=		udev device manager
+PKG_VERSION:=		1.5.3
+PKG_RELEASE:=		2
+PKG_MD5SUM:=		51380938b489385cc394f4ebabc048f0
+PKG_DESCR:=		device manager (udev clone)
 PKG_SECTION:=		utils
 PKG_BUILDDEP:=		gperf-host glib
 PKG_DEPENDS:=		glib
@@ -16,20 +16,22 @@ PKG_SITES:=		http://dev.gentoo.org/~blueness/eudev/
 PKG_LIBNAME:=		libudev
 PKG_OPTS:=		dev
 
-PKG_SUBPKGS:=		UDEV LIBUDEV LIBGUDEV
-PKGSC_LIBGUDEV:=	libs
-PKGSD_LIBGUDEV:=	GUDEV library
+PKG_SUBPKGS:=		UDEV LIBUDEV
+PKGSD_UDEV:=		Dynamic device management manager
 PKGSC_LIBUDEV:=		libs
-PKGSD_LIBUDEV:=		UDEV library
-PKGSD_UDEV:=		Dynamic device management subsystem
+PKGSD_LIBUDEV:=		Dynamic device management library
+
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS+=		libmix
+endif
 
 include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,UDEV,udev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 $(eval $(call PKG_template,LIBUDEV,libudev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-$(eval $(call PKG_template,LIBGUDEV,libgudev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 CONFIGURE_ARGS+=	--disable-manpages \
+			--datadir=${STAGING_TARGET_PREFIX}/usr/lib \
 			--disable-gtk-doc
 
 udev-install:
@@ -43,8 +45,4 @@ libudev-install:
 	${INSTALL_DIR} ${IDIR_LIBUDEV}/usr/lib
 	$(CP) $(WRKINST)/usr/lib/libudev.so* $(IDIR_LIBUDEV)/usr/lib
 
-libgudev-install:
-	${INSTALL_DIR} ${IDIR_LIBGUDEV}/usr/lib
-	$(CP) $(WRKINST)/usr/lib/libgudev*.so* $(IDIR_LIBGUDEV)/usr/lib
-
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 11 - 0
package/eudev/patches/patch-rule_generator_write_cd_rules

@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/rule_generator/write_cd_rules	2014-03-22 23:45:54.000000000 +0100
++++ eudev-1.5.3/rule_generator/write_cd_rules	2014-03-24 18:26:38.000000000 +0100
+@@ -27,7 +27,7 @@ if [ -n "$UDEV_LOG" ]; then
+ 	fi
+ fi
+ 
+-RULES_FILE="${prefix}/etc/udev/rules.d/70-persistent-cd.rules"
++RULES_FILE="/etc/udev/rules.d/70-persistent-cd.rules"
+ 
+ . ${prefix}/lib/udev/rule_generator.functions
+ 

+ 11 - 0
package/eudev/patches/patch-rule_generator_write_net_rules

@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/rule_generator/write_net_rules	2014-03-22 23:45:54.000000000 +0100
++++ eudev-1.5.3/rule_generator/write_net_rules	2014-03-24 18:26:38.000000000 +0100
+@@ -38,7 +38,7 @@ if [ -n "$UDEV_LOG" ]; then
+ 	fi
+ fi
+ 
+-RULES_FILE='${prefix}/etc/udev/rules.d/70-persistent-net.rules'
++RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules'
+ 
+ . ${prefix}/lib/udev/rule_generator.functions
+ 

+ 13 - 0
package/eudev/patches/patch-src_accelerometer_accelerometer_c

@@ -0,0 +1,13 @@
+--- eudev-1.5.3.orig/src/accelerometer/accelerometer.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/accelerometer/accelerometer.c	2014-03-24 20:41:59.000000000 +0100
+@@ -58,8 +58,8 @@
+ #include <linux/limits.h>
+ #include <linux/input.h>
+ 
+-#ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#if defined(__UCLIBC__)
++#define O_CLOEXEC      02000000        /* set close_on_exec */
+ #endif
+ 
+ #include "libudev.h"

+ 13 - 0
package/eudev/patches/patch-src_accelerometer_accelerometer_c.orig

@@ -0,0 +1,13 @@
+--- eudev-1.5.3.orig/src/accelerometer/accelerometer.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/accelerometer/accelerometer.c	2014-03-24 20:39:35.000000000 +0100
+@@ -58,10 +58,6 @@
+ #include <linux/limits.h>
+ #include <linux/input.h>
+ 
+-#ifdef __UCLIBC__
+-#include <linux/fcntl.h>
+-#endif
+-
+ #include "libudev.h"
+ #include "libudev-private.h"
+ 

+ 11 - 0
package/eudev/patches/patch-src_ata_id_ata_id_c

@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/ata_id/ata_id.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/ata_id/ata_id.c	2014-03-24 20:44:36.000000000 +0100
+@@ -42,7 +42,7 @@
+ #include <arpa/inet.h>
+ 
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#define O_CLOEXEC     02000000 /* Set close_on_exec.  */
+ #endif
+ 
+ #include "libudev.h"

+ 13 - 0
package/eudev/patches/patch-src_ata_id_ata_id_c.orig

@@ -0,0 +1,13 @@
+--- eudev-1.5.3.orig/src/ata_id/ata_id.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/ata_id/ata_id.c	2014-03-24 20:43:14.000000000 +0100
+@@ -41,10 +41,6 @@
+ #include <linux/bsg.h>
+ #include <arpa/inet.h>
+ 
+-#ifdef __UCLIBC__
+-#include <linux/fcntl.h>
+-#endif
+-
+ #include "libudev.h"
+ #include "libudev-private.h"
+ #include "log.h"

+ 11 - 0
package/eudev/patches/patch-src_collect_collect_c

@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/collect/collect.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/collect/collect.c	2014-03-24 20:45:48.000000000 +0100
+@@ -32,7 +32,7 @@
+ #include <sys/stat.h>
+ 
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#define O_CLOEXEC     02000000 /* Set close_on_exec.  */
+ #endif
+ 
+ #include "libudev.h"

+ 11 - 0
package/eudev/patches/patch-src_mtd_probe_mtd_probe_c

@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/mtd_probe/mtd_probe.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/mtd_probe/mtd_probe.c	2014-03-24 20:46:53.000000000 +0100
+@@ -27,7 +27,7 @@
+ #include <stdlib.h>
+ 
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++# define O_CLOEXEC     02000000 /* Set close_on_exec.  */
+ #endif
+ 
+ int main(int argc, char** argv)

+ 11 - 0
package/eudev/patches/patch-src_scsi_id_scsi_serial_c

@@ -0,0 +1,11 @@
+--- eudev-1.5.3.orig/src/scsi_id/scsi_serial.c	2014-03-22 22:56:51.000000000 +0100
++++ eudev-1.5.3/src/scsi_id/scsi_serial.c	2014-03-24 20:49:53.000000000 +0100
+@@ -35,7 +35,7 @@
+ #include <linux/bsg.h>
+ 
+ #ifdef __UCLIBC__
+-#include <linux/fcntl.h>
++#define O_CLOEXEC      02000000        /* set close_on_exec */
+ #endif
+ 
+ #include "libudev.h"

+ 12 - 11
package/gdb/Makefile

@@ -20,27 +20,28 @@ TARGET_CFLAGS+=         -static
 CONFIGURE_ARGS+=	--enable-static
 endif
 
-TARGET_CFLAGS:=         $(filter-out -flto,$(TARGET_CFLAGS))
 TARGET_CFLAGS+=		${TARGET_CPPFLAGS} -fPIC
-CONFIGURE_ARGS+=	--without-uiout --enable-gdbmi \
-			--disable-tui --disable-gdbtk --without-x \
-			--without-included-gettext --disable-sim \
-			--with-curses --disable-werror \
-			--without-auto-load-safe-path \
+CONFIGURE_ARGS+=	--without-uiout \
+			--disable-tui \
+			--disable-gdbtk \
+			--without-x \
+			--disable-sim \
+			--disable-werror \
 			--disable-gdbserver \
-			--without-python
+			--without-python \
+			--without-included-gettext \
+			--without-auto-load-safe-path \
+			--with-curses \
+			--enable-gdbmi
+
 XAKE_FLAGS+=		LDFLAGS='${TARGET_LDFLAGS}'
 # disable honour cflags stuff
 XAKE_FLAGS+=		GCC_HONOUR_COPTS:=s
 
-post-extract:
-	-mv $(STAGING_TARGET_DIR)/usr/lib/libiberty.a $(STAGING_TARGET_DIR)/usr/lib/libiberty.a.bak
-
 gdb-install:
 	${INSTALL_DIR} ${IDIR_GDB}/usr/bin
 	${INSTALL_BIN} ${WRKINST}/usr/bin/gdb ${IDIR_GDB}/usr/bin/
 	# shipped libbfd conflicts with system wide one
 	rm -f ${WRKINST}/usr/lib/libbfd*
-	-mv $(STAGING_TARGET_DIR)/usr/lib/libiberty.a.bak $(STAGING_TARGET_DIR)/usr/lib/libiberty.a
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 1
package/glib/Makefile

@@ -11,7 +11,7 @@ PKG_MD5SUM:=		26d1d08e478fc48c181ca8be44f5b69f
 PKG_DESCR:=		low-level core library that forms the basis of GTK+
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libpthread
-PKG_BUILDDEP:=		glib-host zlib libelf dbus
+PKG_BUILDDEP:=		glib-host libffi gettext-tiny libiconv-tiny zlib libelf dbus
 HOST_BUILDDEP:=		libffi-host gettext-tiny-host libiconv-tiny-host
 PKG_URL:=		http://www.gtk.org/
 PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/glib/${PKG_EXTRAVER}/

+ 1 - 1
package/hdparm/Makefile

@@ -7,7 +7,7 @@ PKG_NAME:=		hdparm
 PKG_VERSION:=		9.43
 PKG_RELEASE:=		1
 PKG_MD5SUM:=		f73233be118d86c779a8463d8b6a3cdb
-PKG_DESCR:=		get/set ATA drive parameters
+PKG_DESCR:=		get/set ATA/SATA drive parameters
 PKG_SECTION:=		fs
 PKG_URL:=		http://sourceforge.net/projects/hdparm
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=hdparm/}

+ 3 - 3
package/kbd/Makefile

@@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		kbd
 PKG_VERSION:=		2.0.1
-PKG_RELEASE:=		1
-PKG_MD5SUM:=		cc0ee9f2537d8636cae85a8c6541ed2e
+PKG_RELEASE:=		2
+PKG_MD5SUM:=		e9f2b7046312c11cec9e52e22f307b6a
 PKG_DESCR:=		keyboard utility
 PKG_SECTION:=		utils
 PKG_DEPENDS:=		libcheck
-PKG_BUILDDEP:=		check
+PKG_BUILDDEP:=		flex-host bison-host check
 PKG_URL:=		http://kbd-project.org/
 PKG_SITES:=		http://kbd-project.org/download/
 

+ 11 - 0
package/kbd/patches/patch-src_dumpkeys_c

@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/dumpkeys.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/dumpkeys.c	2014-03-24 22:38:21.000000000 +0100
+@@ -3,6 +3,8 @@
+  *
+  * derived from version 0.81 - aeb@cwi.nl
+  */
++
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <ctype.h>

+ 11 - 0
package/kbd/patches/patch-src_libkeymap_analyze_l

@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/libkeymap/analyze.l	2013-10-04 15:28:49.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/analyze.l	2014-03-24 22:34:35.000000000 +0100
+@@ -12,6 +12,8 @@
+ %}
+ 
+ %top {
++#include <stdarg.h>
++#include <stdio.h>
+ #include "keymap.h"
+ int stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner);
+ int stack_pop(struct lk_ctx *ctx, void *scanner);

+ 8 - 0
package/kbd/patches/patch-src_libkeymap_common_c

@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/libkeymap/common.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/common.c	2014-03-24 21:30:58.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <string.h>
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
+ 

+ 3 - 2
package/kbd/patches/patch-src_libkeymap_dump_c

@@ -1,11 +1,12 @@
 --- kbd-2.0.1.orig/src/libkeymap/dump.c	2013-08-27 22:45:33.000000000 +0200
-+++ kbd-2.0.1/src/libkeymap/dump.c	2014-03-24 12:18:50.000000000 +0100
-@@ -9,6 +9,8 @@
++++ kbd-2.0.1/src/libkeymap/dump.c	2014-03-24 21:46:08.000000000 +0100
+@@ -9,6 +9,9 @@
   * This file is covered by the GNU General Public License,
   * which should be included with kbd as the file COPYING.
   */
 +
 +#include <sys/types.h>
++#include <stdarg.h>
  #include <stdio.h>
  #include <string.h>
  #include <ctype.h>

+ 13 - 0
package/kbd/patches/patch-src_libkeymap_kernel_c

@@ -0,0 +1,13 @@
+--- kbd-2.0.1.orig/src/libkeymap/kernel.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/kernel.c	2014-03-24 21:45:01.000000000 +0100
+@@ -6,7 +6,10 @@
+  * This file is covered by the GNU General Public License,
+  * which should be included with kbd as the file COPYING.
+  */
++
++#include <stdarg.h>
+ #include <string.h>
++#include <stdio.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
+ 

+ 5 - 2
package/kbd/patches/patch-src_libkeymap_kmap_c

@@ -1,7 +1,10 @@
 --- kbd-2.0.1.orig/src/libkeymap/kmap.c	2013-10-07 16:13:31.000000000 +0200
-+++ kbd-2.0.1/src/libkeymap/kmap.c	2014-03-24 12:17:45.000000000 +0100
-@@ -1,3 +1,4 @@
++++ kbd-2.0.1/src/libkeymap/kmap.c	2014-03-24 21:46:56.000000000 +0100
+@@ -1,4 +1,7 @@
 +#include <sys/types.h>
++#include <stdarg.h>
  #include <stdlib.h>
++#include <stdio.h>
  #include <string.h>
  
+ #include "nls.h"

+ 8 - 0
package/kbd/patches/patch-src_libkeymap_ksyms_c

@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/libkeymap/ksyms.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/ksyms.c	2014-03-24 22:37:11.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <linux/keyboard.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>

+ 8 - 0
package/kbd/patches/patch-src_libkeymap_loadkeys_c

@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/libkeymap/loadkeys.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/loadkeys.c	2014-03-24 21:48:35.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <errno.h>
++#include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/ioctl.h>

+ 11 - 0
package/kbd/patches/patch-src_libkeymap_parser_y

@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/libkeymap/parser.y	2013-10-07 16:13:39.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/parser.y	2014-03-24 21:49:52.000000000 +0100
+@@ -12,6 +12,8 @@
+ %{
+ #define YY_HEADER_EXPORT_START_CONDITIONS 1
+ 
++#include <stdarg.h>
++
+ #include "nls.h"
+ #include "kbd.h"
+ 

+ 4 - 2
package/kbd/patches/patch-src_libkeymap_summary_c

@@ -1,11 +1,13 @@
 --- kbd-2.0.1.orig/src/libkeymap/summary.c	2013-08-27 22:45:33.000000000 +0200
-+++ kbd-2.0.1/src/libkeymap/summary.c	2014-03-24 12:23:53.000000000 +0100
-@@ -6,6 +6,8 @@
++++ kbd-2.0.1/src/libkeymap/summary.c	2014-03-24 21:47:48.000000000 +0100
+@@ -6,6 +6,10 @@
   * This file is covered by the GNU General Public License,
   * which should be included with kbd as the file COPYING.
   */
 +
 +#include <sys/types.h>
++#include <stdarg.h>
++#include <stdio.h>
  #include <string.h>
  #include <errno.h>
  #include <sys/ioctl.h>

+ 10 - 0
package/kbd/patches/patch-src_loadkeys_c

@@ -0,0 +1,10 @@
+--- kbd-2.0.1.orig/src/loadkeys.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/loadkeys.c	2014-03-24 22:39:26.000000000 +0100
+@@ -10,6 +10,7 @@
+  * which should be included with kbd as the file COPYING.
+  */
+ 
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-bkeymap_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-bkeymap.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-bkeymap.c	2014-03-24 22:43:01.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-charset_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-charset.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-charset.c	2014-03-24 22:51:27.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-dumpkeys_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-dumpkeys.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-dumpkeys.c	2014-03-24 22:40:50.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-init_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-init.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-init.c	2014-03-24 22:45:25.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-keys_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-keys.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-keys.c	2014-03-24 22:49:03.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-kmap_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-kmap.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-kmap.c	2014-03-24 22:46:30.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-mktable_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-mktable.c	2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-mktable.c	2014-03-24 22:41:52.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-parse_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-parse.c	2013-10-07 14:55:01.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-parse.c	2014-03-24 22:50:11.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <check.h>

+ 7 - 0
package/kbd/patches/patch-tests_libkeymap-showmaps_c

@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/tests/libkeymap-showmaps.c	2013-10-07 16:13:31.000000000 +0200
++++ kbd-2.0.1/tests/libkeymap-showmaps.c	2014-03-24 22:44:16.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>

+ 3 - 3
package/libpciaccess/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		libpciaccess
-PKG_VERSION:=		0.13.1
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		3a95b70913621840bf8af616ea01d7d9
+PKG_VERSION:=		0.13.2
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		c49bd638c78fa4124e11432c1a94b5f4
 PKG_DESCR:=		X.org PCI access library
 PKG_SECTION:=		x11/libs
 PKG_SITES:=		${MASTER_SITE_XORG}

+ 18 - 0
package/libpciaccess/patches/patch-src_freebsd_pci_c

@@ -0,0 +1,18 @@
+--- libpciaccess-0.13.2.orig/src/freebsd_pci.c	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/freebsd_pci.c	2014-03-24 13:26:10.476152263 +0100
+@@ -579,6 +579,7 @@ pci_device_freebsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #elif defined(PCI_MAGIC_IO_RANGE)
+ 	ret->memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
+@@ -588,6 +589,7 @@ pci_device_freebsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #else
+ 	return NULL;

+ 129 - 10
package/libpciaccess/patches/patch-src_linux_sysfs_c

@@ -1,14 +1,11 @@
---- libpciaccess-0.13.1.orig/src/linux_sysfs.c	2012-04-09 19:02:57.000000000 +0200
-+++ libpciaccess-0.13.1/src/linux_sysfs.c	2013-12-01 18:26:04.000000000 +0100
-@@ -34,6 +34,7 @@
- 
- #define _GNU_SOURCE
- 
+--- libpciaccess-0.13.2.orig/src/linux_sysfs.c	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/linux_sysfs.c	2014-03-24 21:01:44.000000000 +0100
+@@ -41,11 +41,12 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
 +#include <limits.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
-@@ -45,7 +46,7 @@
+ #include <sys/mman.h>
  #include <dirent.h>
  #include <errno.h>
  
@@ -17,3 +14,125 @@
  #include <sys/io.h>
  #else
  #define inb(x) -1
+@@ -759,6 +760,7 @@ pci_device_linux_sysfs_open_device_io(st
+ 
+     ret->base = base;
+     ret->size = size;
++    ret->is_legacy = 0;
+ 
+     return ret;
+ }
+@@ -796,6 +798,7 @@ pci_device_linux_sysfs_open_legacy_io(st
+ 
+     ret->base = base;
+     ret->size = size;
++    ret->is_legacy = 1;
+ 
+     return ret;
+ }
+@@ -813,10 +816,14 @@ pci_device_linux_sysfs_read32(struct pci
+ {
+     uint32_t ret;
+ 
+-    if (handle->fd > -1)
+-	pread(handle->fd, &ret, 4, port + handle->base);
+-    else
++    if (handle->fd > -1) {
++	if (handle->is_legacy)
++	    pread(handle->fd, &ret, 4, port + handle->base);
++	else
++	    pread(handle->fd, &ret, 4, port);
++    } else {
+ 	ret = inl(port + handle->base);
++    }
+ 	
+     return ret;
+ }
+@@ -826,10 +833,14 @@ pci_device_linux_sysfs_read16(struct pci
+ {
+     uint16_t ret;
+ 
+-    if (handle->fd > -1)
+-	pread(handle->fd, &ret, 2, port + handle->base);
+-    else
++    if (handle->fd > -1) {
++	if (handle->is_legacy)
++	    pread(handle->fd, &ret, 2, port + handle->base);
++	else
++	    pread(handle->fd, &ret, 2, port);
++    } else {
+ 	ret = inw(port + handle->base);
++    }
+ 
+     return ret;
+ }
+@@ -839,10 +850,14 @@ pci_device_linux_sysfs_read8(struct pci_
+ {
+     uint8_t ret;
+ 
+-    if (handle->fd > -1)
+-	pread(handle->fd, &ret, 1, port + handle->base);
+-    else
++    if (handle->fd > -1) {
++	if (handle->is_legacy)
++	    pread(handle->fd, &ret, 1, port + handle->base);
++	else
++	    pread(handle->fd, &ret, 1, port);
++    } else {
+ 	ret = inb(port + handle->base);
++    }
+ 
+     return ret;
+ }
+@@ -851,30 +866,42 @@ static void
+ pci_device_linux_sysfs_write32(struct pci_io_handle *handle, uint32_t port,
+ 			       uint32_t data)
+ {
+-    if (handle->fd > -1)
+-	pwrite(handle->fd, &data, 4, port + handle->base);
+-    else
++    if (handle->fd > -1) {
++	if (handle->is_legacy)
++	    pwrite(handle->fd, &data, 4, port + handle->base);
++	else
++	    pwrite(handle->fd, &data, 4, port);
++    } else {
+ 	outl(data, port + handle->base);
++    }
+ }
+ 
+ static void
+ pci_device_linux_sysfs_write16(struct pci_io_handle *handle, uint32_t port,
+ 			       uint16_t data)
+ {
+-    if (handle->fd > -1)
+-	pwrite(handle->fd, &data, 2, port + handle->base);
+-    else
++    if (handle->fd > -1) {
++	if (handle->is_legacy)
++	    pwrite(handle->fd, &data, 2, port + handle->base);
++	else
++	    pwrite(handle->fd, &data, 2, port);
++    } else {
+ 	outw(data, port + handle->base);
++    }
+ }
+ 
+ static void
+ pci_device_linux_sysfs_write8(struct pci_io_handle *handle, uint32_t port,
+ 			      uint8_t data)
+ {
+-    if (handle->fd > -1)
+-	pwrite(handle->fd, &data, 1, port + handle->base);
+-    else
++    if (handle->fd > -1) {
++	if (handle->is_legacy)
++	    pwrite(handle->fd, &data, 1, port + handle->base);
++	else
++	    pwrite(handle->fd, &data, 1, port);
++    } else {
+ 	outb(data, port + handle->base);
++    }
+ }
+ 
+ static int

+ 18 - 0
package/libpciaccess/patches/patch-src_netbsd_pci_c

@@ -0,0 +1,18 @@
+--- libpciaccess-0.13.2.orig/src/netbsd_pci.c	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/netbsd_pci.c	2014-03-24 13:26:10.484152334 +0100
+@@ -733,6 +733,7 @@ pci_device_netbsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #elif defined(__amd64__)
+ 	struct x86_64_iopl_args ia;
+@@ -743,6 +744,7 @@ pci_device_netbsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #else
+ 	return NULL;

+ 26 - 0
package/libpciaccess/patches/patch-src_openbsd_pci_c

@@ -0,0 +1,26 @@
+--- libpciaccess-0.13.2.orig/src/openbsd_pci.c	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/openbsd_pci.c	2014-03-24 13:26:10.484152334 +0100
+@@ -412,6 +412,7 @@ pci_device_openbsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #elif defined(__amd64__)
+ 	struct amd64_iopl_args ia;
+@@ -422,6 +423,7 @@ pci_device_openbsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #elif defined(PCI_MAGIC_IO_RANGE)
+ 	ret->memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
+@@ -431,6 +433,7 @@ pci_device_openbsd_open_legacy_io(struct
+ 
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+ #else
+ 	return NULL;

+ 10 - 0
package/libpciaccess/patches/patch-src_pciaccess_private_h

@@ -0,0 +1,10 @@
+--- libpciaccess-0.13.2.orig/src/pciaccess_private.h	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/pciaccess_private.h	2014-03-24 13:26:10.492152406 +0100
+@@ -109,6 +109,7 @@ struct pci_io_handle {
+     pciaddr_t size;
+     void *memory;
+     int fd;
++    int is_legacy;
+ };
+ 
+ struct pci_device_private {

+ 10 - 0
package/libpciaccess/patches/patch-src_solx_devfs_c

@@ -0,0 +1,10 @@
+--- libpciaccess-0.13.2.orig/src/solx_devfs.c	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/solx_devfs.c	2014-03-24 13:26:10.496152442 +0100
+@@ -911,6 +911,7 @@ pci_device_solx_devfs_open_legacy_io(str
+     if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) == 0) {
+ 	ret->base = base;
+ 	ret->size = size;
++	ret->is_legacy = 1;
+ 	return ret;
+     }
+ #endif

+ 10 - 0
package/libpciaccess/patches/patch-src_x86_pci_c

@@ -0,0 +1,10 @@
+--- libpciaccess-0.13.2.orig/src/x86_pci.c	2013-07-21 00:54:34.000000000 +0200
++++ libpciaccess-0.13.2/src/x86_pci.c	2014-03-24 13:26:10.496152442 +0100
+@@ -558,6 +558,7 @@ pci_device_x86_open_legacy_io(struct pci
+ 
+     ret->base = base;
+     ret->size = size;
++    ret->is_legacy = 1;
+ 
+     return ret;
+ }

+ 1 - 1
package/mpd/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		mpd
 PKG_VERSION:=		0.18.9
-PKG_RELEASE:=		1
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		0e5156a831d4302d2032998bcfd5c36f
 PKG_DESCR:=		A music player daemon
 PKG_SECTION:=		multimedia

+ 0 - 91
package/mpd/patches/patch-src_db_SimpleDatabasePlugin_cxx

@@ -1,91 +0,0 @@
---- mpd-0.18.5.orig/src/db/SimpleDatabasePlugin.cxx	2013-11-22 00:33:30.000000000 +0100
-+++ mpd-0.18.5/src/db/SimpleDatabasePlugin.cxx	2013-11-30 19:17:55.000000000 +0100
-@@ -35,6 +35,9 @@
- 
- #include <sys/types.h>
- #include <errno.h>
-+#include <sys/mount.h> 
-+#include <mntent.h>
-+#include <string.h>
- 
- static constexpr Domain simple_db_domain("simple_db");
- 
-@@ -95,8 +98,8 @@ SimpleDatabase::Check(Error &error) cons
- 			return false;
- 		}
- 
--		/* Check if we can write to the directory */
--		if (!CheckAccess(dirPath, X_OK | W_OK)) {
-+		/* Check if we can change into the directory */
-+		if (!CheckAccess(dirPath, X_OK)) {
- 			const int e = errno;
- 			const std::string dirPath_utf8 = dirPath.ToUTF8();
- 			error.FormatErrno(e, "Can't create db file in \"%s\"",
-@@ -122,9 +125,9 @@ SimpleDatabase::Check(Error &error) cons
- 		return false;
- 	}
- 
--	/* And check that we can write to it */
--	if (!CheckAccess(path, R_OK | W_OK)) {
--		error.FormatErrno("Can't open db file \"%s\" for reading/writing",
-+	/* And check that we can read it */
-+	if (!CheckAccess(path, R_OK)) {
-+		error.FormatErrno("Can't open db file \"%s\" for reading",
- 				  path_utf8.c_str());
- 		return false;
- 	}
-@@ -281,6 +284,10 @@ SimpleDatabase::GetStats(const DatabaseS
- bool
- SimpleDatabase::Save(Error &error)
- {
-+	struct mntent *mnt;
-+	int remount;
-+	FILE *f;
-+
- 	db_lock();
- 
- 	LogDebug(simple_db_domain, "removing empty directories from DB");
-@@ -293,6 +300,26 @@ SimpleDatabase::Save(Error &error)
- 
- 	LogDebug(simple_db_domain, "writing DB");
- 
-+	remount = 0;
-+	/* check if /data is mounted read-only */
-+	if ((f = setmntent("/proc/mounts", "r")) == NULL)
-+		error.Format(simple_db_domain, "Checking /proc/mounts failed");
-+
-+	while ((mnt = getmntent(f)) != NULL) {
-+		if (strcmp(mnt->mnt_dir, "/data") == 0 &&
-+			hasmntopt(mnt, MNTOPT_RO) != NULL) {
-+			remount = 1;
-+		}
-+	}
-+	endmntent(f);
-+
-+	if (remount) {		
-+		if (mount("","/data",0,MS_REMOUNT,0)<0) {
-+			error.Format(simple_db_domain, "Remounting /data rw failed");
-+		}
-+		LogDebug(simple_db_domain, "Mounted /data successfully in read-write mode"); 
-+	}
-+
- 	FILE *fp = FOpen(path, FOpenMode::WriteText);
- 	if (!fp) {
- 		error.FormatErrno("unable to write to db file \"%s\"",
-@@ -310,6 +337,16 @@ SimpleDatabase::Save(Error &error)
- 
- 	fclose(fp);
- 
-+	if (remount) {
-+		sync();
-+		if (mount("","/data",0,MS_REMOUNT|MS_RDONLY,0)<0) {
-+			error.Format(simple_db_domain, "Remounting /data ro failed");
-+		}
-+		LogDebug(simple_db_domain, "Mounted /data successfully in read-only mode");
-+	}
-+
-+	LogDebug(simple_db_domain, "Successfully written database");	
-+
- 	struct stat st;
- 	if (StatFile(path, st))
- 		mtime = st.st_mtime;

+ 2 - 2
package/mpd/patches/patch-src_thread_Id_hxx

@@ -1,5 +1,5 @@
---- mpd-0.18.5.orig/src/thread/Id.hxx	2013-11-18 23:50:46.000000000 +0100
-+++ mpd-0.18.5/src/thread/Id.hxx	2013-11-29 20:50:36.000000000 +0100
+--- mpd-0.18.9.orig/src/thread/Id.hxx	2013-12-11 20:51:53.000000000 +0100
++++ mpd-0.18.9/src/thread/Id.hxx	2014-03-26 09:04:04.000000000 +0100
 @@ -84,7 +84,7 @@ public:
  #ifdef WIN32
  		return id == other.id;

+ 2 - 2
package/openssh/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		openssh
-PKG_VERSION:=		6.5p1
+PKG_VERSION:=		6.6p1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		a084e7272b8cbd25afe0f5dce4802fef
+PKG_MD5SUM:=		3e9800e6bca1fbac0eea4d41baa7f239
 PKG_DESCR:=		OpenSSH
 PKG_SECTION:=		net/security
 PKG_BUILDDEP:=		zlib openssl

+ 2 - 2
package/openssh/patches/patch-digest_c → package/openssh/patches/patch-digest-openssl_c

@@ -1,5 +1,5 @@
---- openssh-6.5p1.orig/digest.c	2014-01-20 02:41:53.000000000 +0100
-+++ openssh-6.5p1/digest.c	2014-02-11 17:41:23.000000000 +0100
+--- openssh-6.6p1.orig/digest-openssl.c	2014-02-04 01:25:45.000000000 +0100
++++ openssh-6.6p1/digest-openssl.c	2014-03-24 13:42:01.000000000 +0100
 @@ -44,7 +44,9 @@ struct ssh_digest {
  /* NB. Indexed directly by algorithm number */
  const struct ssh_digest digests[] = {

+ 0 - 24
package/openssh/patches/patch-mac_c

@@ -1,24 +0,0 @@
-diff -Nur openssh-6.2p1.orig/mac.c openssh-6.2p1/mac.c
---- openssh-6.5p1.orig/mac.c	2014-01-10 00:37:05.000000000 +0100
-+++ openssh-6.5p1/mac.c	2014-02-11 15:26:16.000000000 +0100
-@@ -70,8 +70,10 @@ static const struct macalg macs[] = {
- #endif
- 	{ "hmac-md5",				SSH_EVP, EVP_md5, 0, 0, 0, 0 },
- 	{ "hmac-md5-96",			SSH_EVP, EVP_md5, 96, 0, 0, 0 },
-+#ifndef OPENSSL_NO_RIPEMD
- 	{ "hmac-ripemd160",			SSH_EVP, EVP_ripemd160, 0, 0, 0, 0 },
- 	{ "hmac-ripemd160@openssh.com",		SSH_EVP, EVP_ripemd160, 0, 0, 0, 0 },
-+#endif
- 	{ "umac-64@openssh.com",		SSH_UMAC, NULL, 0, 128, 64, 0 },
- 	{ "umac-128@openssh.com",		SSH_UMAC128, NULL, 0, 128, 128, 0 },
- 
-@@ -84,7 +86,9 @@ static const struct macalg macs[] = {
- #endif
- 	{ "hmac-md5-etm@openssh.com",		SSH_EVP, EVP_md5, 0, 0, 0, 1 },
- 	{ "hmac-md5-96-etm@openssh.com",	SSH_EVP, EVP_md5, 96, 0, 0, 1 },
-+#ifndef OPENSSL_NO_RIPEMD
- 	{ "hmac-ripemd160-etm@openssh.com",	SSH_EVP, EVP_ripemd160, 0, 0, 0, 1 },
-+#endif
- 	{ "umac-64-etm@openssh.com",		SSH_UMAC, NULL, 0, 128, 64, 1 },
- 	{ "umac-128-etm@openssh.com",		SSH_UMAC128, NULL, 0, 128, 128, 1 },
- 

+ 11 - 4
package/sudo/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		sudo
-PKG_VERSION:=		1.7.4p4
+PKG_VERSION:=		1.8.10
 PKG_RELEASE:=		2
-PKG_MD5SUM:=		55d9906535d70a1de347cd3d3550ee87
+PKG_MD5SUM:=		954d64906c3f6e2436f33445a049c58b
 PKG_DESCR:=		su do
 PKG_SECTION:=		admin
 PKG_URL:=		http://www.courtesan.com/sudo/
@@ -16,9 +16,16 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,SUDO,sudo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+CPPFLAGS_FOR_BUILD+=	-I../ -I../include
 CONFIGURE_ARGS+=	--without-pam \
-			--with-env-editor \
-			--with-timedir=/var/run
+			--without-sendmail \
+			--with-env-editor
+
+ifeq ($(ADK_TOOLCHAIN_GCC_USE_SSP),y)
+CONFIGURE_ARGS+=	--enable-hardening
+else
+CONFIGURE_ARGS+=	--disable-hardening
+endif
 
 sudo-install:
 	$(INSTALL_DIR) $(IDIR_SUDO)/usr/bin

+ 15 - 0
package/sudo/patches/patch-compat_Makefile_in

@@ -0,0 +1,15 @@
+--- sudo-1.8.10.orig/compat/Makefile.in	2014-03-07 22:51:19.000000000 +0100
++++ sudo-1.8.10/compat/Makefile.in	2014-03-24 15:58:28.000000000 +0100
+@@ -96,10 +96,10 @@ signame.c: mksigname
+ 	./mksigname > $@
+ 
+ mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/missing.h $(top_builddir)/config.h
+-	$(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
++	$(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
+ 
+ mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/missing.h $(top_builddir)/config.h
+-	$(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@
++	$(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@
+ 
+ fnm_test: fnm_test.o libreplace.la
+ 	$(LIBTOOL) --mode=link $(CC) -o $@ fnm_test.o libreplace.la $(PIE_LDFLAGS) $(SSP_LDFLAGS)

+ 54 - 0
package/sudo/patches/patch-plugins_sudoers_match_c

@@ -0,0 +1,54 @@
+--- sudo-1.8.10.orig/plugins/sudoers/match.c	2014-03-07 22:51:19.000000000 +0100
++++ sudo-1.8.10/plugins/sudoers/match.c	2014-03-24 16:16:24.000000000 +0100
+@@ -122,10 +122,12 @@ userlist_matches(const struct passwd *pw
+ 	    case ALL:
+ 		matched = !m->negated;
+ 		break;
++#if 0
+ 	    case NETGROUP:
+ 		if (netgr_matches(m->name, NULL, NULL, pw->pw_name))
+ 		    matched = !m->negated;
+ 		break;
++#endif
+ 	    case USERGROUP:
+ 		if (usergr_matches(m->name, pw->pw_name, pw))
+ 		    matched = !m->negated;
+@@ -178,10 +180,12 @@ runaslist_matches(const struct member_li
+ 		    case ALL:
+ 			user_matched = !m->negated;
+ 			break;
++#if 0
+ 		    case NETGROUP:
+ 			if (netgr_matches(m->name, NULL, NULL, runas_pw->pw_name))
+ 			    user_matched = !m->negated;
+ 			break;
++#endif
+ 		    case USERGROUP:
+ 			if (usergr_matches(m->name, runas_pw->pw_name, runas_pw))
+ 			    user_matched = !m->negated;
+@@ -278,10 +282,12 @@ hostlist_matches(const struct member_lis
+ 	    case ALL:
+ 		matched = !m->negated;
+ 		break;
++#if 0
+ 	    case NETGROUP:
+ 		if (netgr_matches(m->name, user_runhost, user_srunhost, NULL))
+ 		    matched = !m->negated;
+ 		break;
++#endif
+ 	    case NTWKADDR:
+ 		if (addr_matches(m->name))
+ 		    matched = !m->negated;
+@@ -930,6 +936,7 @@ sudo_getdomainname(void)
+  * else return false.  Either of "lhost", "shost" or "user" may be NULL
+  * in which case that argument is not checked...
+  */
++#if 0
+ bool
+ netgr_matches(const char *netgr, const char *lhost, const char *shost, const char *user)
+ {
+@@ -972,3 +979,4 @@ netgr_matches(const char *netgr, const c
+ 
+     debug_return_bool(rc);
+ }
++#endif

+ 1 - 0
package/xbmc/Makefile

@@ -69,6 +69,7 @@ CONFIGURE_ARGS+=	--disable-optical-drive \
 			--enable-libbluray \
 			--enable-external-libraries \
 			--enable-rtmp \
+			--enable-libcec \
 			--disable-libusb \
 			--disable-libcap \
 			--disable-sdl \

+ 0 - 6
scripts/scan-tools.sh

@@ -208,12 +208,6 @@ if ! which g++ >/dev/null 2>&1; then
 	out=1
 fi
 
-if ! which git >/dev/null 2>&1; then
-	echo  "You need git to continue."
-	echo
-	out=1
-fi
-
 cd $topdir
 rm -rf tmp
 

+ 1 - 0
target/config/Config.in

@@ -175,6 +175,7 @@ endchoice
 
 config ADK_TARGET_LIBC_PATH
 	string
+	default "lib" if ADK_32
 	default "lib32" if ADK_n32
 	default "libx32" if ADK_x32
 	default "lib64" if ADK_n64 \

+ 12 - 0
target/mips/sys-available/qemu-mips64eln32

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64ELN32
+	bool "Qemu Emulator (mips64 little endian n32 abi)"
+	select ADK_mips
+	select ADK_little
+	select ADK_n32
+	select ADK_qemu_mips64el
+	select ADK_CPU_MIPS64
+	select ADK_LINUX_64
+	select ADK_HARDWARE_QEMU
+	select ADK_TARGET_KERNEL_VMLINUZ
+	help
+	  Qemu support for mips64 little endian architecture with n32 abi.

+ 12 - 0
target/mips/sys-available/qemu-mips64eln64

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64ELN64
+	bool "Qemu Emulator (mips64 little endian n64 abi)"
+	select ADK_mips
+	select ADK_little
+	select ADK_n64
+	select ADK_qemu_mips64el
+	select ADK_CPU_MIPS64
+	select ADK_LINUX_64
+	select ADK_HARDWARE_QEMU
+	select ADK_TARGET_KERNEL_VMLINUZ
+	help
+	  Qemu support for mips64 little endian architecture with n64 abi.

+ 13 - 0
target/mips/sys-available/qemu-mips64n32

@@ -0,0 +1,13 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64N32
+	bool "Qemu Emulator (mips64 big endian n32 abi)"
+	select ADK_mips
+	select ADK_big
+	select ADK_n32
+	select ADK_qemu_mips64
+	select ADK_CPU_MIPS64
+	select ADK_LINUX_64
+	select ADK_HARDWARE_QEMU
+	select ADK_TARGET_KERNEL_VMLINUZ
+	help
+	  Qemu support for mips64 big endian architecture with n32 abi.
+

+ 13 - 0
target/mips/sys-available/qemu-mips64n64

@@ -0,0 +1,13 @@
+config ADK_TARGET_SYSTEM_QEMU_MIPS64N64
+	bool "Qemu Emulator (mips64 big endian n64 abi)"
+	select ADK_mips
+	select ADK_big
+	select ADK_n64
+	select ADK_qemu_mips64
+	select ADK_CPU_MIPS64
+	select ADK_LINUX_64
+	select ADK_HARDWARE_QEMU
+	select ADK_TARGET_KERNEL_VMLINUZ
+	help
+	 Qemu support for mips64 big endian architecture with n64 abi.
+

+ 3 - 3
target/packages/pkg-available/mpdbox

@@ -3,8 +3,9 @@ config ADK_PKG_MPDBOX
 	default n
 	select ADK_PACKAGE_MPDBOX
 	select ADK_PACKAGE_CIFS_UTILS
-	select ADK_PACKAGE_NFS_UTILS if ADK_TARGET_LIB_GLIBC
-	select ADK_PACKAGE_NFS_UTILS_CLIENT if ADK_TARGET_LIB_GLIBC
+	select ADK_PACKAGE_NFS_UTILS
+	select ADK_PACKAGE_NFS_UTILS_CLIENT
+	select ADK_PACKAGE_NTFS_3G
 	select ADK_PACKAGE_LIBMPDCLIENT
 	select ADK_PACKAGE_MPC
 	select ADK_PACKAGE_MPD
@@ -22,7 +23,6 @@ config ADK_PKG_MPDBOX
 	select ADK_PACKAGE_MPD_WITH_CURL
 	select ADK_PACKAGE_MPD_WITH_SAMPLERATE
 	select ADK_PACKAGE_MPD_WITH_HTTPD
-	select ADK_PACKAGE_CPUFREQUTILS
 	select ADK_PACKAGE_FILE
 	select ADK_PACKAGE_HTOP
 	select ADK_PACKAGE_DROPBEAR

+ 3 - 0
target/tarch.lst

@@ -14,7 +14,10 @@ mips64eln64
 ppc
 ppc64
 sh
+sheb
 sparc
 sparc64
 x86
 x86_64
+x86_64_32
+x86_64_x32

+ 12 - 0
target/x86_64/sys-available/qemu-x86_64_32

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_X86_64_32
+	bool "Qemu Emulator"
+	select ADK_x86_64
+	select ADK_qemu_x86_64
+	select ADK_32
+	select ADK_CPU_X86_64
+	select ADK_LINUX_64
+	select ADK_HARDWARE_QEMU
+	select ADK_TARGET_KERNEL_BZIMAGE
+	help
+	 Support for Qemu Emulator.
+

+ 12 - 0
target/x86_64/sys-available/qemu-x86_64_x32

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_QEMU_X86_64_X32
+	bool "Qemu Emulator"
+	select ADK_x86_64
+	select ADK_qemu_x86_64
+	select ADK_x32
+	select ADK_CPU_X86_64
+	select ADK_LINUX_64
+	select ADK_HARDWARE_QEMU
+	select ADK_TARGET_KERNEL_BZIMAGE
+	help
+	 Support for Qemu Emulator.
+

+ 12 - 0
target/x86_64/sys-available/toolchain-x86_64_32

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_X86_64_32
+	bool "Toolchain only (32 ABI)"
+	select ADK_x86_64
+	select ADK_32
+	select ADK_toolchain_x86_64
+	select ADK_CPU_X86_64
+	select ADK_LINUX_64
+	select ADK_TOOLCHAIN
+	select ADK_TARGET_PACKAGE_TGZ
+	help
+	  Build a x86_64 toolchain.
+

+ 12 - 0
target/x86_64/sys-available/toolchain-x86_64_x32

@@ -0,0 +1,12 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_X86_64_X32
+	bool "Toolchain only (x32 ABI)"
+	select ADK_x86_64
+	select ADK_x32
+	select ADK_toolchain_x86_64
+	select ADK_CPU_X86_64
+	select ADK_LINUX_64
+	select ADK_TOOLCHAIN
+	select ADK_TARGET_PACKAGE_TGZ
+	help
+	  Build a x86_64 toolchain.
+

+ 1 - 1
toolchain/binutils/Makefile

@@ -16,7 +16,7 @@ ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
 CONFOPTS+=          	--with-arch=armv6
 endif
 
-ifneq ($(strip $(ADK_LINUX_64)$(ADK_TARGET_KERNEL64)),)
+ifneq ($(ADK_LINUX_64),)
 CONFOPTS+=		--enable-64-bit-bfd
 endif
 

+ 2 - 2
toolchain/gcc/Makefile

@@ -45,10 +45,10 @@ endif
 
 ifeq ($(ADK_LINUX_X86_64),y)
 ifeq ($(ADK_x32),y)
-GCC_FINAL_CONFOPTS+=	--enable-multilib --with-multilib-list=mx32
+GCC_FINAL_CONFOPTS+=	--with-abi=x32
 endif
 ifeq ($(ADK_32),y)
-GCC_FINAL_CONFOPTS+=	--enable-multilib --with-multilib-list=m32
+GCC_FINAL_CONFOPTS+=	--with-abi=32
 endif
 ifeq ($(ADK_64),y)
 GCC_FINAL_CONFOPTS+=	--disable-biarch --disable-multilib

+ 54 - 0
toolchain/gcc/patches/4.8.2/abi32.patch

@@ -0,0 +1,54 @@
+diff -Nur gcc-4.8.2.orig/gcc/config/i386/biarch32.h gcc-4.8.2/gcc/config/i386/biarch32.h
+--- gcc-4.8.2.orig/gcc/config/i386/biarch32.h	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/biarch32.h	2014-03-23 20:33:52.000000000 +0100
+@@ -0,0 +1,27 @@
++/* Make configure files to produce biarch compiler defaulting to 32bit mode.
++   This file must be included very first, while the OS specific file later
++   to overwrite otherwise wrong defaults. 
++   Copyright (C) 2001-2014 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++GCC 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 3, or (at your option)
++any later version.
++
++GCC 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.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
++<http://www.gnu.org/licenses/>.  */
++
++#define TARGET_64BIT_DEFAULT 0
+diff -Nur gcc-4.8.2.orig/gcc/config.gcc gcc-4.8.2/gcc/config.gcc
+--- gcc-4.8.2.orig/gcc/config.gcc	2013-10-03 02:47:24.000000000 +0200
++++ gcc-4.8.2/gcc/config.gcc	2014-03-22 13:15:18.000000000 +0100
+@@ -522,6 +522,9 @@
+ 	64 | m64)
+ 		tm_file="i386/biarch64.h ${tm_file}"
+ 		;;
++	32 | m32)
++		tm_file="i386/biarch32.h ${tm_file}"
++		;;
+ 	x32 | mx32)
+ 		tm_file="i386/biarchx32.h ${tm_file}"
+ 		;;
+@@ -1343,6 +1346,9 @@
+ 		x32 | mx32)
+ 			x86_multilibs="mx32"
+ 			;;
++		32 | m32)
++			x86_multilibs="m32"
++			;;
+ 		*)
+ 			x86_multilibs="m64,m32"
+ 			;;

+ 1 - 1
toolchain/glibc/Makefile.inc

@@ -6,7 +6,7 @@ PKG_VERSION:=		2.19
 PKG_RELEASE:=		1
 PKG_MD5SUM:=		5374d29864b583622b62bfc6b8429418
 PKG_SITES:=		${MASTER_SITE_GNU:=glibc/}
-ifeq ($(ADK_TARGET_ABI_32),y)
+ifeq ($(ADK_32),y)
 GLIBC_TARGET_NAME:=	i686-openadk-linux-gnu
 else
 GLIBC_TARGET_NAME:=	$(GNU_TARGET_NAME)