Browse Source

rework architecture / embedded systems concept

Make configuration of new targets cheap.
Just add a new file in target/arch/sys-enabled/foo.
See other files for syntax. While doing runtime tests
with the new infrastructure I've updated a lot of other
stuff:
- gcc 4.5.2
- uClibc 0.9.32-rc1 (NPTL)
- strongswan, php, miredo, parted, util-linux-ng, e2fsprogs

I promise, this is the last big fat commit this year ;)
Waldemar Brodkorb 13 years ago
parent
commit
220a96f992
100 changed files with 959 additions and 1106 deletions
  1. 8 1
      .gitignore
  2. 27 127
      Config.in
  3. 16 13
      Makefile
  4. 1 1
      README
  5. 10 5
      TODO
  6. 131 98
      mk/build.mk
  7. 15 23
      mk/image.mk
  8. 9 15
      mk/kernel-build.mk
  9. 1 1
      mk/kernel.mk
  10. 20 9
      mk/modules.mk
  11. 27 27
      mk/package.mk
  12. 19 19
      mk/pkg-bottom.mk
  13. 2 2
      mk/python.mk
  14. 8 7
      mk/rootfs.mk
  15. 15 25
      mk/vars.mk
  16. 1 2
      package/DirectFB/Makefile
  17. 5 5
      package/MesaLib/Makefile
  18. 1 1
      package/MesaLib/patches/patch-configs_default
  19. 8 7
      package/adkinstall/Makefile
  20. 12 5
      package/adkinstall/src/adkinstall
  21. 2 1
      package/adkinstall/src/adkinstall.foxg20
  22. 1 2
      package/adkinstall/src/adkinstall.rb4xx
  23. 9 8
      package/adkinstall/src/adkinstall.rb532
  24. 0 2
      package/alix-switch/Makefile
  25. 4 4
      package/apr-util/Makefile
  26. 4 4
      package/apr/Makefile
  27. 5 5
      package/arpd/Makefile
  28. 2 2
      package/arpwatch/Makefile
  29. 10 10
      package/asterisk/Makefile
  30. 24 34
      package/aufs2-util/src/Makefile
  31. 1 1
      package/base-files/Config.in.manual
  32. 7 5
      package/base-files/Makefile
  33. 1 1
      package/base-files/files/inittab.serial
  34. 1 1
      package/base-files/src/etc/ipkg.conf
  35. 2 2
      package/bind/Makefile
  36. 2 2
      package/bitlbee/Makefile
  37. 1 2
      package/bkeymaps/Makefile
  38. 1 1
      package/bogofilter/Makefile
  39. 3 3
      package/busybox/Makefile
  40. 1 0
      package/busybox/config/util-linux/Config.in
  41. 230 250
      package/busybox/patches/001-ipkg.patch
  42. 27 22
      package/busybox/patches/003-defaults.patch
  43. 0 23
      package/busybox/patches/004-wget-accept-long-opts.patch
  44. 0 12
      package/busybox/patches/005-dot-find.patch
  45. 20 20
      package/busybox/patches/006-od-bloat.patch
  46. 0 71
      package/busybox/patches/007-endianness-check.patch
  47. 2 4
      package/cfgfs/Makefile
  48. 4 1
      package/cfgfs/src/fwcf.sh
  49. 0 2
      package/cpufrequtils/Makefile
  50. 5 5
      package/cryptinit/Makefile
  51. 1 1
      package/cryptsetup/Makefile
  52. 1 1
      package/curl/Makefile
  53. 2 2
      package/cxxtools/Makefile
  54. 1 1
      package/cyrus-sasl/Makefile
  55. 1 1
      package/dansguardian/Makefile
  56. 10 0
      package/davfs2/patches/patch-src_cache_c
  57. 10 0
      package/davfs2/patches/patch-src_dav_fuse_c
  58. 2 2
      package/dbus/Makefile
  59. 1 1
      package/dillo/Makefile
  60. 5 5
      package/dsniff/Makefile
  61. 5 5
      package/e2fsprogs/Makefile
  62. 30 0
      package/e2fsprogs/patches/patch-debugfs_dump_c
  63. 10 0
      package/e2fsprogs/patches/patch-debugfs_dump_c.orig
  64. 10 0
      package/e2fsprogs/patches/patch-debugfs_logdump_c
  65. 10 0
      package/e2fsprogs/patches/patch-debugfs_set_fields_c
  66. 11 0
      package/e2fsprogs/patches/patch-e2fsprogs_spec
  67. 10 0
      package/e2fsprogs/patches/patch-misc_e2initrd_helper_c
  68. 5 6
      package/eglibc/Makefile
  69. 1 1
      package/elinks/Makefile
  70. 1 1
      package/evilwm/Makefile
  71. 1 1
      package/fetchmail/Makefile
  72. 14 21
      package/ffmpeg/Makefile
  73. 5 4
      package/firefox/Makefile
  74. 26 2
      package/firefox/patches/patch-configure
  75. 1 1
      package/fltk/Makefile
  76. 1 1
      package/font-misc-misc/Makefile
  77. 2 2
      package/font-util/Makefile
  78. 2 2
      package/fprobe/Makefile
  79. 1 1
      package/freeglut/Makefile
  80. 8 8
      package/freeradius-server/Makefile
  81. 1 1
      package/gatling/Makefile
  82. 0 2
      package/gcc/Makefile
  83. 1 1
      package/gdb/Makefile
  84. 1 1
      package/gdbserver/Makefile
  85. 27 0
      package/gdk-pixbuf/Makefile
  86. 2 2
      package/gettext/Makefile
  87. 1 1
      package/git/Makefile
  88. 3 3
      package/glib/Makefile
  89. 0 20
      package/glib/patches/patch-gio_Makefile_in
  90. 6 7
      package/glibc/Makefile
  91. 2 2
      package/gmediaserver/Makefile
  92. 1 1
      package/gnutls/Makefile
  93. 1 1
      package/gpsd/Makefile
  94. 3 2
      package/grub-bin/Makefile
  95. 1 1
      package/grub/Makefile
  96. 4 5
      package/gtk+/Makefile
  97. 0 11
      package/gtk+/patches/patch-Makefile_in
  98. 0 70
      package/gtk+/patches/patch-gtk_gtktypefuncs_c
  99. 7 7
      package/heimdal/Makefile
  100. 5 5
      package/icecast/Makefile

+ 8 - 1
.gitignore

@@ -25,7 +25,9 @@ toolchain_build_*/
 .defconfig
 all.config
 .cfg_*/
-cross_*/
+target_*/
+host_*/
+pkg_*/
 root_*/
 bin/
 build_*/
@@ -42,3 +44,8 @@ package/*/Config.in.kmod
 tools_build/
 extra/
 .menu
+target/*/Config.in.systems
+target/*/sys-enabled
+target/packages/pkg-enabled
+target/packages/Config.in
+target/config/Config.in.system.default

+ 27 - 127
Config.in

@@ -5,8 +5,6 @@ config ADKVERSION
 	string
 	option env="ADKVERSION"
 
-mainmenu "OpenADK Configuration"
-
 config MODULES
 	bool
 	default y
@@ -15,144 +13,46 @@ config ADK_HAVE_DOT_CONFIG
 	bool
 	default y
 
-menu "ADK settings"
-
-config ADK_VENDOR
-	string "vendor name"
-	default "openadk"
-	help
-	  Vendor string is used for toolchain.
-
-config ADK_HOST
-	string "webserver for packages and distfiles"
-	default "www.openadk.org"
-	help
-	  Configure host for IPKG package management.
-
-config ADK_DEVELSYSTEM
-	bool "Compile a ADK development system"
-	default n
-	select ADK_PACKAGE_BASH
-	select ADK_PACKAGE_BINUTILS
-	select ADK_PACKAGE_BZIP2
-	select ADK_PACKAGE_DIFFUTILS
-	select ADK_PACKAGE_FILE
-	select ADK_PACKAGE_GAWK
-	select ADK_PACKAGE_GCC
-	select ADK_PACKAGE_GIT
-	select ADK_PACKAGE_GREP
-	select ADK_PACKAGE_UCLIBC_DEV if ADK_TARGET_LIB_UCLIBC
-	select ADK_PACKAGE_EGLIBC_DEV if ADK_TARGET_LIB_EGLIBC
-	select ADK_PACKAGE_GLIBC_DEV if ADK_TARGET_LIB_GLIBC
-	select ADK_PACKAGE_LIBNCURSES
-	select ADK_PACKAGE_LIBNCURSES_DEV
-	select ADK_PACKAGE_M4
-	select ADK_PACKAGE_MAKE
-	select ADK_PACKAGE_PATCH
-	select ADK_PACKAGE_PKG_CONFIG
-	select ADK_PACKAGE_MICROPERL
-	select ADK_PACKAGE_TSORT
-	select BUSYBOX_STAT
-	select BUSYBOX_FEATURE_STAT_FORMAT
-	select BUSYBOX_TR
-	select BUSYBOX_FEATURE_TR_CLASSES
-	select ADK_PACKAGE_ZLIB
-	select ADK_PACKAGE_ZLIB_DEV
-	select ADK_PACKAGE_XZ
-	help
-	  After bootstrapping a Linux system you might want to
-	  switch to native builds with your target. 
-	  If you choose this option, all necessary software needed
-	  for native building will be selected by this option.
-
-config ADK_DEBUG
-	bool "Enable debug support"
-	default n
-	help
-	  All packages and libc will be compiled and packaged with debug information.
-	  Mostly useful for NFS root or big USB/CF or hard disk setups.
-
-config ADK_STATIC
-	bool "Link applications statically by default"
-	default n
-	help
-	  Useful for toolchain only target devices.
-
-config ADK_MAKE_JOBS
-	int
-	default 1 if ! ADK_MAKE_PARALLEL
-
-config ADK_MAKE_PARALLEL
-	prompt "Enable parallel building of packages that claim to support it"
-	boolean
-	default n
-
-config ADK_MAKE_JOBS
-	prompt "How many jobs to use"
-	int
-	default 2
-	depends on ADK_MAKE_PARALLEL
-	help
-	  The number specified here will be passed to make as N in '-jN'
+mainmenu "OpenADK Configuration"
 
-config ADK_FORCE_PARALLEL
-	prompt "Force parallel building of all packages (DANGEROUS)"
-	bool
+config ADK_CHOOSE_TARGET_SYSTEM
+	boolean
+	default y if ADK_CHOOSE_TARGET_SYSTEM_ARM
+	default y if ADK_CHOOSE_TARGET_SYSTEM_ARMEB
+	default y if ADK_CHOOSE_TARGET_SYSTEM_CRIS
+	default y if ADK_CHOOSE_TARGET_SYSTEM_MIPS
+	default y if ADK_CHOOSE_TARGET_SYSTEM_MIPSEL
+	default y if ADK_CHOOSE_TARGET_SYSTEM_MIPS64
+	default y if ADK_CHOOSE_TARGET_SYSTEM_MIPS64EL
+	default y if ADK_CHOOSE_TARGET_SYSTEM_PPC
+	default y if ADK_CHOOSE_TARGET_SYSTEM_PPC64
+	default y if ADK_CHOOSE_TARGET_SYSTEM_SPARC
+	default y if ADK_CHOOSE_TARGET_SYSTEM_SPARC64
+	default y if ADK_CHOOSE_TARGET_SYSTEM_X86
+	default y if ADK_CHOOSE_TARGET_SYSTEM_X86_64
 	default n
-	depends on ADK_MAKE_PARALLEL
-	help
-	  Do not enable this! It's for testing purposes only.
-
-config ADK_TARGET_IP
-	prompt "Set target ip address for make check"
-	string
-	default "127.0.0.1"
-	help
-
-choice 
-prompt "Hostsystem (do not change!)"
-config ADK_HOST_LINUX
-	prompt "Linux"
-	boolean
-
-config ADK_HOST_FREEBSD
-	prompt "FreeBSD"
-	boolean
-
-config ADK_HOST_MIRBSD
-	prompt "MirBSD"
-	boolean
-
-config ADK_HOST_OPENBSD
-	prompt "OpenBSD"
-	boolean
 
-config ADK_HOST_NETBSD
-	prompt "NetBSD"
-	boolean
-
-config ADK_HOST_DARWIN
-	prompt "Darwin"
-	boolean
-
-config ADK_HOST_CYGWIN
-	prompt "Cygwin"
-	boolean
+source "target/config/Config.in"
 
-endchoice
+menu "Runtime configuration"
+depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+source "target/config/Config.in.runtime"
 endmenu
 
-source "target/Config.in"
-
-menu "Runtime configuration"
-source "target/Config.in.runtime"
+menu "Package collection"
+depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+source "target/packages/Config.in"
 endmenu
 
 menu "Package selection"
+depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
 source "package/Config.in.auto.global"
 source "package/Config.in.auto"
 endmenu
 
 menu "Kernel configuration"
+depends on !ADK_TOOLCHAIN_ONLY && !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
 source "target/linux/Config.in"
 endmenu
+
+source "target/config/Config.in.adk"

+ 16 - 13
Makefile

@@ -12,33 +12,34 @@ v: .prereq_done
 	    set -x; ${_UNLIMIT} ${GMAKE_FMK} VERBOSE=1 all) 2>&1 | tee -a make.log
 
 help:
-	@echo 'Common targets:'
-	@echo '  switch TARGET=targetname  - Backup current config and copy old saved target config'
-	@echo '  download     - fetches all needed distfiles'
-	@echo 'Cleaning targets:'
-	@echo '  clean        - Remove bin and build_dir directories'
-	@echo '  cleantarget  - Same as "clean", but also remove toolchain for target'
-	@echo '  cleandir     - Same as "clean", but also remove all built toolchains'
-	@echo '  cleankernel  - Remove kernel dir, useful if you changed any kernel patches'
-	@echo '  distclean    - Same as "cleandir", but also remove downloaded'
-	@echo '                 distfiles and .config'
-	@echo ''
 	@echo 'Configuration targets:'
 	@echo '  config       - Update current config utilising a line-oriented program'
 	@echo '  menuconfig   - Update current config utilising a menu based program'
-	@echo '  guiconfig    - Update current config utilising a gui based program'
 	@echo '                 (default when .config does not exist)'
+	@echo '  guiconfig    - Update current config utilising a gui based program'
 	@echo '  oldconfig    - Update current config utilising a provided .configs base'
 	@echo '  allmodconfig - New config selecting all packages as modules when possible'
 	@echo '  allconfig    - New config selecting all packages when possible'
 	@echo '  allnoconfig  - New config where all options are answered with no'
-	@echo '  kernelconfig - Modify the target kernel configuration'
 	@echo ''
 	@echo 'Help targets:'
 	@echo '  help         - Print this help text'
 	@echo '  pkg-help     - Print help about selectively compiling single packages'
 	@echo '  dev-help     - Print help for developers / package maintainers'
 	@echo ''
+	@echo 'Common targets:'
+	@echo '  switch ARCH=arch SYSTEM=system - Backup current config and copy old saved target config'
+	@echo '  download     - fetches all needed distfiles'
+	@echo '  kernelconfig - Modify the target kernel configuration'
+	@echo ''
+	@echo 'Cleaning targets:'
+	@echo '  clean        - Remove bin and build_dir directories'
+	@echo '  cleantarget  - Same as "clean", but also remove toolchain for target'
+	@echo '  cleandir     - Same as "clean", but also remove all built toolchains'
+	@echo '  cleankernel  - Remove kernel dir, useful if you changed any kernel patches'
+	@echo '  distclean    - Same as "cleandir", but also remove downloaded'
+	@echo '                 distfiles and .config'
+	@echo ''
 	@echo 'Other generic targets:'
 	@echo '  all          - Build everything as specified in .config'
 	@echo '                 (default if .config exists)'
@@ -207,6 +208,7 @@ NO_ERROR=0
 	@echo 'HOSTCXX:=${CXX}' >>prereq.mk
 	@echo 'HOSTCXXFLAGS:=-O2' >>prereq.mk
 	@echo "HOST_LIBIDL_CONFIG:=$$(which libIDL-config-2)" >>prereq.mk
+	@echo "PKG_HOSTLIB_DIR:=$$(pkg-config --variable pc_path pkg-config)" >>prereq.mk
 	@echo 'LANGUAGE:=C' >>prereq.mk
 	@echo 'LC_ALL:=C' >>prereq.mk
 	@echo 'MAKE:=$${GMAKE}' >>prereq.mk
@@ -219,6 +221,7 @@ NO_ERROR=0
 		CC='${CC}' CPPFLAGS='${CPPFLAGS}' \
 	    	bash scripts/scan-tools.sh
 	@echo '===> Prerequisites checked successfully.'
+	@bash scripts/create-sys
 	@touch .adkinit
 	@touch $@
 

+ 1 - 1
README

@@ -13,6 +13,7 @@ Before you can start you need to install some tools:
 - GNU sed
 - tar
 - patch
+- pkg-config
 - gzip
 - bzip2
 - wget
@@ -33,4 +34,3 @@ buildsystem will download all sources, build the toolchain, the kernel and all
 applications.
 
 Sunshine!
-

+ 10 - 5
TODO

@@ -1,9 +1,14 @@
-- rework architecture / embedded systems concept
+- openssl ocf support check
+- new package minidlna
 - wget/curl/ftp download support
-- relocatable gcc
+- fix heimdal package
+- check all patches for CFLAGS compliance
+- busybox update and SuSv3 removal
+- check rtc support on foxg20
+- relocatable gcc (adk)
 - adkinstall with NTP and hwclock support
 - PKG_CONFLICTS for python/python2, is this possible with Kconfig?
-- mirror only option, no internet access
-- fix watchdog for alix1c (mfgpt timers problem)
-- add support for brcm 2.6 (flash support)
+- mirror only option, for no internet access
+- fix watchdog for alix1c (mfgpt timer problem)
+- add support for brcm 2.6 (lzma/flash/wireless support)
 - help text for config/ needs adoption

+ 131 - 98
mk/build.mk

@@ -10,12 +10,10 @@ endif
 
 CONFIG_CONFIG_IN = Config.in
 CONFIG = config
-DEFCONFIG=		ADK_DEVELSYSTEM=n \
-			ADK_DEBUG=n \
+DEFCONFIG=		ADK_DEBUG=n \
 			ADK_STATIC=n \
 			ADK_MAKE_PARALLEL=y \
 			ADK_MAKE_JOBS=4 \
-			ADK_FORCE_PARALLEL=n \
 			ADK_PACKAGE_BZR=n \
 			ADK_PACKAGE_GRUB=n \
 			ADK_PACKAGE_AUFS2_UTIL=n \
@@ -117,6 +115,8 @@ ${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/M
 
 world: $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(PACKAGE_DIR)
 	${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
+	${BASH} ${TOPDIR}/scripts/update-sys
+	${BASH} ${TOPDIR}/scripts/update-pkg
 ifeq ($(ADK_NATIVE),y)
 	$(MAKE) -f mk/build.mk toolchain/kernel-headers-prepare tools/install target/config-prepare target/compile package/compile root_clean package/install package_index target/install
 else
@@ -145,23 +145,23 @@ $(TARGET_DIR):
 $(PACKAGE_DIR):
 	mkdir -p ${PACKAGE_DIR}/.stamps
 
-${STAGING_DIR} ${STAGING_DIR}/etc ${STAGING_TOOLS}:
-	mkdir -p ${STAGING_DIR}/{bin,etc,lib,usr/include} \
-		${STAGING_TOOLS}/{bin,lib}
+${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}:
+	mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/include} \
+		${STAGING_HOST_DIR}/{bin,lib}
 
-${STAGING_DIR}/etc/ipkg.conf: ${STAGING_DIR}/etc
+${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc
 ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
-	echo "dest root /" >${STAGING_DIR}/etc/ipkg.conf
-	echo "option offline_root ${TARGET_DIR}" >>$(STAGING_DIR)/etc/ipkg.conf
+	echo "dest root /" >${STAGING_TARGET_DIR}/etc/ipkg.conf
+	echo "option offline_root ${TARGET_DIR}" >>$(STAGING_TARGET_DIR)/etc/ipkg.conf
 endif
 
-package/%: ${STAGING_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk
+package/%: ${STAGING_TARGET_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk
 	$(MAKE) -C package $(patsubst package/%,%,$@)
 
 target/%:
 	$(MAKE) -C target $(patsubst target/%,%,$@)
 
-toolchain/%: ${STAGING_DIR}
+toolchain/%: ${STAGING_TARGET_DIR}
 	$(MAKE) -C toolchain $(patsubst toolchain/%,%,$@)
 
 tools/%:
@@ -171,24 +171,29 @@ image:
 	$(MAKE) -C target image
 
 switch:
-	echo "Saving configuration for target: ${ADK_TARGET}"
-	cp -p .config .config.${ADK_TARGET}
-	if [ -f .config.old ];then cp -p .config.old .config.old.${ADK_TARGET};fi
-	if [ -f .config.${TARGET} ];then cp -p .config.${TARGET} .config; \
-	cp -p .config.old.${TARGET} .config.old; \
-	echo "Setting configuration to target: ${TARGET}"; \
-	else echo "No old target config found";mv .config .config.bak; make TARGET=${TARGET};fi
+	if [ -f .config ];then \
+		echo "Saving configuration for target system: ${ADK_TARGET_SYSTEM} with arch: ${ADK_TARGET_ARCH}";\
+		cp -p .config .config.${ADK_TARGET_ARCH}_${ADK_TARGET_SYSTEM};\
+	fi
+	if [ -f .config.old ];then cp -p .config.old .config.old.${ADK_TARGET_ARCH}_${ADK_TARGET_SYSTEM};fi
+	if [ -f .config.${ARCH}_${SYSTEM} ];then \
+		cp -p .config.${ARCH}_${SYSTEM} .config; \
+		cp -p .config.old.${ARCH}_${SYSTEM} .config.old; \
+		echo "Setting configuration to target system: ${SYSTEM} with arch: ${ARCH}"; \
+	else \
+		echo "No old target config found" ;\
+		mv .config .config.bak ;\
+		if [ ! -z "$(SYSTEM)" ];then \
+			make ARCH=${ARCH} SYSTEM=${SYSTEM} menuconfig; \
+		else \
+			make menuconfig; \
+		fi \
+	fi
 
 kernelconfig:
-ifeq ($(ADKtype),)
-	cp $(TOPDIR)/target/$(ADK_TARGET)/kernel.config $(BUILD_DIR)/linux/.config
-	$(MAKE) -C $(BUILD_DIR)/linux/ ARCH=$(ARCH) menuconfig
-	cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET)/kernel.config
-else
 	cp $(TOPDIR)/target/$(ARCH)/kernel.config $(BUILD_DIR)/linux/.config
 	$(MAKE) -C $(BUILD_DIR)/linux/ ARCH=$(ARCH) menuconfig
 	cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ARCH)/kernel.config
-endif
 
 # create a new package from package/.template
 newpackage:
@@ -213,8 +218,8 @@ root_clean:
 clean:
 	@$(TRACE) clean
 	$(MAKE) -C $(CONFIG) clean
-	for d in ${STAGING_PARENT}; do \
-		for f in $$(ls $$d/pkg/[a-z]* 2>/dev/null); do  \
+	for d in ${STAGING_PKG_DIR}; do \
+		for f in $$(ls $$d/[a-z]* 2>/dev/null); do  \
 			while read file ; do \
 				rm $$d/target/$$file 2>/dev/null; \
 			done < $$f ; \
@@ -234,15 +239,15 @@ cleandir:
 	@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE) 
 	rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) \
 	    ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
-	rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
-	rm -f .menu .tmpconfig.h .rebuild* \
-	    ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk \
+	rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+	rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
+	rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk
 
 cleantarget:
 	@$(TRACE) cleantarget
 	@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
 	rm -rf $(BUILD_DIR) $(BIN_DIR) $(TARGET_DIR)
-	rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_PARENT)
+	rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_HOST_DIR) $(STAGING_TARGET_DIR) $(STAGING_PKG_DIR)
 	rm -f .tmpconfig.h all.config .defconfig
 
 distclean:
@@ -250,7 +255,8 @@ distclean:
 	@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
 	@rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
 	    ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
-	@rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
+	@rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+	@rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
 	@rm -f .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
 	    .menu ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG .rebuild.*
 
@@ -304,58 +310,52 @@ ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig
 endif
 ifeq ($(ADKtype),ibm-x40)
-	@echo ADK_ARCH_CHOICE=y >> $(TOPDIR)/.defconfig
 	@echo ADK_LINUX_NATIVE=y >> $(TOPDIR)/.defconfig
-	@echo ADK_HARDWARE_IBM_X40=y >> $(TOPDIR)/.defconfig
+	@echo ADK_TARGET_SYSTEM_IBM_X40=y >> $(TOPDIR)/.defconfig
 endif
 ifeq ($(ADKtype),lemote-yeelong)
-	@echo ADK_HARDWARE_LEMOTE_YEELONG=y >> $(TOPDIR)/.defconfig
+	@echo ADK_LINUX_NATIVE=y >> $(TOPDIR)/.defconfig
+	@echo ADK_TARGET_SYSTEM_LEMOTE_YEELONG=y >> $(TOPDIR)/.defconfig
 endif
-	@if [ ! -z "$(TARGET)" ];then \
-		grep "^config" target/Config.in \
-			|grep -i "$(TARGET)"\$$ \
+	@echo 'source "target/config/Config.in.arch.default"' > target/config/Config.in.arch
+	@echo 'source "target/config/Config.in.arch.choice"' >> target/config/Config.in.arch
+	@echo 'source "target/config/Config.in.system.default"' > target/config/Config.in.system
+	@echo 'source "target/config/Config.in.system.choice"' >> target/config/Config.in.system
+	@if [ ! -z "$(ARCH)" ];then \
+		grep "^config" target/config/Config.in.arch.choice \
+			|grep -i "$(ARCH)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			 >> $(TOPDIR)/.defconfig; \
-		if [ "$(TARGET)" = "native" ];then \
-			echo "ADK_ARCH_CHOICE=y" >> $(TOPDIR)/.defconfig; \
-		fi; \
 	fi
 	@for symbol in ${DEFCONFIG}; do \
 		echo $$symbol >> $(TOPDIR)/.defconfig; \
 	done
 	@if [ ! -z "$(FS)" ];then \
-		grep "^config" target/Config.in \
+		grep "^config" target/config/Config.in \
 			|grep -i "$(FS)" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/.defconfig; \
 	fi
 	@if [ ! -z "$(PKG)" ];then \
-		grep "^config" target/Config.in \
+		grep "^config" target/config/Config.in \
 			|grep -i "$(PKG)" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/.defconfig; \
 	fi
 	@if [ ! -z "$(LIBC)" ];then \
-		grep "^config" target/Config.in \
+		grep "^config" target/config/Config.in \
 			|grep -i "$(LIBC)" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/.defconfig; \
 	fi
-	@if [ ! -z "$(HW)" ];then \
-		hw=$$(echo "$(HW)" |sed -e "s/-/_/g"); \
-		grep -h "^config" target/Config.in.* \
-			|grep -i "$$hw" \
+	@if [ ! -z "$(SYSTEM)" ];then \
+		system=$$(echo "$(SYSTEM)" |sed -e "s/-/_/g"); \
+		grep -h "^config" target/*/Config.in.systems \
+			|grep -i "$$system" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/.defconfig; \
-		echo "ADK_ARCH_CHOICE=y" >> $(TOPDIR)/.defconfig; \
 	fi
-ifneq (,$(filter rb%,${TARGET}))
-	@echo ADK_LINUX_MIKROTIK=y >> $(TOPDIR)/.defconfig
-endif
-ifneq (,$(filter alix%,${TARGET}))
-	@echo ADK_LINUX_ALIX=y >> $(TOPDIR)/.defconfig
-endif
-	@if [ ! -z "$(TARGET)" ];then \
+	@if [ ! -z "$(SYSTEM)" ];then \
 		$(CONFIG)/conf -D .defconfig $(CONFIG_CONFIG_IN); \
 	fi
 
@@ -382,14 +382,18 @@ ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/all.config
 endif
 ifeq ($(ADKtype),ibmx-40)
-	@echo ADK_HARDWARE_IBM_X40=y >> $(TOPDIR)/all.config
+	@echo ADK_TARGET_SYSTEM_IBM_X40=y >> $(TOPDIR)/all.config
 endif
 ifeq ($(ADKtype),lemote-yeelong)
-	@echo ADK_HARDWARE_LEMOTE_YEELONG=y >> $(TOPDIR)/all.config
+	@echo ADK_TARGET_SYSTEM_LEMOTE_YEELONG=y >> $(TOPDIR)/all.config
 endif
-	@if [ ! -z "$(TARGET)" ];then \
-		grep "^config" target/Config.in \
-			|grep -i "$(TARGET)"\$$ \
+	@echo 'source "target/config/Config.in.arch.default"' > target/config/Config.in.arch
+	@echo 'source "target/config/Config.in.arch.choice"' >> target/config/Config.in.arch
+	@echo 'source "target/config/Config.in.system.default"' > target/config/Config.in.system
+	@echo 'source "target/config/Config.in.system.choice"' >> target/config/Config.in.system
+	@if [ ! -z "$(ARCH)" ];then \
+		grep "^config" target/config/Config.in.arch.choice \
+			|grep -i "$(ARCH)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
 	fi
@@ -397,39 +401,34 @@ endif
 		echo $$symbol >> $(TOPDIR)/all.config; \
 	done
 	@if [ ! -z "$(FS)" ];then \
-		grep "^config" target/Config.in \
+		grep "^config" target/config/Config.in \
 			|grep -i "$(FS)" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
 	fi
 	@if [ ! -z "$(PKG)" ];then \
-		grep "^config" target/Config.in \
+		grep "^config" target/config/Config.in \
 			|grep -i "$(PKG)" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
 	fi
 	@if [ ! -z "$(LIBC)" ];then \
-		grep "^config" target/Config.in \
+		grep "^config" target/config/Config.in \
 			|grep -i "$(LIBC)" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
 	fi
-	@if [ ! -z "$(HW)" ];then \
-		hw=$$(echo "$(HW)" |sed -e "s/-/_/g"); \
-		grep -h "^config" target/Config.in.* \
-			|grep -i "$$hw" \
+	@if [ ! -z "$(SYSTEM)" ];then \
+		system=$$(echo "$(SYSTEM)" |sed -e "s/-/_/g"); \
+		grep -h "^config" target/*/Config.in.systems \
+			|grep -i "$$system" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
-		echo "ADK_ARCH_CHOICE=y" >> $(TOPDIR)/all.config; \
 	fi
-ifneq (,$(filter rb%,${TARGET}))
-	@echo ADK_LINUX_MIKROTIK=y >> $(TOPDIR)/all.config
-endif
-ifneq (,$(filter alix%,${TARGET}))
-	@echo ADK_LINUX_ALIX=y >> $(TOPDIR)/all.config
-endif
 
 menuconfig: $(CONFIG)/mconf defconfig .menu package/Config.in.auto
+	@${BASH} ${TOPDIR}/scripts/update-sys
+	@${BASH} ${TOPDIR}/scripts/update-pkg
 	@if [ ! -f .config ];then \
 		$(CONFIG)/conf -D .defconfig $(CONFIG_CONFIG_IN); \
 	fi
@@ -437,6 +436,8 @@ menuconfig: $(CONFIG)/mconf defconfig .menu package/Config.in.auto
 	${POSTCONFIG}
 
 guiconfig: $(CONFIG)/gconf defconfig .menu package/Config.in.auto
+	@${BASH} ${TOPDIR}/scripts/update-sys
+	@${BASH} ${TOPDIR}/scripts/update-pkg
 	@if [ ! -f .config ];then \
 		$(CONFIG)/conf -D .defconfig $(CONFIG_CONFIG_IN); \
 	fi
@@ -457,52 +458,84 @@ distclean:
 	@$(MAKE) -C $(CONFIG) clean
 	@rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
 	    ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
-	@rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
+	@rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(TOOLS_BUILD_DIR)
+	@rm -rf $(STAGING_HOST_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
 	@rm -f .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
 	    .menu .rebuild.* ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG
 
 
 endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
 
-# build all targets and combinations
+# build all target architecture and libc combinations (toolchain only)
+bulktoolchain:
+	for libc in uclibc eglibc glibc;do \
+		while read arch; do \
+		    ( \
+			mkdir -p $(TOPDIR)/bin/toolchain_$${arch}_$$libc; \
+			echo === building $$arch $$libc toolchain on $$(date); \
+			$(GMAKE) prereq && \
+				$(GMAKE) ARCH=$$arch SYSTEM=toolchain LIBC=$$libc defconfig; \
+				$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
+			rm .config; \
+		    ) 2>&1 | tee $(TOPDIR)/bin/toolchain_$${arch}_$${libc}/build.log; \
+		    if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
+		done <${TOPDIR}/target/arch.lst ;\
+	done
+
+# build all target architecture, target systems and libc combinations
 bulk:
-	@while read target libc fs hw; do \
-		mkdir -p $(TOPDIR)/bin/$${target}_$$libc; \
+	for libc in uclibc eglibc glibc;do \
+	  while read arch; do \
+	      systems=$$(./scripts/getsystems $$arch); \
+	      for system in $$systems;do \
 	    ( \
-		echo === building $$target $$hw $$libc $$fs on $$(date); \
+		mkdir -p $(TOPDIR)/bin/$${system}_$${arch}_$$libc; \
+		echo === building $$arch $$system $$libc on $$(date); \
 		$(GMAKE) prereq && \
-			$(GMAKE) TARGET=$$target HW=$$hw LIBC=$$libc FS=$$fs defconfig; \
-			$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
+		$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc defconfig; \
+		$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
 		rm .config; \
-	    ) 2>&1 | tee $(TOPDIR)/bin/$${target}_$$libc/$$target-$$libc-$$fs.log; \
+            ) 2>&1 | tee $(TOPDIR)/bin/$${system}_$${arch}_$$libc/build.log; \
+	      done; \
 	    if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
-	done <${TOPDIR}/target/bulkdef.lst
+	  done <${TOPDIR}/target/arch.lst ;\
+	done
 
 bulkall:
-	@while read target libc fs hw; do \
-		mkdir -p $(TOPDIR)/bin/$${target}_$$libc; \
+	for libc in uclibc eglibc glibc;do \
+	  while read arch; do \
+	      systems=$$(./scripts/getsystems $$arch); \
+	      for system in $$systems;do \
 	    ( \
-		echo === building $$target $$hw $$libc $$fs on $$(date); \
+		mkdir -p $(TOPDIR)/bin/$${system}_$${arch}_$$libc; \
+		echo === building $$arch $$system $$libc on $$(date); \
 		$(GMAKE) prereq && \
-			$(GMAKE) TARGET=$$target HW=$$hw LIBC=$$libc FS=$$fs allconfig; \
-			$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
+		$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc allconfig; \
+		$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
 		rm .config; \
-	    ) 2>&1 | tee $(TOPDIR)/bin/$${target}_$$libc/$$target-$$libc-$$fs.log; \
+            ) 2>&1 | tee $(TOPDIR)/bin/$${system}_$${arch}_$$libc/build.log; \
+	      done; \
 	    if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
-	done <${TOPDIR}/target/bulk.lst
+	  done <${TOPDIR}/target/arch.lst ;\
+	done
 
 bulkallmod:
-	@while read target libc fs hw; do \
-		mkdir -p $(TOPDIR)/bin/$${target}_$$libc; \
+	for libc in uclibc eglibc glibc;do \
+	  while read arch; do \
+	      systems=$$(./scripts/getsystems $$arch); \
+	      for system in $$systems;do \
 	    ( \
-		echo === building $$target $$hw $$libc $$fs on $$(date); \
+		mkdir -p $(TOPDIR)/bin/$${system}_$${arch}_$$libc; \
+		echo === building $$arch $$system $$libc on $$(date); \
 		$(GMAKE) prereq && \
-			$(GMAKE) TARGET=$$target HW=$$hw LIBC=$$libc FS=$$fs allmodconfig; \
-			$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
+		$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc allmodconfig; \
+		$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
 		rm .config; \
-	    ) 2>&1 | tee $(TOPDIR)/bin/$${target}_$$libc/$$target-$$libc-$$fs.log; \
+            ) 2>&1 | tee $(TOPDIR)/bin/$${system}_$${arch}_$$libc/build.log; \
+	      done; \
 	    if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
-	done <${TOPDIR}/target/bulk.lst
+	  done <${TOPDIR}/target/arch.lst ;\
+	done
 
 ${TOPDIR}/bin/tools/pkgmaker:
 	@mkdir -p $(TOPDIR)/bin/tools
@@ -521,7 +554,7 @@ $(TOPDIR)/bin/tools:
 	@mkdir -p $(TOPDIR)/bin/tools
 
 ${TOPDIR}/bin/tools/depmaker: $(TOPDIR)/bin/tools
-	$(HOSTCC) -o $(TOPDIR)/bin/tools/depmaker $(TOPDIR)/tools/adk/depmaker.c
+	$(HOSTCC) -g -o $(TOPDIR)/bin/tools/depmaker $(TOPDIR)/tools/adk/depmaker.c
 
 dep: $(TOPDIR)/bin/tools/depmaker
 	@echo "Generating dependencies ..."

+ 15 - 23
mk/image.mk

@@ -24,30 +24,23 @@ image-prepare-post:
 KERNEL_PKGDIR:=$(LINUX_BUILD_DIR)/kernel-pkg
 KERNEL_PKG:=$(PACKAGE_DIR)/kernel_$(KERNEL_VERSION)_$(CPU_ARCH).$(PKG_SUFFIX)
 
-kernel-package: $(LINUX_DIR)/vmlinux
-	$(TRACE) target/$(ADK_TARGET)-create-kernel-package
+kernel-package: $(KERNEL)
+	$(TRACE) target/$(ADK_TARGET_ARCH)-create-kernel-package
 	rm -rf $(KERNEL_PKGDIR)
 	@mkdir -p $(KERNEL_PKGDIR)/boot
-	cp $(KERNEL) $(KERNEL_PKGDIR)/boot/vmlinuz-adk
+	cp $(KERNEL) $(KERNEL_PKGDIR)/boot/kernel
 	@${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh ${KERNEL_PKGDIR} \
 	    ../linux/kernel.control ${KERNEL_VERSION} ${CPU_ARCH}
 	$(PKG_BUILD) $(KERNEL_PKGDIR) $(PACKAGE_DIR) $(MAKE_TRACE)
-	$(TRACE) target/$(ADK_TARGET)-install-kernel-package
+	$(TRACE) target/$(ADK_TARGET_ARCH)-install-kernel-package
 	$(PKG_INSTALL) $(KERNEL_PKG) $(MAKE_TRACE)
 
-ifeq ($(ADK_HW),)
-INITRAMFS=		${ADK_TARGET}-${ADK_LIBC}-${FS}
-ROOTFSSQUASHFS=		${ADK_TARGET}-${ADK_LIBC}-${FS}.img
-ROOTFSTARBALL=		${ADK_TARGET}-${ADK_LIBC}-${FS}+kernel.tar.gz
-ROOTFSUSERTARBALL=	${ADK_TARGET}-${ADK_LIBC}-${FS}.tar.gz
-INITRAMFS_PIGGYBACK=	${ADK_TARGET}-${ADK_LIBC}-${FS}.cpio
-else
-INITRAMFS=		${ADK_HW}-${ADK_TARGET}-${ADK_LIBC}-${FS}
-ROOTFSSQUASHFS=		${ADK_HW}-${ADK_TARGET}-${ADK_LIBC}-${FS}.img
-ROOTFSTARBALL=		${ADK_HW}-${ADK_TARGET}-${ADK_LIBC}-${FS}+kernel.tar.gz
-ROOTFSUSERTARBALL=	${ADK_HW}-${ADK_TARGET}-${ADK_LIBC}-${FS}.tar.gz
-INITRAMFS_PIGGYBACK=	${ADK_HW}-${ADK_TARGET}-${ADK_LIBC}-${FS}.cpio
-endif
+TARGET_KERNEL:=		$(BIN_DIR)/${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_FS}-kernel
+INITRAMFS=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
+ROOTFSSQUASHFS=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
+ROOTFSTARBALL=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
+ROOTFSUSERTARBALL=	${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
+INITRAMFS_PIGGYBACK=	${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.cpio
 
 ${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
 	cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
@@ -55,7 +48,7 @@ ${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
 		${TOOLS_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
 
 ${BIN_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
-	cd ${TARGET_DIR}; find . | grep -v ./boot | sed -n '/^\.\//s///p' | \
+	cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | \
 		sed "s#\(.*\)#:0:0::::::\1#" | sort | \
 		${TOOLS_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
 
@@ -63,7 +56,7 @@ ${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR}
 	cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
 		sed "s#\(.*\)#:0:0::::::\1#" | sort | \
 	    ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P | \
-		${ADK_COMPRESSION_TOOL} >$@ 2>/dev/null
+		lzma -9 >$@ 2>/dev/null
 
 ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
 	$(SED) 's#^CONFIG_INITRAMFS_SOURCE.*#CONFIG_INITRAMFS_SOURCE="${BUILD_DIR}/${INITRAMFS_PIGGYBACK}"#' \
@@ -73,11 +66,10 @@ ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
 	    ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P >$@ 2>/dev/null
 
 ${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR}
-	${STAGING_TOOLS}/bin/mksquashfs ${TARGET_DIR} \
+	${STAGING_HOST_DIR}/bin/mksquashfs ${TARGET_DIR} \
 		${BUILD_DIR}/root.squashfs \
 		-nopad -noappend -root-owned $(MAKE_TRACE)
-	cat ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel \
-		${BUILD_DIR}/root.squashfs > \
+	cat ${ADK_TARGET_KERNEL} ${BUILD_DIR}/root.squashfs > \
 		${BUILD_DIR}/${ROOTFSSQUASHFS}
 
 createinitramfs:
@@ -89,4 +81,4 @@ createinitramfs:
 		ARCH=$(ARCH) CC="$(TARGET_CC)" $(MAKE_TRACE)
 
 imageclean:
-	rm -f $(BIN_DIR)/$(ADK_TARGET)-* ${BUILD_DIR}/$(ADK_TARGET)-*
+	rm -f $(BIN_DIR)/$(ADK_TARGET_SYSTEM)-* ${BUILD_DIR}/$(ADK_TARGET_SYSTEM)-*

+ 9 - 15
mk/kernel-build.mk

@@ -6,25 +6,19 @@ include $(TOPDIR)/mk/linux.mk
 include ${TOPDIR}/mk/kernel-vars.mk
 
 $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched:
-	$(TRACE) target/$(ADK_TARGET)-kernel-patch
-	$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) ../linux/patches/$(KERNEL_VERSION) *.patch $(MAKE_TRACE)
-	$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) ../$(ADK_TARGET)/patches *.patch $(MAKE_TRACE)
-ifeq ($(ADK_NATIVE),y)
-	if [ -f /etc/adktarget ];then \
-		target=$$(cat /etc/adktarget); \
-		$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) ../$$target/patches *.patch $(MAKE_TRACE); \
-	fi
-endif
+	$(TRACE) target/kernel-patch
+	$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) \
+		../linux/patches/$(KERNEL_VERSION) *.patch $(MAKE_TRACE)
 	touch $@
 
 $(LINUX_DIR)/.prepared: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched
-	$(TRACE) target/$(ADK_TARGET)-kernel-prepare
+	$(TRACE) target/kernel-prepare
 	ln -sf $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) $(LINUX_DIR)
 	mkdir -p $(LINUX_BUILD_DIR)/kmod-control
 	touch $@
 
 $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR)/mk/modules.mk
-	$(TRACE) target/$(ADK_TARGET)-kernel-configure
+	$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure
 	for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done $(MAKE_TRACE)
 	$(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config
 	echo N | $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE)
@@ -32,15 +26,15 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR
 	touch -c $(LINUX_DIR)/.config
 
 $(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
-	$(TRACE) target/$(ADK_TARGET)-kernel-compile
+	$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile
 	$(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(MAKE_TRACE)
-	$(TRACE) target/$(ADK_TARGET)-kernel-modules-install
+	$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install
 	rm -rf $(LINUX_BUILD_DIR)/modules
 	$(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \
 		INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \
 		LOCALVERSION="" \
 		modules_install $(MAKE_TRACE)
-	$(TRACE) target/$(ADK_TARGET)-create-packages
+	$(TRACE) target/$(ADK_TARGET_ARCH)-create-packages
 ifneq ($(strip $(TARGETS)),)
 	$(MAKE) $(TARGETS)
 endif
@@ -50,7 +44,7 @@ prepare:
 compile: $(LINUX_DIR)/vmlinux
 install: compile
 ifneq ($(strip $(INSTALL_TARGETS)),)
-	$(TRACE) target/${ADK_TARGET}-modules-install
+	$(TRACE) target/${ADK_TARGET_ARCH}-modules-install
 ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
 	$(PKG_INSTALL) $(INSTALL_TARGETS) $(MAKE_TRACE)
 else

+ 1 - 1
mk/kernel.mk

@@ -3,7 +3,7 @@
 
 LINUX_KMOD_SUFFIX=ko
 MODULES_SUBDIR := lib/modules/$(KERNEL_VERSION)
-LINUX_BUILD_DIR := $(BUILD_DIR)/linux-$(ADK_TARGET)
+LINUX_BUILD_DIR := $(BUILD_DIR)/linux-$(ADK_TARGET_ARCH)
 KMOD_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules
 MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR)
 TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)

+ 20 - 9
mk/modules.mk

@@ -764,20 +764,27 @@ $(eval $(call KMOD_template,CRYPTO_DEV_GEODE,crypto-dev-geode,\
     $(MODULES_DIR)/kernel/drivers/crypto/geode-aes \
 ,20))
 
-$(eval $(call KMOD_template,CRYPTO_ALGAPI,crypto-algapi,\
+$(eval $(call KMOD_template,CRYPTO_DEV_HIFN_795X,crypto-dev-hifn-795x,\
+    $(MODULES_DIR)/kernel/drivers/crypto/hifn_795x \
+,20, crypto-manager2))
+
+$(eval $(call KMOD_template,CRYPTO_ALGAPI2,crypto-algapi2,\
     $(MODULES_DIR)/kernel/crypto/crypto_algapi \
-    $(MODULES_DIR)/kernel/crypto/pcompress \
 ,02))
 
-$(eval $(call KMOD_template,CRYPTO_AEAD,crypto-aead,\
+$(eval $(call KMOD_template,CRYPTO_PCOMP2,crypto-pcomp2,\
+    $(MODULES_DIR)/kernel/crypto/pcompress \
+,03))
+
+$(eval $(call KMOD_template,CRYPTO_AEAD2,crypto-aead2,\
     $(MODULES_DIR)/kernel/crypto/aead \
 ,03))
 
-$(eval $(call KMOD_template,CRYPTO_HASH,crypto-hash,\
+$(eval $(call KMOD_template,CRYPTO_HASH2,crypto-hash2,\
     $(MODULES_DIR)/kernel/crypto/crypto_hash \
 ,04))
 
-$(eval $(call KMOD_template,CRYPTO_BLKCIPHER,crypto-blkcipher,\
+$(eval $(call KMOD_template,CRYPTO_BLKCIPHER2,crypto-blkcipher2,\
     $(MODULES_DIR)/kernel/crypto/crypto_wq \
     $(MODULES_DIR)/kernel/crypto/crypto_blkcipher \
 ,05))
@@ -787,7 +794,7 @@ $(eval $(call KMOD_template,CRYPTO_RNG2,crypto-rng2,\
     $(MODULES_DIR)/kernel/crypto/krng \
 ,06))
 
-$(eval $(call KMOD_template,CRYPTO_MANAGER,crypto-manager,\
+$(eval $(call KMOD_template,CRYPTO_MANAGER2,crypto-manager2,\
     $(MODULES_DIR)/kernel/crypto/cryptomgr \
     $(MODULES_DIR)/kernel/crypto/eseqiv \
     $(MODULES_DIR)/kernel/crypto/chainiv \
@@ -1298,17 +1305,21 @@ $(eval $(call KMOD_template,LEDS_CLASS,leds-class,\
 	$(MODULES_DIR)/kernel/drivers/leds/led-class \
 ,05))
 
+$(eval $(call KMOD_template,LEDS_ALIX2,leds-alix2,\
+	$(MODULES_DIR)/kernel/drivers/leds/leds-alix2 \
+,10))
+
 $(eval $(call KMOD_template,LEDS_TRIGGER_TIMER,leds-trigger-timer,\
 	$(MODULES_DIR)/kernel/drivers/leds/ledtrig-timer \
-,10))
+,20))
 
 $(eval $(call KMOD_template,LEDS_TRIGGER_HEARTBEAT,leds-trigger-heartbeat,\
 	$(MODULES_DIR)/kernel/drivers/leds/ledtrig-heartbeat \
-,10))
+,20))
 
 $(eval $(call KMOD_template,LEDS_TRIGGER_DEFAULT_ON,leds-trigger-default-on,\
 	$(MODULES_DIR)/kernel/drivers/leds/ledtrig-default-on \
-,10))
+,20))
 
 $(eval $(call KMOD_template,NETFILTER_XT_TARGET_LED,netfilter-xt-target-led,\
 	$(MODULES_DIR)/kernel/net/netfilter/xt_LED \

+ 27 - 27
mk/package.mk

@@ -7,15 +7,15 @@ TCFLAGS:=		${TARGET_CFLAGS}
 TCXXFLAGS:=		${TARGET_CFLAGS}
 TCPPFLAGS:=		${TARGET_CPPFLAGS}
 TLDFLAGS:=		${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \
-			-Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \
-			-L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib
+			-Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \
+			-L${STAGING_TARGET_DIR}/lib -L${STAGING_TARGET_DIR}/usr/lib
 ifeq ($(ADK_STATIC),y)
 TCFLAGS:=		${TARGET_CFLAGS} -static
 TCXXFLAGS:=		${TARGET_CFLAGS} -static
 TCPPFLAGS:=		${TARGET_CPPFLAGS} -static
 TLDFLAGS:=		${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \
-			-Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \
-			-L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib \
+			-Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \
+			-L${STAGING_TARGET_DIR}/lib -L${STAGING_TARGET_DIR}/usr/lib \
 			-static
 endif
 ifeq ($(ADK_NATIVE),y)
@@ -41,7 +41,7 @@ CONFIGURE_ENV+=		CONFIG_SHELL='$(strip ${SHELL})' \
 			CXXFLAGS='$(strip ${TCXXFLAGS})' \
 			CPPFLAGS='$(strip ${TCPPFLAGS})' \
 			LDFLAGS='$(strip ${TLDFLAGS})' \
-			PKG_CONFIG_LIBDIR='${STAGING_DIR}/usr/lib/pkgconfig'
+			PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig'
 ifeq ($(ADK_NATIVE),)
 CONFIGURE_ENV+=		${TARGET_CONFIGURE_OPTS} \
 			${HOST_CONFIGURE_OPTS} \
@@ -68,7 +68,7 @@ MAKE_ENV+=		WRKDIR='${WRKDIR}' WRKDIST='${WRKDIST}' \
 			CXXFLAGS='$(strip ${TCXXFLAGS})' \
 			CPPFLAGS='$(strip ${TCPPFLAGS})' \
 			LDFLAGS='$(strip ${TLDFLAGS})'
-MAKE_ENV+=		PKG_CONFIG_LIBDIR='${STAGING_DIR}/usr/lib/pkgconfig'
+MAKE_ENV+=		PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig'
 ifeq ($(ADK_NATIVE),)
 MAKE_ENV+=		PATH='${TARGET_PATH}' \
 			${HOST_CONFIGURE_OPTS} \
@@ -126,9 +126,9 @@ build-all-pkgs: ${_IPKGS_COOKIE}
 # 5.) description for the package, $(PKG_DESCR)
 # 6.) section of the package, $(PKG_SECTION)  
 # 7.) special package options
-#     noscripts -> do not install scripts to $(STAGING_DIR)/target/scripts
+#     noscripts -> do not install scripts to $(STAGING_TARGET_DIR)/target/scripts
 #		  (needed for example for autoconf/automake)
-#     noremove -> do not remove files from $(STAGING_DIR)/target while
+#     noremove -> do not remove files from $(STAGING_TARGET_DIR)/target while
 #                 cleaning (needed for toolchain packages like glibc/eglibc)
 # should be package format independent and modular in the future
 define PKG_template
@@ -192,45 +192,45 @@ endif
 		[[ -e $$$$script ]] || continue; \
 		chmod 0755 "$$$$script"; \
 	done
-	@mkdir -p $${PACKAGE_DIR} '$${STAGING_PARENT}/pkg' \
-	    '$${STAGING_DIR}/scripts'
+	@mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}' \
+	    '$${STAGING_TARGET_DIR}/scripts'
 ifeq (,$(filter noremove,$(7)))
-	@if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \
-		cd '$${STAGING_DIR}'; \
+	@if test -s '$${STAGING_PKG_DIR}/$(1)'; then \
+		cd '$${STAGING_TARGET_DIR}'; \
 		while read fn; do \
 			rm -f "$$$$fn"; \
-		done <'$${STAGING_PARENT}/pkg/$(1)'; \
+		done <'$${STAGING_PKG_DIR}/$(1)'; \
 	fi
 endif
-	@rm -f '$${STAGING_PARENT}/pkg/$(1)'
+	@rm -f '$${STAGING_PKG_DIR}/$(1)'
 	@-cd $${IDIR_$(1)}; \
 	    x=$$$$(find tmp var -mindepth 1 2>/dev/null); if [[ -n $$$$x ]]; then \
 		echo 'WARNING: $${IPKG_$(1)} installs files into a' \
 		    'ramdisk location:' >&2; \
 		echo "$$$$x" | sed 's/^/- /' >&2; \
 	    fi; \
-	    if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libthread-db" ];then \
+	    if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" ];then \
 	    find lib \( -name lib\*.so\* -o -name lib\*.a \) \
 	    	-exec echo 'WARNING: $${IPKG_$(1)} installs files in /lib -' \
 		' fix this!' >&2 \; -quit 2>/dev/null; fi; \
 	    find usr ! -type d 2>/dev/null | \
 	    grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' | \
-	    tee '$${STAGING_PARENT}/pkg/$(1)' | \
-	    $(TOPDIR)/bin/tools/cpio -padlmu '$${STAGING_DIR}'
-	@cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \
-	    '$${STAGING_PARENT}/pkg/$(1)' | while read fn; do \
+	    tee '$${STAGING_PKG_DIR}/$(1)' | \
+	    $(TOPDIR)/bin/tools/cpio -padlmu '$${STAGING_TARGET_DIR}'
+	@cd '$${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$$$' \
+	    '$${STAGING_PKG_DIR}/$(1)' | while read fn; do \
 		chmod u+w $$$$fn; \
-		$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_DIR)/usr/lib,g" $$$$fn; \
+		$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_TARGET_DIR)/usr/lib,g" $$$$fn; \
 	done
 ifeq (,$(filter noscripts,$(7)))
-	@cd '$${STAGING_DIR}'; grep 'usr/s*bin/' \
-	    '$${STAGING_PARENT}/pkg/$(1)' | \
+	@cd '$${STAGING_TARGET_DIR}'; grep 'usr/s*bin/' \
+	    '$${STAGING_PKG_DIR}/$(1)' | \
 	    while read fn; do \
 		b="$$$$(dd if="$$$$fn" bs=2 count=1 2>/dev/null)"; \
 		[[ $$$$b = '#!' ]] || continue; \
 		cp "$$$$fn" scripts/; \
 		echo "scripts/$$$$(basename "$$$$fn")" \
-		    >>'$${STAGING_PARENT}/pkg/$(1)'; \
+		    >>'$${STAGING_PKG_DIR}/$(1)'; \
 	done
 endif
 ifeq (,$(filter libmix,$(7)))
@@ -243,14 +243,14 @@ clean-targets: clean-dev-$(1)
 
 clean-dev-$(1):
 ifeq (,$(filter noremove,$(7)))
-	@if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \
-		cd '$${STAGING_DIR}'; \
+	@if test -s '$${STAGING_PKG_DIR}/$(1)'; then \
+		cd '$${STAGING_TARGET_DIR}'; \
 		while read fn; do \
 			rm -f "$$$$fn"; \
-		done <'$${STAGING_PARENT}/pkg/$(1)'; \
+		done <'$${STAGING_PKG_DIR}/$(1)'; \
 	fi
 endif
-	@rm -f '$${STAGING_PARENT}/pkg/$(1)'
+	@rm -f '$${STAGING_PKG_DIR}/$(1)'
 
 $$(INFO_$(1)): $$(IPKG_$(1))
 	$(PKG_INSTALL) $$(IPKG_$(1))

+ 19 - 19
mk/pkg-bottom.mk

@@ -128,7 +128,7 @@ do-install:
 post-install:
 ${_FAKE_COOKIE}: ${_BUILD_COOKIE}
 	-rm -f ${_ALL_CONTROLS}
-	@mkdir -p '${STAGING_PARENT}/pkg' ${WRKINST} '${STAGING_DIR}/scripts'
+	@mkdir -p '${STAGING_PKG_DIR}' ${WRKINST} '${STAGING_TARGET_DIR}/scripts'
 	@mkdir -p ${WRKINST}/{sbin,bin,etc,lib} ${WRKINST}/usr/{sbin,bin,lib}
 	@${MAKE} ${_ALL_CONTROLS} $(MAKE_TRACE)
 	@env ${MAKE_ENV} ${MAKE} pre-install $(MAKE_TRACE)
@@ -147,41 +147,41 @@ endif
 ifeq ($(ADK_NATIVE),)
 	@for a in ${WRKINST}/usr/{bin/*-config,lib/pkgconfig/*.pc}; do \
 		[[ -e $$a ]] || continue; \
-		$(SED) "s,^prefix=.*,prefix=${STAGING_DIR}/usr," $$a; \
+		$(SED) "s,^prefix=.*,prefix=${STAGING_TARGET_DIR}/usr," $$a; \
 	done
 endif
 ifeq (,$(filter noremove,${PKG_OPTS}))
-	@if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
-		cd '${STAGING_DIR}'; \
+	@if test -s '${STAGING_PKG_DIR}/${PKG_NAME}'; then \
+		cd '${STAGING_TARGET_DIR}'; \
 		while read fn; do \
 			rm -f "$$fn"; \
-		done <'${STAGING_PARENT}/pkg/${PKG_NAME}'; \
+		done <'${STAGING_PKG_DIR}/${PKG_NAME}'; \
 	fi
 endif
-	@rm -f '${STAGING_PARENT}/pkg/${PKG_NAME}'
+	@rm -f '${STAGING_PKG_DIR}/${PKG_NAME}'
 	@-cd ${WRKINST}; \
-	    if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libthread-db" ];then \
+	    if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" ];then \
 	    find lib \( -name lib\*.so\* -o -name lib\*.a \) \
 	    	-exec echo 'WARNING: ${PKG_NAME} installs files in /lib -' \
 		' fix this!' >&2 \; -quit 2>/dev/null; fi;\
 	    find usr ! -type d 2>/dev/null | \
 	    grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' | \
-	    tee '${STAGING_PARENT}/pkg/${PKG_NAME}' | \
-	    $(TOPDIR)/bin/tools/cpio -padlmu '${STAGING_DIR}'
-	@cd '${STAGING_DIR}'; grep 'usr/lib/.*\.la$$' \
-	    '${STAGING_PARENT}/pkg/${PKG_NAME}' | while read fn; do \
+	    tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \
+	    $(TOPDIR)/bin/tools/cpio -padlmu '${STAGING_TARGET_DIR}'
+	@cd '${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$' \
+	    '${STAGING_PKG_DIR}/${PKG_NAME}' | while read fn; do \
 		chmod u+w $$fn; \
-		$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_DIR)/usr/lib,g" $$fn; \
+		$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_TARGET_DIR)/usr/lib,g" $$fn; \
 	done
 ifeq (,$(filter noscripts,${PKG_OPTS}))
-	@cd '${STAGING_DIR}'; grep 'usr/s*bin/' \
-	    '${STAGING_PARENT}/pkg/${PKG_NAME}' | \
+	@cd '${STAGING_TARGET_DIR}'; grep 'usr/s*bin/' \
+	    '${STAGING_PKG_DIR}/${PKG_NAME}' | \
 	    while read fn; do \
 		b="$$(dd if="$$fn" bs=2 count=1 2>/dev/null)"; \
 		[[ $$b = '#!' ]] || continue; \
 		cp "$$fn" scripts/; \
 		echo "scripts/$$(basename "$$fn")" \
-		    >>'${STAGING_PARENT}/pkg/${PKG_NAME}'; \
+		    >>'${STAGING_PKG_DIR}/${PKG_NAME}'; \
 	done
 endif
 	touch $@
@@ -236,11 +236,11 @@ clean-targets: clean-dev-generic
 
 clean-dev-generic:
 ifeq (,$(filter noremove,${PKG_OPTS}))
-	@if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
-		cd '${STAGING_DIR}'; \
+	@if test -s '${STAGING_PKG_DIR}/${PKG_NAME}'; then \
+		cd '${STAGING_TARGET_DIR}'; \
 		while read fn; do \
 			rm -f "$$fn"; \
-		done <'${STAGING_PARENT}/pkg/${PKG_NAME}'; \
+		done <'${STAGING_PKG_DIR}/${PKG_NAME}'; \
 	fi
 endif
-	@rm -f '${STAGING_PARENT}/pkg/${PKG_NAME}'
+	@rm -f '${STAGING_PKG_DIR}/${PKG_NAME}'

+ 2 - 2
mk/python.mk

@@ -1,3 +1,3 @@
 PYTHON_VERSION=2.7
-PYTHON_LIBDIR:=$(STAGING_TOOLS)/lib
-PYTHON:=${STAGING_TOOLS}/bin/hostpython
+PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/lib
+PYTHON:=${STAGING_HOST_DIR}/bin/hostpython

+ 8 - 7
mk/rootfs.mk

@@ -3,29 +3,30 @@
 
 define rootfs_template
 ifeq ($(ADK_TARGET_ROOTFS_$(2)),y)
-FS:=$(1)
+ADK_TARGET_FS:=$(1)
 FS_CMDLINE:=$(3)
 endif
 endef
 
-ifeq ($(ADK_HARDWARE_QEMU_X86),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86),y)
 ROOTFS:=	root=/dev/sda1
 endif
 
-ifeq ($(ADK_LINUX_MIPS_RB532),y)
+ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
 ROOTFS:=	root=/dev/sda2
 MTDDEV:=	root=/dev/mtdblock1
 endif
 
-ifeq ($(ADK_LINUX_MIPS_RB433),y)
+ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB433),y)
 MTDDEV:=	root=/dev/mtdblock2
 endif
 
-ifeq ($(ADK_LINUX_ARM_FOXG20),y)
+ifeq ($(ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20),y)
 ROOTFS:=	root=/dev/mmcblk0p2 rootwait
 endif
 
-$(eval $(call rootfs_template,ext2-block,EXT2_BLOCK,$(ROOTFS)))
+$(eval $(call rootfs_template,cf,CF,$(ROOTFS)))
+$(eval $(call rootfs_template,mmc,MMC,$(ROOTFS)))
 $(eval $(call rootfs_template,usb,USB,rootdelay=3))
 $(eval $(call rootfs_template,archive,ARCHIVE,$(ROOTFS)))
 $(eval $(call rootfs_template,initramfs,INITRAMFS))
@@ -35,4 +36,4 @@ $(eval $(call rootfs_template,yaffs,YAFFS,$(MTDDEV) panic=3))
 $(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init))
 $(eval $(call rootfs_template,encrypted,ENCRYPTED))
 
-export FS
+export ADK_TARGET_FS

+ 15 - 25
mk/vars.mk

@@ -18,35 +18,25 @@ TARGET_CFLAGS:=		$(TARGET_CFLAGS_ARCH) $(TARGET_DEBUGGING) -fwrapv
 
 BASE_DIR:=		$(TOPDIR)
 DISTDIR?=		${BASE_DIR}/dl
-ifeq ($(ADK_HW),)
-BUILD_DIR:=		${BASE_DIR}/build_${ADK_TARGET}_${ADK_LIBC}
-else
-BUILD_DIR:=		${BASE_DIR}/build_${ADK_HW}_${ADK_TARGET}_${ADK_LIBC}
-endif
+BUILD_DIR:=		${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 BUILD_DIR_PFX:=		$(BASE_DIR)/build_*
-STAGING_PARENT:=	${BASE_DIR}/cross_${ADK_TARGET}_${ADK_LIBC}
-STAGING_PARENT_PFX:=	${BASE_DIR}/cross_*
-STAGING_TOOLS:=		${STAGING_PARENT}/host
-STAGING_DIR:=		${STAGING_PARENT}/target
-TOOLCHAIN_BUILD_DIR=	$(BASE_DIR)/toolchain_build_${ADK_TARGET}_${ADK_LIBC}
+STAGING_PKG_DIR:=	${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${ADK_TARGET_LIBC}
+STAGING_PKG_DIR_PFX:=	${BASE_DIR}/pkg_*
+STAGING_HOST_DIR:=	${BASE_DIR}/host_${CPU_ARCH}_${ADK_TARGET_LIBC}
+STAGING_HOST_DIR_PFX:=	${BASE_DIR}/host_*
+STAGING_TARGET_DIR:=	${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}
+STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_*
+TOOLCHAIN_BUILD_DIR=	$(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}
 TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_*
 TOOLS_BUILD_DIR=	$(BASE_DIR)/tools_build
 TOOLS_DIR:=		$(BASE_DIR)/bin/tools
 SCRIPT_DIR:=		$(BASE_DIR)/scripts
-ifeq ($(ADK_HW),)
-BIN_DIR:=		$(BASE_DIR)/bin/${ADK_TARGET}_${ADK_LIBC}
-else
-BIN_DIR:=		$(BASE_DIR)/bin/${ADK_HW}_${ADK_TARGET}_${ADK_LIBC}
-endif
+BIN_DIR:=		$(BASE_DIR)/bin/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 BIN_DIR_PFX:=		$(BASE_DIR)/bin
 PACKAGE_DIR:=		$(BIN_DIR)/packages
-ifeq ($(ADK_HW),)
-TARGET_DIR:=		$(BASE_DIR)/root_${ADK_TARGET}_${ADK_LIBC}
-else
-TARGET_DIR:=		$(BASE_DIR)/root_${ADK_HW}_${ADK_TARGET}_${ADK_LIBC}
-endif
+TARGET_DIR:=		$(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
 TARGET_DIR_PFX:=	$(BASE_DIR)/root_*
-TARGET_PATH=		${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_TOOLS}/bin:${STAGING_DIR}/scripts:${_PATH}
+TARGET_PATH=		${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
 REAL_GNU_TARGET_NAME=	$(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
 GNU_TARGET_NAME=	$(CPU_ARCH)-$(ADK_VENDOR)-linux
 TOOLCHAIN_SYSROOT:=	$(TOOLCHAIN_BUILD_DIR)/libc_dev
@@ -54,18 +44,18 @@ ifeq ($(ADK_NATIVE),y)
 TARGET_CROSS:=		
 TARGET_COMPILER_PREFIX?=
 else
-TARGET_CROSS:=		$(STAGING_TOOLS)/bin/$(REAL_GNU_TARGET_NAME)-
+TARGET_CROSS:=		$(STAGING_HOST_DIR)/bin/$(REAL_GNU_TARGET_NAME)-
 TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
 endif
 TARGET_CC:=		${TARGET_COMPILER_PREFIX}gcc
 TARGET_CXX:=		${TARGET_COMPILER_PREFIX}g++
 TARGET_LD:=		${TARGET_COMPILER_PREFIX}ld
-TARGET_CPPFLAGS+=	-I${STAGING_DIR}/usr/include
+TARGET_CPPFLAGS+=	-I${STAGING_TARGET_DIR}/usr/include
 TARGET_LDFLAGS+=	-Wl,-O2
 PATCH=			${BASH} $(SCRIPT_DIR)/patch.sh
 SED:=			sed -i -e
 LINUX_DIR:=		$(BUILD_DIR)/linux
-LINUX_HEADER_DIR:=	$(STAGING_DIR)/linux-header
+LINUX_HEADER_DIR:=	$(STAGING_TARGET_DIR)/linux-header
 
 TARGET_CONFIGURE_OPTS=	PATH='${TARGET_PATH}' \
 			AR=$(TARGET_CROSS)ar \
@@ -90,7 +80,7 @@ PKG_BUILD:=		PATH='${TARGET_PATH}' \
 			${BASH} ${SCRIPT_DIR}/ipkg-build
 PKG_INSTALL:=		IPKG_TMP=$(BUILD_DIR)/tmp \
 			IPKG_INSTROOT=$(TARGET_DIR) \
-			IPKG_CONF_DIR=$(STAGING_DIR)/etc \
+			IPKG_CONF_DIR=$(STAGING_TARGET_DIR)/etc \
 			IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
 			${BASH} ${SCRIPT_DIR}/ipkg \
 			-force-defaults -force-depends install

+ 1 - 2
package/DirectFB/Makefile

@@ -27,7 +27,7 @@ CONFIGURE_ARGS+=	--with-inputdrivers=linuxinput,keyboard,ps2mouse \
 # which then chooses the wrong default emulation (which is
 # probably the real problem here). LDEMULATION overrides ld's
 # wrong choice.
-ifeq (${ADK_HARDWARE_LEMOTE_YEELONG},y)
+ifeq (${ADK_TARGET_SYSTEM_LEMOTE_YEELONG},y)
 XAKE_FLAGS+=		LDEMULATION=elf64ltsmip
 endif
 
@@ -51,5 +51,4 @@ post-install:
 	${CP} ${WRKINST}/usr/lib/directfb-1.4-0/interfaces/IDirectFBVideoProvider/*.so \
 		${IDIR_DIRECTFB}/usr/lib/directfb-1.4-0/interfaces/IDirectFBVideoProvider/
 
-
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 5 - 5
package/MesaLib/Makefile

@@ -21,7 +21,7 @@ PKGSC_GLXINFO:=		x11/apps
 PKGSD_GLXGEARS:=	Nice little OpenGL demo application
 PKGSC_GLXGEARS:=	x11/apps
 
-PKG_TARGET_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
+PKG_ARCH_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
 
 WRKDIST=		${WRKDIR}/Mesa-${PKG_VERSION}
 
@@ -31,7 +31,7 @@ $(eval $(call PKG_template,MESALIB,mesalib,$(PKG_VERSION)-${PKG_RELEASE},${PKG_D
 $(eval $(call PKG_template,GLXINFO,glxinfo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_GLXINFO},${PKGSC_GLXINFO}))
 $(eval $(call PKG_template,GLXGEARS,glxgears,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_GLXGEARS},${PKGSC_GLXGEARS}))
 
-ifeq (${ADK_HARDWARE_IBM_X40},y)
+ifeq (${ADK_TARGET_SYSTEM_IBM_X40},y)
 DRI_DRIVERS:=i915
 endif
 
@@ -42,7 +42,7 @@ CONFIGURE_ARGS+=	--disable-static \
 			--with-dri-drivers=${DRI_DRIVERS},swrast \
 			--with-demos=xdemos
 
-XAKE_FLAGS+=		HOST_CC=${HOSTCC} GLSL_CL=${STAGING_TOOLS}/bin/glslcompile
+XAKE_FLAGS+=		HOST_CC=${HOSTCC} GLSL_CL=${STAGING_HOST_DIR}/bin/glslcompile
 
 post-extract:
 	(cd ${WRKBUILD}; rm -rf config.{cache,status}; \
@@ -55,7 +55,7 @@ post-extract:
 	${MAKE} -C ${WRKBUILD}/src/glsl
 	${MAKE} -C ${WRKBUILD}/src/glsl/apps
 	${CP} ${WRKBUILD}/src/glsl/apps/compile \
-		${STAGING_TOOLS}/bin/glslcompile
+		${STAGING_HOST_DIR}/bin/glslcompile
 	${MAKE} -C ${WRKBUILD}/src/glsl clean
 
 pre-configure:
@@ -66,7 +66,7 @@ post-install:
 	$(INSTALL_DIR) $(IDIR_MESALIB)/usr/lib/dri
 	$(CP) $(WRKINST)/usr/lib/libGL*.so* \
 		$(IDIR_MESALIB)/usr/lib
-ifeq (${ADK_HARDWARE_IBM_X40},y)
+ifeq (${ADK_TARGET_SYSTEM_IBM_X40},y)
 	${CP} $(WRKINST)/usr/lib/dri/i915_dri.so \
 		${IDIR_MESALIB}/usr/lib/dri/
 endif

+ 1 - 1
package/MesaLib/patches/patch-configs_default

@@ -5,7 +5,7 @@
  # Misc tools and flags
  SHELL = /bin/sh
 -MKLIB = $(SHELL) $(TOP)/bin/mklib
-+MKLIB = env RANLIB=/Volumes/adk/openadk/cross_x86_glibc/host/bin/i686-openadk-linux-gnu-ranlib AR=/Volumes/adk/openadk/cross_x86_glibc/host/bin/i686-openadk-linux-gnu-ar $(SHELL) $(TOP)/bin/mklib
++MKLIB = env RANLIB=$(RANLIB) AR=$(AR) $(SHELL) $(TOP)/bin/mklib
  MKLIB_OPTIONS = 
  MKDEP = makedepend
  MKDEP_OPTIONS = -fdepend

+ 8 - 7
package/adkinstall/Makefile

@@ -5,13 +5,11 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		adkinstall
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		5
+PKG_RELEASE:=		7
 PKG_DESCR:=		openadk installer
 PKG_SECTION:=		base
 PKG_DEPENDS:=		parted sfdisk e2fsprogs
-PKG_URL:=		http://www.openadk.org/
-
-PKG_TARGET_DEPENDS:=	alix wrap routerboard foxg20
+PKG_URL:=		http://openadk.org/
 
 WRKDIST=		${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
 NO_DISTFILES:=		1
@@ -29,13 +27,16 @@ pre-configure:
 
 do-install:
 	${INSTALL_DIR} $(IDIR_ADKINSTALL)/sbin
-ifeq ($(ADK_LINUX_MIPS_RB532),y)
+ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
 	${INSTALL_BIN} ./src/adkinstall.rb532 \
 		$(IDIR_ADKINSTALL)/sbin/adkinstall
-else ifeq ($(ADK_LINUX_ARM_FOXG20),y)
+else ifeq ($(ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20),y)
 	${INSTALL_BIN} ./src/adkinstall.foxg20 \
 		$(IDIR_ADKINSTALL)/sbin/adkinstall
-else ifeq ($(ADK_LINUX_MIPS_RB4XX),y)
+else ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB411),y)
+	${INSTALL_BIN} ./src/adkinstall.rb4xx \
+		$(IDIR_ADKINSTALL)/sbin/adkinstall
+else ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB433),y)
 	${INSTALL_BIN} ./src/adkinstall.rb4xx \
 		$(IDIR_ADKINSTALL)/sbin/adkinstall
 else

+ 12 - 5
package/adkinstall/src/adkinstall

@@ -52,11 +52,18 @@ if [ $rescue -eq 1 ];then
 	rootp=3
 	cfgfsp=4
 	start=2
-	parted -s /dev/sda unit cyl mkpartfs primary ext2 0 1
-	parted -s /dev/sda unit cyl mkpartfs primary ext2 1 2
+	parted -s /dev/sda unit cyl mkpart primary ext2 0 1
+	check_exit
+	mke2fs /dev/sda1
+	check_exit
+	parted -s /dev/sda unit cyl mkpart primary ext2 1 2
+	check_exit
+	mke2fs /dev/sda2
 	check_exit
 fi
-parted -s /dev/sda unit cyl mkpartfs primary ext2 $start $rootsize
+parted -s /dev/sda unit cyl mkpart primary ext2 $start $rootsize
+check_exit
+mke2fs /dev/sda1
 check_exit
 parted -s /dev/sda unit cyl mkpart primary fat32 $rootsize $maxsize
 check_exit
@@ -124,7 +131,7 @@ menuentry "GNU/Linux (OpenADK)" {
 	recordfail
         insmod ext2
         set root=(hd0,3)
-        linux /boot/vmlinuz-adk root=/dev/sda$rootp ro init=/init panic=10
+        linux /boot/kernel root=/dev/sda$rootp ro init=/init panic=10
 }
 
 menuentry "GNU/Linux (OpenADK) Rescue Mode" {
@@ -145,7 +152,7 @@ terminal_input serial
 menuentry "GNU/Linux (OpenADK)" {
         insmod ext2
         set root=(hd0,1)
-        linux /boot/vmlinuz-adk root=/dev/sda$rootp ro init=/init panic=10
+        linux /boot/kernel root=/dev/sda$rootp ro init=/init panic=10
 }
 EOF
 fi

+ 2 - 1
package/adkinstall/src/adkinstall.foxg20

@@ -17,7 +17,7 @@ parted -s /dev/mmcblk0 mklabel msdos
 sleep 2
 maxsize=$(env LC_ALL=C parted /dev/mmcblk0 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
 rootsize=$(($maxsize-2))
-parted -s /dev/mmcblk0 unit cyl mkpartfs primary fat32 0 5
+parted -s /dev/mmcblk0 unit cyl mkpart primary fat32 0 5
 parted -s /dev/mmcblk0 unit cyl mkpart primary ext2 5 $rootsize
 parted -s /dev/mmcblk0 unit cyl mkpart primary fat32 $rootsize $maxsize
 parted -s /dev/mmcblk0 set 1 boot on
@@ -25,6 +25,7 @@ sfdisk --change-id /dev/mmcblk0 3 88 >/dev/null 2>&1
 sleep 2
 sync
 printf "Creating ext2 filesystem\n"
+mkfs.vfat /dev/mmcblk0p1 >/dev/null 2>&1
 mke2fs /dev/mmcblk0p2 >/dev/null 2>&1
 tune2fs -c0 -i0 /dev/mmcblk0p2 >/dev/null 2>&1
 mount -t ext2 /dev/mmcblk0p2 /mnt

+ 1 - 2
package/adkinstall/src/adkinstall.rb4xx

@@ -1,6 +1,5 @@
 #!/bin/sh
-# installs a rootfs tar archive from OpenADK onto 
-# a NAND device
+# installs a rootfs tar archive from OpenADK onto a NAND device
 # special script for routerboard rb4xx
 
 if [ -z $1 ];then

+ 9 - 8
package/adkinstall/src/adkinstall.rb532

@@ -14,12 +14,6 @@ if [ -z $2 ];then
         printf "Please give your root tar archive as second parameter\n"
         exit 1
 fi
-if [ $cfinstall -eq 1 ];then
-	if [ -z $3 ];then
-       	 printf "Please give your kernel as third parameter\n"
-       	 exit 1
-	fi
-fi
 case $1 in
 	nand)
 		nandinstall=1
@@ -33,6 +27,13 @@ case $1 in
 		;;
 esac
 
+if [ $cfinstall -eq 1 ];then
+	if [ -z $3 ];then
+       	 printf "Please give your kernel as third parameter\n"
+       	 exit 1
+	fi
+fi
+
 if [ $cfinstall -eq 1 ];then
 	# create empty partition table
 	printf "Creating partition scheme\n"
@@ -41,12 +42,13 @@ if [ $cfinstall -eq 1 ];then
 	maxsize=$(env LC_ALL=C parted /dev/sda -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
 	rootsize=$(($maxsize-2))
 	parted -s /dev/sda unit cyl mkpart primary ext2 0 1
-	parted -s /dev/sda unit cyl mkpartfs primary ext2 1 $rootsize
+	parted -s /dev/sda unit cyl mkpart primary ext2 1 $rootsize
 	parted -s /dev/sda unit cyl mkpart primary fat32 $rootsize $maxsize
 	parted -s /dev/sda set 1 boot on
 	sfdisk --change-id /dev/sda 1 27 >/dev/null 2>&1
 	sfdisk --change-id /dev/sda 3 88 >/dev/null 2>&1
 	sleep 2
+	mke2fs /dev/sda2
 	sync
 	printf "Installing kernel\n"
 	dd if=$3 of=/dev/sda1 bs=2048 >/dev/null 2>&1
@@ -71,7 +73,6 @@ fi
 
 chmod 1777 /mnt/tmp
 chmod 4755 /mnt/bin/busybox
-
 sync
 
 if [ $nandinstall -eq 1 ];then

+ 0 - 2
package/alix-switch/Makefile

@@ -10,8 +10,6 @@ PKG_DESCR:=		daemon listening on button events
 PKG_SECTION:=		base
 PKG_URL:=		http://openadk.org/
 
-PKG_TARGET_DEPENDS:=	alix
-
 NO_DISTFILES:=		1
 
 include ${TOPDIR}/mk/package.mk

+ 4 - 4
package/apr-util/Makefile

@@ -19,10 +19,10 @@ include ${TOPDIR}/mk/package.mk
 $(eval $(call PKG_template,APR_UTIL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 CONFIGURE_ARGS+=	--without-berkeley-db
-CONFIGURE_ARGS+=	--with-apr=${STAGING_DIR}/usr
-CONFIGURE_ARGS+=	--with-expat=${STAGING_DIR}/usr
-XAKE_FLAGS+=		apr_builddir=${STAGING_DIR}/usr/share/build-1 \
-			apr_builders=${STAGING_DIR}/usr/share/build-1
+CONFIGURE_ARGS+=	--with-apr=${STAGING_TARGET_DIR}/usr
+CONFIGURE_ARGS+=	--with-expat=${STAGING_TARGET_DIR}/usr
+XAKE_FLAGS+=		apr_builddir=${STAGING_TARGET_DIR}/usr/share/build-1 \
+			apr_builders=${STAGING_TARGET_DIR}/usr/share/build-1
 
 post-install:
 	${INSTALL_DIR} ${IDIR_APR_UTIL}/usr/lib

+ 4 - 4
package/apr/Makefile

@@ -41,12 +41,12 @@ endif
 post-install:
 	${INSTALL_DIR} ${IDIR_APR}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libapr-1.so* ${IDIR_APR}/usr/lib/
-	${INSTALL_DIR} ${STAGING_DIR}/usr/share/build-1
-	${CP} ${WRKINST}/usr/share/build-1/* ${STAGING_DIR}/usr/share/build-1/
+	${INSTALL_DIR} ${STAGING_TARGET_DIR}/usr/share/build-1
+	${CP} ${WRKINST}/usr/share/build-1/* ${STAGING_TARGET_DIR}/usr/share/build-1/
 	# we need to patch paths to get apr-util compiling
-	$(SED) "s,\(^installbuilddir=\"\)\(.*\),\1${STAGING_DIR}\2," \
+	$(SED) "s,\(^installbuilddir=\"\)\(.*\),\1${STAGING_TARGET_DIR}\2," \
 		${WRKINST}/usr/bin/apr-1-config
-	$(SED) "s,\(^datadir=\"\)\(.*\),\1${STAGING_DIR}\2," \
+	$(SED) "s,\(^datadir=\"\)\(.*\),\1${STAGING_TARGET_DIR}\2," \
 		${WRKINST}/usr/bin/apr-1-config
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 5 - 5
package/arpd/Makefile

@@ -20,12 +20,12 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,ARPD,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-CONFIGURE_ARGS+=	--with-libdnet=${STAGING_DIR}/usr \
-			--with-libevent=${STAGING_DIR}/usr \
-			--with-libpcap=${STAGING_DIR}/usr
+CONFIGURE_ARGS+=	--with-libdnet=${STAGING_TARGET_DIR}/usr \
+			--with-libevent=${STAGING_TARGET_DIR}/usr \
+			--with-libpcap=${STAGING_TARGET_DIR}/usr
 MAKE_FLAGS+=		CCOPT="${TARGET_CFLAGS}" \
-			INCLS="-I. -I${STAGING_DIR}/usr/include" \
-			LIBS="-L${STAGING_DIR}/usr/lib -lpcap -ldnet -levent"
+			INCLS="-I. -I${STAGING_TARGET_DIR}/usr/include" \
+			LIBS="-L${STAGING_TARGET_DIR}/usr/lib -lpcap -ldnet -levent"
 
 post-install:
 	${INSTALL_DIR} ${IDIR_ARPD}/usr/sbin

+ 2 - 2
package/arpwatch/Makefile

@@ -22,8 +22,8 @@ INSTALL_STYLE:=		manual
 
 MAKE_FLAGS+=		ARPDIR=/etc/arpwatch \
 			CCOPT="$(TARGET_CFLAGS)" \
-			INCLS="-I. -I$(STAGING_DIR)/usr/include" \
-			LIBS="-L$(STAGING_DIR)/usr/lib -lpcap"
+			INCLS="-I. -I$(STAGING_TARGET_DIR)/usr/include" \
+			LIBS="-L$(STAGING_TARGET_DIR)/usr/lib -lpcap"
 
 do-install:
 	$(INSTALL_DIR) $(IDIR_ARPWATCH)/usr/sbin $(IDIR_ARPWATCH)/etc/arpwatch

+ 10 - 10
package/asterisk/Makefile

@@ -16,7 +16,7 @@ PKG_SITES:=		http://downloads.asterisk.org/pub/telephony/asterisk/releases/
 PKG_MULTI:=		1
 PKG_NOPARALLEL:=	1
 
-PKG_TARGET_DEPENDS:=	!foxboard
+PKG_ARCH_DEPENDS:=	!cris
 
 PKG_SUBPKGS:=		ASTERISK ASTERISK_PGSQL ASTERISK_VOICEMAIL ASTERISK_SOUNDS ASTERISK_CHAN_MGCP
 PKG_SUBPKGS+=		ASTERISK_CHAN_SKINNY ASTERISK_CHAN_IAX2 ASTERISK_CODEC_SPEEX ASTERISK_CODEC_GSM
@@ -57,9 +57,9 @@ SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CODEC_GSM}+=	asterisk-codec-gsm-install
 SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_PBX_DUNDI}+=	asterisk-pbx-dundi-install
 SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_RES_AGI}+=		asterisk-res-agi-install
 
-CONFIGURE_ARGS=		--with-z=${STAGING_DIR}/usr \
-			--with-ncurses=${STAGING_DIR}/usr \
-			--with-ssl=${STAGING_DIR}/usr \
+CONFIGURE_ARGS=		--with-z=${STAGING_TARGET_DIR}/usr \
+			--with-ncurses=${STAGING_TARGET_DIR}/usr \
+			--with-ssl=${STAGING_TARGET_DIR}/usr \
 			--disable-xmldoc \
 			--without-tonezone \
 			--without-asound \
@@ -91,21 +91,21 @@ else
 CONFIGURE_ARGS+=	--without-gsm
 endif
 ifneq (${ADK_PACKAGE_ASTERISK_CODEC_SPEEX},)
-CONFIGURE_ARGS+=	--with-speex=${STAGING_DIR}/usr
-EXTRA_CFLAGS+=		-I$(STAGING_DIR)/usr/include/speex
+CONFIGURE_ARGS+=	--with-speex=${STAGING_TARGET_DIR}/usr
+EXTRA_CFLAGS+=		-I$(STAGING_TARGET_DIR)/usr/include/speex
 endif
 ifneq (${ADK_PACKAGE_ASTERISK_FORMAT_VORBIS},)
-CONFIGURE_ARGS+=	--with-ogg=${STAGING_DIR}/usr \
-			--with-vorbis=${STAGING_DIR}/usr
+CONFIGURE_ARGS+=	--with-ogg=${STAGING_TARGET_DIR}/usr \
+			--with-vorbis=${STAGING_TARGET_DIR}/usr
 TLDFLAGS+=		-logg
 endif
 ifneq (${ADK_PACKAGE_ASTERISK_CURL},)
-CONFIGURE_ARGS+=	--with-libcurl=${STAGING_DIR}/usr
+CONFIGURE_ARGS+=	--with-libcurl=${STAGING_TARGET_DIR}/usr
 else
 CONFIGURE_ARGS+=	--without-libcurl
 endif
 ifneq (${ADK_PACKAGE_ASTERISK_PGSQL},)
-CONFIGURE_ARGS+=	--with-postgres=${STAGING_DIR}/usr
+CONFIGURE_ARGS+=	--with-postgres=${STAGING_TARGET_DIR}/usr
 else
 CONFIGURE_ARGS+=	--without-postgres
 endif

+ 24 - 34
package/aufs2-util/src/Makefile

@@ -1,5 +1,5 @@
 
-# Copyright (C) 2005-2009 Junjiro Okajima
+# Copyright (C) 2005-2010 Junjiro R. Okajima
 #
 # This program, aufs is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,11 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301	 USA
 
-ifndef KDIR
-KDIR = /lib/modules/$(shell uname -r)/build
-endif
-
-CFLAGS += -I${KDIR}/include
+CFLAGS += -I./libau
 CFLAGS += -O -Wall
 
 Cmd = umount.aufs auchk aubrsync
@@ -27,32 +23,23 @@ Man = aufs.5
 Etc = etc_default_aufs
 Bin = auplink mount.aufs #auctl
 BinObj = $(addsuffix .o, ${Bin})
-LibSo = libau.so
-LibSoObj = rdu.o
-LibSoHdr = compat.h
 LibUtil = libautil.a
 LibUtilObj = proc_mnt.o br.o plink.o mtab.o
 LibUtilHdr = au_util.h
+export
 
-all: ${Bin} ${Etc} #${LibSo}
+all: ${Man} ${Bin} ${Etc}
+	${MAKE} -C libau $@
+	ln -sf ./libau/libau*.so .
 
 ${Bin}: LDFLAGS += -static -s
 ${Bin}: LDLIBS = -L. -lautil
 ${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}
 
 ${LibUtilObj}: %.o: %.c ${LibUtilHdr}
-${LibUtil}: ${LibUtil}(${LibUtilObj})
-
-${LibSoObj}: CFLAGS += -fPIC
-${LibSoObj}: %.o: %.c ${LibSolHdr}
-
-# in order to reuse the default rule
-Dummy = $(basename $(word 1,${LibSoObj}))
-${Dummy}: LDFLAGS += --shared
-${Dummy}: LDLIBS += -ldl -lpthread
-${Dummy}: ${LibSoObj}
-${LibSo}: ${Dummy}
-	ln -f $< $@
+#${LibUtil}: ${LibUtil}(${LibUtilObj})
+${LibUtil}: $(foreach o, ${LibUtilObj}, ${LibUtil}(${o}))
+.NOTPARALLEL: ${LibUtil}
 
 etc_default_aufs: c2sh aufs.shlib
 	${RM} $@
@@ -75,29 +62,32 @@ aufs.5: aufs.in.5 c2tmac
 
 .INTERMEDIATE: c2sh c2tmac
 
+Install = install -o root -g root -p
 install_sbin: File = mount.aufs umount.aufs auplink
 install_sbin: Tgt = ${DESTDIR}/sbin
 install_ubin: File = auchk aubrsync #auctl
 install_ubin: Tgt = ${DESTDIR}/usr/bin
-install_man: File = aufs.5
-install_man: Tgt = ${DESTDIR}/usr/share/man/man5
-install_ulib: Opt = -s
-install_ulib: File = ${LibSo}
-install_ulib: Tgt = ${DESTDIR}/ulib
-install_sbin install_ubin install_man install_ulib: ${File}
+install_sbin install_ubin: ${File}
 	install -d ${Tgt}
-	install -m 755 -o root -g root -p ${Opt} ${File} ${Tgt}
+	${Install} -m 755 ${File} ${Tgt}
 install_etc: File = etc_default_aufs
 install_etc: Tgt = ${DESTDIR}/etc/default/aufs
 install_etc: ${File}
 	install -d $(dir ${Tgt})
-	install -m 644 -o root -g root -p -T ${File} ${Tgt}
+	${Install} -m 644 -T ${File} ${Tgt}
+install_man: File = aufs.5
+install_man: Tgt = ${DESTDIR}/usr/share/man/man5
+install_man: ${File}
+	install -d ${Tgt}
+	${Install} -m 644 ${File} ${Tgt}
+install_ulib:
+	${MAKE} -C libau $@
 
-# do not inlcude install_ulib here
-install: install_sbin install_ubin install_etc
+install: install_man install_sbin install_ubin install_etc install_ulib
 
 clean:
-	${RM} ${Man} ${Bin} ${Etc} ${LibUtil} ${LibSo} *~
-	${RM} ${BinObj} ${LibUtilObj} ${LibSoObj} ${Dummy}
+	${RM} ${Man} ${Bin} ${Etc} ${LibUtil} libau.so* *~
+	${RM} ${BinObj} ${LibUtilObj}
+	${MAKE} -C libau $@
 
 -include priv.mk

+ 1 - 1
package/base-files/Config.in.manual

@@ -6,9 +6,9 @@ config ADK_COMPILE_BASE_FILES
 config ADK_PACKAGE_BASE_FILES
 	prompt "base-files............. basic filesystem structure and scripts"
 	tristate
-	default y if !ADK_TOOLCHAIN_ONLY
 	select ADK_COMPILE_BASE_FILES
 	depends on !ADK_TOOLCHAIN_ONLY
+	default y if !ADK_TOOLCHAIN_ONLY
 	help
 	  basic filesystem structure and scripts
 

+ 7 - 5
package/base-files/Makefile

@@ -24,13 +24,14 @@ INSTALL_STYLE:=		manual
 do-install:
 	$(CP) ./src/* $(IDIR_BASE_FILES)
 	# allow this to fail, as there might be no target-specific files to copy
-	-$(CP) $(TOPDIR)/target/$(ADK_TARGET)/files/* $(IDIR_BASE_FILES)
+	-$(CP) $(TOPDIR)/target/$(ADK_TARGET_ARCH)/files/* $(IDIR_BASE_FILES)
 ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y)
 	@echo "#" > $(IDIR_BASE_FILES)/etc/network/interfaces
 endif
-	$(SED) 's,@TARGET@,$(ADK_TARGET),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+	$(SED) 's,@ARCH@,$(ADK_TARGET_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+	$(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+	$(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
 	$(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
-	$(SED) 's,@LIBC@,$(ADK_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
 	$(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
 	echo /bin/sh >${IDIR_BASE_FILES}/etc/shells
 	echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells
@@ -61,6 +62,7 @@ endif
 	    cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
 	test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
 	    cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
+	$(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
 	test -z $(ADK_RUNTIME_HOSTNAME) || \
 	    echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \
 	    echo "127.0.0.1	$(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
@@ -69,8 +71,8 @@ endif
 	    ${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
 	git log -1|head -1|sed -e 's#commit ##' \
 		> $(IDIR_BASE_FILES)/etc/adkversion
-	test -z $(ADK_HW) || \
-	    echo $(ADK_HW) > $(IDIR_BASE_FILES)/etc/adktarget
+	test -z $(ADK_TARGET_SYSTEM) || \
+	    echo $(ADK_TARGET_SYSTEM) > $(IDIR_BASE_FILES)/etc/adktarget
 ifneq (${ADK_PACKAGE_CONFIG_IN_ETC},)
 	gzip -9c ${TOPDIR}/.config >$(IDIR_BASE_FILES)/etc/adkconfig.gz
 	chmod 600 $(IDIR_BASE_FILES)/etc/adkconfig.gz

+ 1 - 1
package/base-files/files/inittab.serial

@@ -1 +1 @@
-ttyS0::respawn:/sbin/getty -i -L ttyS0 115200 vt100
+ttyS0::respawn:/sbin/getty -i -L ttyS0 @SPEED@ vt100

+ 1 - 1
package/base-files/src/etc/ipkg.conf

@@ -1,3 +1,3 @@
-src @VENDOR@ http://@HOST@/@TARGET@_@LIBC@/packages
+src @VENDOR@ http://@HOST@/@SYSTEM@_@ARCH@_@LIBC@/packages
 dest root /
 dest ram /tmp

+ 2 - 2
package/bind/Makefile

@@ -40,8 +40,8 @@ $(eval $(call PKG_template,BIND_DIG,bind-dig,${PKG_VERSION}-${PKG_RELEASE},${PKG
 
 CONFIGURE_ARGS+=	--with-randomdev=/dev/urandom \
 			--disable-threads \
-			--with-openssl=${STAGING_DIR}/usr/ \
-			--with-libxml2=${STAGING_DIR}/usr/ \
+			--with-openssl=${STAGING_TARGET_DIR}/usr/ \
+			--with-libxml2=${STAGING_TARGET_DIR}/usr/ \
 			--enable-epoll \
 			--with-libtool
 

+ 2 - 2
package/bitlbee/Makefile

@@ -37,9 +37,9 @@ CONFIGURE_ARGS:=	--target=${REAL_GNU_TARGET_NAME} \
 INSTALL_TARGET=		install-etc install-bin
 
 post-configure:
-	@echo 'CFLAGS+="-I${STAGING_DIR}/usr/include/iconv"' >> \
+	@echo 'CFLAGS+="-I${STAGING_TARGET_DIR}/usr/include/iconv"' >> \
 		${WRKBUILD}/Makefile.settings
-	@echo 'LFLAGS+="-L${STAGING_DIR}/usr/lib"' >> \
+	@echo 'LFLAGS+="-L${STAGING_TARGET_DIR}/usr/lib"' >> \
 		${WRKBUILD}/Makefile.settings
 
 post-install:

+ 1 - 2
package/bkeymaps/Makefile

@@ -9,8 +9,7 @@ PKG_RELEASE:=		2
 PKG_MD5SUM:=		a68058ab4a81cf9a8dcbaaa7a5df5b11
 PKG_DESCR:=		binary keymaps for busybox loadkmap
 PKG_SECTION:=		utils
-PKG_URL:=		http://dev.alpinelinux.org/bkeymaps/
-PKG_SITES:=		http://dev.alpinelinux.org/bkeymaps/
+PKG_SITES:=		http://openadk.org/distfiles/
 
 PKG_DFLT_BKEYMAPS:=	y if ADK_TARGET_WITH_INPUT
 

+ 1 - 1
package/bogofilter/Makefile

@@ -25,7 +25,7 @@ CONFIGURE_ENV+=		LIBS="-liconv" \
 CONFIGURE_ARGS+=	--without-libsqlite3-prefix \
 			--without-libqdbm-prefix \
 			--with-included-gsl \
-			--with-libdb-prefix=${STAGING_DIR}/usr \
+			--with-libdb-prefix=${STAGING_TARGET_DIR}/usr \
 			--disable-transactions
 
 post-install:

+ 3 - 3
package/busybox/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		busybox
-PKG_VERSION:=		1.17.2
-PKG_RELEASE:=		5
-PKG_MD5SUM:=		7360b7138b899ee7fc885791c740c3c3
+PKG_VERSION:=		1.18.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		f15fe752d8b7012aa5e59f83b88ccb1c
 PKG_DESCR:=		Core utilities for embedded systems
 PKG_SECTION:=		base
 PKG_URL:=		http://www.busybox.net/

+ 1 - 0
package/busybox/config/util-linux/Config.in

@@ -253,6 +253,7 @@ config BUSYBOX_MKFS_REISER
 
 config BUSYBOX_MKFS_VFAT
 	bool "mkfs_vfat"
+	default y if ADK_TARGET_WITH_MMC
 	default n
 	help
 	  Utility to create FAT32 filesystems.

File diff suppressed because it is too large
+ 230 - 250
package/busybox/patches/001-ipkg.patch


+ 27 - 22
package/busybox/patches/003-defaults-no.patch → package/busybox/patches/003-defaults.patch

@@ -1,6 +1,6 @@
-diff -Nur busybox-1.17.1.orig/Config.in busybox-1.17.1/Config.in
---- busybox-1.17.1.orig/Config.in	2010-07-25 00:12:56.000000000 +0200
-+++ busybox-1.17.1/Config.in	2010-07-26 14:32:24.000000000 +0200
+diff -Nur busybox-1.18.1.orig/Config.in busybox-1.18.1/Config.in
+--- busybox-1.18.1.orig/Config.in	2010-12-21 05:31:04.000000000 +0100
++++ busybox-1.18.1/Config.in	2010-12-25 23:20:18.000000000 +0100
 @@ -15,7 +15,7 @@
  
  config DESKTOP
@@ -19,9 +19,9 @@ diff -Nur busybox-1.17.1.orig/Config.in busybox-1.17.1/Config.in
  	help
  	  This option will enable backwards compatibility with SuSv2,
  	  specifically, old-style numeric options ('command -1 <file>')
-diff -Nur busybox-1.17.1.orig/archival/Config.src busybox-1.17.1/archival/Config.src
---- busybox-1.17.1.orig/archival/Config.src	2010-07-25 00:12:56.000000000 +0200
-+++ busybox-1.17.1/archival/Config.src	2010-07-26 14:30:27.000000000 +0200
+diff -Nur busybox-1.18.1.orig/archival/Config.src busybox-1.18.1/archival/Config.src
+--- busybox-1.18.1.orig/archival/Config.src	2010-12-20 01:41:26.000000000 +0100
++++ busybox-1.18.1/archival/Config.src	2010-12-25 23:21:02.000000000 +0100
 @@ -79,7 +79,7 @@
  
  config BUNZIP2
@@ -56,7 +56,7 @@ diff -Nur busybox-1.17.1.orig/archival/Config.src busybox-1.17.1/archival/Config
 -	default y
 +	default n
  	help
- 	  Converts an RPM file into a CPIO archive.
+ 	  Converts a RPM file into a CPIO archive.
  
  config RPM
  	bool "rpm"
@@ -90,9 +90,9 @@ diff -Nur busybox-1.17.1.orig/archival/Config.src busybox-1.17.1/archival/Config
  	help
  	  unxz is a unlzma successor.
  
-diff -Nur busybox-1.17.1.orig/editors/Config.src busybox-1.17.1/editors/Config.src
---- busybox-1.17.1.orig/editors/Config.src	2010-07-06 04:25:53.000000000 +0200
-+++ busybox-1.17.1/editors/Config.src	2010-07-26 14:30:27.000000000 +0200
+diff -Nur busybox-1.18.1.orig/editors/Config.src busybox-1.18.1/editors/Config.src
+--- busybox-1.18.1.orig/editors/Config.src	2010-12-20 01:41:27.000000000 +0100
++++ busybox-1.18.1/editors/Config.src	2010-12-25 23:21:57.000000000 +0100
 @@ -31,7 +31,7 @@
  
  config DIFF
@@ -102,14 +102,7 @@ diff -Nur busybox-1.17.1.orig/editors/Config.src busybox-1.17.1/editors/Config.s
  	help
  	  diff compares two files or directories and outputs the
  	  differences between them in a form that can be given to
-@@ -62,13 +62,13 @@
- 
- config PATCH
- 	bool "patch"
--	default y
-+	default n
- 	help
- 	  Apply a unified diff formatted patch.
+@@ -62,7 +62,7 @@
  
  config SED
  	bool "sed"
@@ -118,10 +111,22 @@ diff -Nur busybox-1.17.1.orig/editors/Config.src busybox-1.17.1/editors/Config.s
  	help
  	  sed is used to perform text transformations on a file
  	  or input from a pipeline.
-diff -Nur busybox-1.17.1.orig/networking/Config.src busybox-1.17.1/networking/Config.src
---- busybox-1.17.1.orig/networking/Config.src	2010-07-25 00:12:43.000000000 +0200
-+++ busybox-1.17.1/networking/Config.src	2010-07-26 14:30:27.000000000 +0200
-@@ -961,7 +961,7 @@
+diff -Nur busybox-1.18.1.orig/editors/patch.c busybox-1.18.1/editors/patch.c
+--- busybox-1.18.1.orig/editors/patch.c	2010-12-21 05:29:45.000000000 +0100
++++ busybox-1.18.1/editors/patch.c	2010-12-25 23:22:38.000000000 +0100
+@@ -27,7 +27,7 @@
+ 
+ //config:config PATCH
+ //config:	bool "patch"
+-//config:	default y
++//config:	default n
+ //config:	help
+ //config:	  Apply a unified diff formatted patch.
+ 
+diff -Nur busybox-1.18.1.orig/networking/Config.src busybox-1.18.1/networking/Config.src
+--- busybox-1.18.1.orig/networking/Config.src	2010-12-21 05:29:45.000000000 +0100
++++ busybox-1.18.1/networking/Config.src	2010-12-25 23:20:19.000000000 +0100
+@@ -986,7 +986,7 @@
  
  config WGET
  	bool "wget"

+ 0 - 23
package/busybox/patches/004-wget-accept-long-opts.patch

@@ -1,23 +0,0 @@
-diff -Nur busybox-1.17.0.orig/networking/wget.c busybox-1.17.0/networking/wget.c
---- busybox-1.17.0.orig/networking/wget.c	2010-06-24 04:40:43.000000000 +0200
-+++ busybox-1.17.0/networking/wget.c	2010-07-16 15:00:51.819609996 +0200
-@@ -542,8 +542,8 @@
- 		"proxy\0"            Required_argument "Y"
- 		"user-agent\0"       Required_argument "U"
- 		/* Ignored: */
--		// "tries\0"            Required_argument "t"
--		// "timeout\0"          Required_argument "T"
-+		"tries\0"            Required_argument "t"
-+		"timeout\0"          Required_argument "T"
- 		/* Ignored (we always use PASV): */
- 		"passive-ftp\0"      No_argument       "\xff"
- 		"header\0"           Required_argument "\xfe"
-@@ -560,7 +560,7 @@
- #endif
- 	/* server.allocated = target.allocated = NULL; */
- 	opt_complementary = "-1" IF_FEATURE_WGET_LONG_OPTIONS(":\xfe::");
--	opt = getopt32(argv, "csqO:P:Y:U:" /*ignored:*/ "t:T:",
-+	opt = getopt32(argv, "csqO:P:Y:U:t:T:",
- 				&fname_out, &dir_prefix,
- 				&proxy_flag, &user_agent,
- 				NULL, /* -t RETRIES */

+ 0 - 12
package/busybox/patches/005-dot-find.patch

@@ -1,12 +0,0 @@
-diff -Nur busybox-1.17.2.orig/scripts/gen_build_files.sh busybox-1.17.2/scripts/gen_build_files.sh
---- busybox-1.17.2.orig/scripts/gen_build_files.sh	2010-08-23 02:44:35.000000000 +0200
-+++ busybox-1.17.2/scripts/gen_build_files.sh	2010-09-28 15:15:51.000000000 +0200
-@@ -48,7 +48,7 @@
- fi
- 
- # (Re)generate */Kbuild and */Config.in
--{ cd -- "$srctree" && find -type d; } | while read -r d; do
-+{ cd -- "$srctree" && find . -type d; } | while read -r d; do
- 	d="${d#./}"
- 
- 	src="$srctree/$d/Kbuild.src"

+ 20 - 20
package/busybox/patches/006-od-bloat.patch

@@ -1,12 +1,12 @@
-diff -Nur busybox-1.17.1.orig/coreutils/od.c busybox-1.17.1/coreutils/od.c
---- busybox-1.17.1.orig/coreutils/od.c	2010-07-06 04:25:53.000000000 +0200
-+++ busybox-1.17.1/coreutils/od.c	2010-08-15 12:50:31.000000000 +0200
-@@ -13,210 +13,5 @@
+diff -Nur busybox-1.18.1.orig/coreutils/od.c busybox-1.18.1/coreutils/od.c
+--- busybox-1.18.1.orig/coreutils/od.c	2010-12-20 01:41:26.000000000 +0100
++++ busybox-1.18.1/coreutils/od.c	2010-12-25 23:18:48.000000000 +0100
+@@ -13,210 +13,4 @@
  
  
  #include "libbb.h"
 -#if ENABLE_DESKTOP
- /* This one provides -t (busybox's own build script needs it) */
+-/* This one provides -t (busybox's own build script needs it) */
  #include "od_bloaty.c"
 -#else
 -
@@ -102,7 +102,7 @@ diff -Nur busybox-1.17.1.orig/coreutils/od.c busybox-1.17.1/coreutils/od.c
 -			 * the offset is changed as well.  This isn't pretty,
 -			 * but it's easy.
 -			 */
--#define	TYPE_OFFSET	7
+-#define TYPE_OFFSET 7
 -			{
 -				char x_or_d;
 -				if (base == 16) {
@@ -122,19 +122,19 @@ diff -Nur busybox-1.17.1.orig/coreutils/od.c busybox-1.17.1/coreutils/od.c
 -}
 -
 -static const char *const add_strings[] = {
--	"16/1 \"%3_u \" \"\\n\"",				/* a */
--	"8/2 \" %06o \" \"\\n\"",				/* B, o */
--	"16/1 \"%03o \" \"\\n\"",				/* b */
--	"16/1 \"%3_c \" \"\\n\"",				/* c */
--	"8/2 \"  %05u \" \"\\n\"",				/* d */
--	"4/4 \"     %010u \" \"\\n\"",			/* D */
--	"2/8 \"          %21.14e \" \"\\n\"",	/* e (undocumented in od), F */
--	"4/4 \" %14.7e \" \"\\n\"",				/* f */
--	"4/4 \"       %08x \" \"\\n\"",			/* H, X */
--	"8/2 \"   %04x \" \"\\n\"",				/* h, x */
--	"4/4 \"    %11d \" \"\\n\"",			/* I, L, l */
--	"8/2 \" %6d \" \"\\n\"",				/* i */
--	"4/4 \"    %011o \" \"\\n\"",			/* O */
+-	"16/1 \"%3_u \" \"\\n\"",              /* a */
+-	"8/2 \" %06o \" \"\\n\"",              /* B, o */
+-	"16/1 \"%03o \" \"\\n\"",              /* b */
+-	"16/1 \"%3_c \" \"\\n\"",              /* c */
+-	"8/2 \"  %05u \" \"\\n\"",             /* d */
+-	"4/4 \"     %010u \" \"\\n\"",         /* D */
+-	"2/8 \"          %21.14e \" \"\\n\"",  /* e (undocumented in od), F */
+-	"4/4 \" %14.7e \" \"\\n\"",            /* f */
+-	"4/4 \"       %08x \" \"\\n\"",        /* H, X */
+-	"8/2 \"   %04x \" \"\\n\"",            /* h, x */
+-	"4/4 \"    %11d \" \"\\n\"",           /* I, L, l */
+-	"8/2 \" %6d \" \"\\n\"",               /* i */
+-	"4/4 \"    %011o \" \"\\n\"",          /* O */
 -};
 -
 -static const char od_opts[] ALIGN1 = "aBbcDdeFfHhIiLlOoXxv";
@@ -166,7 +166,7 @@ diff -Nur busybox-1.17.1.orig/coreutils/od.c busybox-1.17.1/coreutils/od.c
 -				bb_dump_add(dumper, "\"         \"");
 -			}
 -			bb_dump_add(dumper, add_strings[(int)od_o2si[(p - od_opts)]]);
--		} else {	/* P, p, s, w, or other unhandled */
+-		} else {  /* P, p, s, w, or other unhandled */
 -			bb_show_usage();
 -		}
 -	}

+ 0 - 71
package/busybox/patches/007-endianness-check.patch

@@ -1,71 +0,0 @@
---- busybox-1.17.2/include/platform.h~	Sat Nov 20 18:16:57 2010
-+++ busybox-1.17.2/include/platform.h	Sat Nov 20 18:19:34 2010
-@@ -152,29 +152,40 @@
- 
- #if defined(__digital__) && defined(__unix__)
- # include <sex.h>
--# define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN)
--# define __BYTE_ORDER BYTE_ORDER
--#elif defined __FreeBSD__
-+#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \
-+   || defined(__APPLE__)
-+# include <sys/time.h>
- # include <sys/resource.h>	/* rlimit */
- # include <machine/endian.h>
- # define bswap_64 __bswap64
- # define bswap_32 __bswap32
- # define bswap_16 __bswap16
--# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN)
--#elif !defined __APPLE__
-+#else
- # include <byteswap.h>
- # include <endian.h>
- #endif
- 
--#if defined(__BIG_ENDIAN__) && __BIG_ENDIAN__
-+#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
- # define BB_BIG_ENDIAN 1
- # define BB_LITTLE_ENDIAN 0
--#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
-+#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN
-+# define BB_BIG_ENDIAN 0
-+# define BB_LITTLE_ENDIAN 1
-+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN
- # define BB_BIG_ENDIAN 1
- # define BB_LITTLE_ENDIAN 0
--#elif (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || defined(__386__)
-+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN
- # define BB_BIG_ENDIAN 0
- # define BB_LITTLE_ENDIAN 1
-+#elif defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN
-+# define BB_BIG_ENDIAN 1
-+# define BB_LITTLE_ENDIAN 0
-+#elif defined(BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN
-+# define BB_BIG_ENDIAN 0
-+# define BB_LITTLE_ENDIAN 1
-+#elif defined(__386__)
-+# define BB_BIG_ENDIAN 0
-+# define BB_LITTLE_ENDIAN 1
- #else
- # error "Can't determine endianness"
- #endif
-@@ -230,7 +241,7 @@ typedef uint32_t bb__aliased_uint32_t FI
- /* ---- Compiler dependent settings ------------------------- */
- 
- #if (defined __digital__ && defined __unix__) \
-- || defined __APPLE__ || defined __FreeBSD__
-+ || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
- # undef HAVE_MNTENT_H
- # undef HAVE_SYS_STATFS_H
- #else
---- busybox-1.17.2/include/libbb.h~	Mon Aug 23 00:46:38 2010
-+++ busybox-1.17.2/include/libbb.h	Sat Nov 20 18:21:12 2010
-@@ -70,7 +70,7 @@
- #  include <shadow.h>
- # endif
- #endif
--#if defined __FreeBSD__
-+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
- # include <netinet/in.h>
- # include <arpa/inet.h>
- #elif defined __APPLE__

+ 2 - 4
package/cfgfs/Makefile

@@ -5,20 +5,18 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		cfgfs
 PKG_VERSION:=		1.0.8
-PKG_RELEASE:=		2
+PKG_RELEASE:=		4
 PKG_DESCR:=		compressed config filesystem
 PKG_SECTION:=		base
 PKG_URL:=		http://openadk.org/
 
-PKG_TARGET_DEPENDS:=	alix wrap foxboard ag241 foxg20 routerboard x86 x86_64
-
 PKG_CFLINE_CFGFS:=	select BUSYBOX_COMM@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_MD5SUM@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_XARGS@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_FEATURE_SORT_BIG@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_DIFF@
 PKG_CFLINE_CFGFS+=	depends on !ADK_TARGET_ROOTFS_NFSROOT && !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS
-PKG_DFLT_CFGFS:=	y
+PKG_DFLT_CFGFS:=	y if !ADK_TOOLCHAIN_ONLY
 
 WRKDIST=		${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
 NO_DISTFILES:=		1

+ 4 - 1
package/cfgfs/src/fwcf.sh

@@ -125,7 +125,10 @@ fi
 
 # find backend device, first try to find partition with ID 88
 rootdisk=$(readlink /dev/root)
-part=$(fdisk -l /dev/${rootdisk%1}|awk '$5 == 88 { print $1 }')
+# strip partitions (f.e. mmcblk0p2, sda2, ..)
+rootdisk=${rootdisk%p*}
+rootdisk=${rootdisk%[1-9]}
+part=$(fdisk -l /dev/$rootdisk 2>/dev/null|awk '$5 == 88 { print $1 }')
 if [ -z $part ]; then
 	# otherwise search for MTD device with name cfgfs
 	part=/dev/mtd$(fgrep '"cfgfs"' /proc/mtd 2>/dev/null | sed 's/^mtd\([^:]*\):.*$/\1/')ro

+ 0 - 2
package/cpufrequtils/Makefile

@@ -12,8 +12,6 @@ PKG_SECTION:=		utils
 PKG_URL:=		http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html
 PKG_SITES:=		http://www.kernel.org/pub/linux/utils/kernel/cpufreq/
 
-PKG_TARGET_DEPENDS:=	!ag241 !foxboard !foxg20
-
 include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,CPUFREQUTILS,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 5 - 5
package/cryptinit/Makefile

@@ -28,12 +28,12 @@ do-build:
 		${WRKBUILD}/cryptinit.c
 	( cd ${WRKBUILD}; \
 	${TARGET_CC} -static -o cryptinit cryptinit.o \
-		 ${STAGING_DIR}/usr/lib/libcryptsetup.a \
-		-L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib \
+		 ${STAGING_TARGET_DIR}/usr/lib/libcryptsetup.a \
+		-L${STAGING_TARGET_DIR}/lib -L${STAGING_TARGET_DIR}/usr/lib \
 		-ldevmapper -lpthread \
-		${STAGING_DIR}/usr/lib/libgcrypt.a \
-		${STAGING_DIR}/usr/lib/libgpg-error.a \
-		-luuid -Wl,--rpath -Wl,${STAGING_DIR}/usr/lib \
+		${STAGING_TARGET_DIR}/usr/lib/libgcrypt.a \
+		${STAGING_TARGET_DIR}/usr/lib/libgpg-error.a \
+		-luuid -Wl,--rpath -Wl,${STAGING_TARGET_DIR}/usr/lib \
 	);
 
 do-install:

+ 1 - 1
package/cryptsetup/Makefile

@@ -16,7 +16,7 @@ PKG_BUILDDEP:=		libgcrypt popt e2fsprogs lvm
 PKG_URL:=		http://cryptsetup.googlecode.com/
 PKG_SITES:=		http://cryptsetup.googlecode.com/files/
 
-PKG_TARGET_DEPENDS:=	!foxboard
+PKG_ARCH_DEPENDS:=	!cris
 
 DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.bz2
 

+ 1 - 1
package/curl/Makefile

@@ -52,7 +52,7 @@ CONFIGURE_ARGS+=	--disable-thread \
 			--disable-telnet \
 			--disable-verbose \
 			--with-random="/dev/urandom" \
-			--with-ssl="${STAGING_DIR}/usr" \
+			--with-ssl="${STAGING_TARGET_DIR}/usr" \
 			--without-ca-bundle \
 			--without-gnutls \
 			--without-libidn

+ 2 - 2
package/cxxtools/Makefile

@@ -20,7 +20,7 @@ $(eval $(call PKG_template,CXXTOOLS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${
 
 ifeq (${ADK_COMPILE_CXXTOOLS_WITH_UCLIBCXX},y)
 TCXXFLAGS+=		-fno-builtin -nostdinc++ \
-			-I${STAGING_DIR}/usr/include/uClibc++ -Wl,-E
+			-I${STAGING_TARGET_DIR}/usr/include/uClibc++ -Wl,-E
 TLDFLAGS+=		-luClibc++ -liconv -lm -nodefaultlibs -shared
 else
 TLDFLAGS+=		-liconv -shared
@@ -28,7 +28,7 @@ endif
 
 TCFLAGS+=		-fPIC
 TCXXFLAGS+=		-fPIC
-CONFIGURE_ARGS+=	--with-libiconv-prefix='${STAGING_DIR}/usr'
+CONFIGURE_ARGS+=	--with-libiconv-prefix='${STAGING_TARGET_DIR}/usr'
 
 post-install:
 	${INSTALL_DIR} ${IDIR_CXXTOOLS}/usr/lib

+ 1 - 1
package/cyrus-sasl/Makefile

@@ -47,7 +47,7 @@ CONFIGURE_ARGS+=	--disable-sample \
 			--without-authdaemond \
 			--without-pwcheck \
 			--with-ipctype=unix \
-			--with-openssl="${STAGING_DIR}/usr" \
+			--with-openssl="${STAGING_TARGET_DIR}/usr" \
 			--without-des \
 			--without-opie \
 			--without-ldap \

+ 1 - 1
package/dansguardian/Makefile

@@ -21,7 +21,7 @@ $(eval $(call PKG_template,DANSGUARDIAN,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE
 
 ifeq ($(ADK_COMPILE_DANSGUARDIAN_WITH_UCLIBCXX),y)
 CONFIGURE_ENV+=		CXXFLAGS="-fno-threadsafe-statics -fno-builtin -nostdinc++ \
-			-I${STAGING_DIR}/usr/include/uClibc++" \
+			-I${STAGING_TARGET_DIR}/usr/include/uClibc++" \
 			LIBS="-nodefaultlibs -luClibc++ -lgcc -lm"
 endif
 

+ 10 - 0
package/davfs2/patches/patch-src_cache_c

@@ -0,0 +1,10 @@
+--- davfs2-1.4.6.orig/src/cache.c	2009-11-15 11:15:17.000000000 +0100
++++ davfs2-1.4.6/src/cache.c	2010-12-27 22:02:47.000000000 +0100
+@@ -55,7 +55,6 @@
+ #ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+-#include <sys/xattr.h>
+ 
+ #include <ne_alloc.h>
+ #include <ne_string.h>

+ 10 - 0
package/davfs2/patches/patch-src_dav_fuse_c

@@ -0,0 +1,10 @@
+--- davfs2-1.4.6.orig/src/dav_fuse.c	2010-02-16 20:29:49.000000000 +0100
++++ davfs2-1.4.6/src/dav_fuse.c	2010-12-27 22:02:24.000000000 +0100
+@@ -33,6 +33,7 @@
+ #ifdef HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
++#include <stdlib.h>
+ #include <string.h>
+ #ifdef HAVE_SYSLOG_H
+ #include <syslog.h>

+ 2 - 2
package/dbus/Makefile

@@ -34,9 +34,9 @@ CONFIGURE_ARGS+=	--disable-tests \
 CONFIGURE_ENV+=		ac_cv_have_abstract_sockets=no
 
 pre-install:
-	${INSTALL_DIR} $(STAGING_DIR)/usr/include/dbus-1.0/dbus
+	${INSTALL_DIR} $(STAGING_TARGET_DIR)/usr/include/dbus-1.0/dbus
 	$(CP) $(WRKBUILD)/dbus/dbus-arch-deps.h \
-		$(STAGING_DIR)/usr/include/dbus-1.0/dbus/
+		$(STAGING_TARGET_DIR)/usr/include/dbus-1.0/dbus/
 
 post-install:
 	${INSTALL_DIR} ${IDIR_DBUS}/etc ${IDIR_DBUS}/usr/lib \

+ 1 - 1
package/dillo/Makefile

@@ -16,7 +16,7 @@ PKG_URL:=		http://www.dillo.org/
 PKG_SITES:=		http://www.dillo.org/download/
 
 PKG_HOST_DEPENDS:=	!cygwin
-PKG_TARGET_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
+PKG_ARCH_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
 
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.tar.bz2
 

+ 5 - 5
package/dsniff/Makefile

@@ -22,11 +22,11 @@ $(eval $(call PKG_template,DSNIFF,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PK
 
 CONFIGURE_ARGS+=	--without-db \
 			--without-x \
-			--with-gdbm="${STAGING_DIR}/usr" \
-			--with-libnids="${STAGING_DIR}/usr" \
-			--with-libpcap="${STAGING_DIR}/usr" \
-			--with-libnet="${STAGING_DIR}/usr" \
-			--with-openssl="${STAGING_DIR}/usr"
+			--with-gdbm="${STAGING_TARGET_DIR}/usr" \
+			--with-libnids="${STAGING_TARGET_DIR}/usr" \
+			--with-libpcap="${STAGING_TARGET_DIR}/usr" \
+			--with-libnet="${STAGING_TARGET_DIR}/usr" \
+			--with-openssl="${STAGING_TARGET_DIR}/usr"
 FAKE_FLAGS+=		install_prefix="${WRKINST}"
 
 post-install:

+ 5 - 5
package/e2fsprogs/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		e2fsprogs
-PKG_VERSION:=		1.41.12
+PKG_VERSION:=		1.41.14
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		1b24a21fc0c2381ef420961cbfec733f
+PKG_MD5SUM:=		05f70470aea2ef7efbb0845b2b116720
 PKG_DESCR:=		Ext2/3/4 filesystem utilities
 PKG_SECTION:=		fs
 PKG_DEPENDS:=		libcom-err libuuid libblkid libpthread
@@ -66,9 +66,9 @@ post-install:
 	${CP} ${WRKINST}/usr/lib/libuuid.so* \
 		${IDIR_LIBUUID}/usr/lib/
 	# install some headers/apps explicitely
-	${INSTALL_DIR} ${STAGING_DIR}/usr/include/uuid
+	${INSTALL_DIR} ${STAGING_TARGET_DIR}/usr/include/uuid
 	${CP} ${WRKBUILD}/lib/uuid/uuid.h \
-		${STAGING_DIR}/usr/include/uuid
-	${CP} ${WRKINST}/usr/bin/compile_et ${STAGING_TOOLS}/bin
+		${STAGING_TARGET_DIR}/usr/include/uuid
+	${CP} ${WRKINST}/usr/bin/compile_et ${STAGING_HOST_DIR}/bin
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 30 - 0
package/e2fsprogs/patches/patch-debugfs_dump_c

@@ -0,0 +1,30 @@
+--- e2fsprogs-1.41.14.orig/debugfs/dump.c	2009-08-13 03:39:57.000000000 +0200
++++ e2fsprogs-1.41.14/debugfs/dump.c	2010-12-25 22:30:02.000000000 +0100
+@@ -19,7 +19,6 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+-#include <utime.h>
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
+ #else
+@@ -67,7 +66,6 @@ static mode_t mode_xlate(__u16 lmode)
+ static void fix_perms(const char *cmd, const struct ext2_inode *inode,
+ 		      int fd, const char *name)
+ {
+-	struct utimbuf ut;
+ 	int i;
+ 
+ 	if (fd != -1)
+@@ -90,11 +88,6 @@ static void fix_perms(const char *cmd, c
+ 
+ 	if (fd != -1)
+ 		close(fd);
+-
+-	ut.actime = inode->i_atime;
+-	ut.modtime = inode->i_mtime;
+-	if (utime(name, &ut) == -1)
+-		com_err(cmd, errno, "while setting times of %s", name);
+ }
+ 
+ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd,

+ 10 - 0
package/e2fsprogs/patches/patch-debugfs_dump_c.orig

@@ -0,0 +1,10 @@
+--- e2fsprogs-1.41.14.orig/debugfs/dump.c	2009-08-13 03:39:57.000000000 +0200
++++ e2fsprogs-1.41.14/debugfs/dump.c	2010-12-25 22:27:59.000000000 +0100
+@@ -19,7 +19,6 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+-#include <utime.h>
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
+ #else

+ 10 - 0
package/e2fsprogs/patches/patch-debugfs_logdump_c

@@ -0,0 +1,10 @@
+--- e2fsprogs-1.41.14.orig/debugfs/logdump.c	2010-12-22 16:49:20.000000000 +0100
++++ e2fsprogs-1.41.14/debugfs/logdump.c	2010-12-25 22:31:30.000000000 +0100
+@@ -21,7 +21,6 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+-#include <utime.h>
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
+ #else

+ 10 - 0
package/e2fsprogs/patches/patch-debugfs_set_fields_c

@@ -0,0 +1,10 @@
+--- e2fsprogs-1.41.14.orig/debugfs/set_fields.c	2010-12-22 16:49:20.000000000 +0100
++++ e2fsprogs-1.41.14/debugfs/set_fields.c	2010-12-25 22:25:52.000000000 +0100
+@@ -33,7 +33,6 @@
+ #include <strings.h>
+ #endif
+ #include <fcntl.h>
+-#include <utime.h>
+ 
+ #include "debugfs.h"
+ #include "uuid/uuid.h"

+ 11 - 0
package/e2fsprogs/patches/patch-e2fsprogs_spec

@@ -0,0 +1,11 @@
+--- e2fsprogs-1.41.14.orig/e2fsprogs.spec	2010-12-13 14:57:34.000000000 +0100
++++ e2fsprogs-1.41.14/e2fsprogs.spec	2010-12-25 22:24:46.000000000 +0100
+@@ -5,7 +5,7 @@
+ 
+ Summary: Utilities for managing ext2/ext3/ext4 filesystems
+ Name: e2fsprogs
+-Version: 1.41.13
++Version: 1.41.14
+ Release: 0
+ License: GPLv2
+ Group: System Environment/Base

+ 10 - 0
package/e2fsprogs/patches/patch-misc_e2initrd_helper_c

@@ -0,0 +1,10 @@
+--- e2fsprogs-1.41.14.orig/misc/e2initrd_helper.c	2009-08-13 03:39:57.000000000 +0200
++++ e2fsprogs-1.41.14/misc/e2initrd_helper.c	2010-12-25 22:33:06.000000000 +0100
+@@ -23,7 +23,6 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+-#include <utime.h>
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
+ #else

+ 5 - 6
package/eglibc/Makefile

@@ -57,19 +57,18 @@ do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y}
 	test -z $(ADK_RUNTIME_TIMEZONE) || \
 	   $(CP) /usr/share/zoneinfo/$(ADK_RUNTIME_TIMEZONE) \
 		$(IDIR_EGLIBC)/etc/localtime
-	$(CP) $(STAGING_DIR)/lib/ld* $(IDIR_EGLIBC)/lib/
-	$(CP) $(STAGING_DIR)/lib/libgcc_s.so* $(IDIR_EGLIBC)/lib/
+	$(CP) $(STAGING_TARGET_DIR)/lib/ld* $(IDIR_EGLIBC)/lib/
 	-for file in libc libcrypt libdl libm libnsl libresolv librt libutil libnss_compat libnss_dns libnss_files; do \
-		$(CP) $(STAGING_DIR)/lib/$$file.so* $(IDIR_EGLIBC)/lib/; \
-		$(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/lib/; \
+		$(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_EGLIBC)/lib/; \
+		$(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/lib/; \
 	done
 
 eglibc-dev-install:
 	${INSTALL_DIR} $(IDIR_EGLIBC_DEV)/lib $(IDIR_EGLIBC_DEV)/usr/lib
 	# install linker script
 	-cp ./files/libc.so.$(ARCH) $(IDIR_EGLIBC_DEV)/usr/lib/libc.so
-	${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_EGLIBC_DEV}/usr/lib
-	${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_EGLIBC_DEV}/usr/lib
+	${CP} ${STAGING_TARGET_DIR}/usr/lib/crt* ${IDIR_EGLIBC_DEV}/usr/lib
+	${CP} ${STAGING_TARGET_DIR}/usr/lib/libc_nonshared.a ${IDIR_EGLIBC_DEV}/usr/lib
 	cd $(IDIR_EGLIBC_DEV)/lib && ln -sf libm.so.6 libm.so
 	cd $(IDIR_EGLIBC_DEV)/lib && ln -sf libutil.so.1 libutil.so
 	cd $(IDIR_EGLIBC_DEV)/lib && ln -sf librt.so.1 librt.so

+ 1 - 1
package/elinks/Makefile

@@ -29,7 +29,7 @@ CONFIGURE_ENV+=		$(shell echo ac_cv_file_./features.conf | tr [:blank:]-/. _)=ye
 CONFIGURE_ENV+=		$(shell echo ac_cv_file_${WRKBUILD}/features.conf | tr [:blank:]-/. _)=yes
 CONFIGURE_ARGS+=	--enable-small \
 			--enable-256-colors \
-			--with-openssl='${STAGING_DIR}/usr' \
+			--with-openssl='${STAGING_TARGET_DIR}/usr' \
 			--disable-backtrace \
 			--disable-data \
 			--disable-formhist \

+ 1 - 1
package/evilwm/Makefile

@@ -20,7 +20,7 @@ $(eval $(call PKG_template,EVILWM,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PK
 
 CONFIG_STYLE:=		manual
 
-MAKE_FLAGS+=		XROOT="$(STAGING_DIR)/usr"
+MAKE_FLAGS+=		XROOT="$(STAGING_TARGET_DIR)/usr"
 
 post-install:
 	$(INSTALL_DIR) $(IDIR_EVILWM)/usr/bin

+ 1 - 1
package/fetchmail/Makefile

@@ -26,7 +26,7 @@ $(eval $(call PKG_template,FETCHMAIL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},$
 CONFIGURE_ARGS+=	--without-hesiod
 
 ifeq (${ADK_PACKAGE_FETCHMAIL_SSL},y)
-CONFIGURE_ARGS+=	--with-ssl='${STAGING_DIR}/usr'
+CONFIGURE_ARGS+=	--with-ssl='${STAGING_TARGET_DIR}/usr'
 else
 CONFIGURE_ARGS+=	--without-ssl
 endif

+ 14 - 21
package/ffmpeg/Makefile

@@ -31,27 +31,20 @@ SUB_INSTALLS-y:=
 SUB_INSTALLS-m:=
 SUB_INSTALLS-${ADK_PACKAGE_FFPLAY}+=	ffplay-install
 
-ifeq ($(ADK_TARGET),alix)
-CONFIGURE_CPU_OPTS:=	--disable-ssse3 \
-			--disable-sse \
-			--enable-amd3dnow \
-			--enable-amd3dnowext \
-			--enable-mmx \
-			--enable-mmx2
-else ifeq ($(ADK_HARDWARE_IBM_X40),y)
-CONFIGURE_CPU_OPTS:=	--disable-ssse3 \
-			--enable-sse \
-			--disable-amd3dnow \
-			--disable-amd3dnowext \
-			--enable-mmx \
-			--enable-mmx2
+ifeq ($(ADK_TARGET_CPU_WITH_MMX),y)
+CONFIGURE_CPU_OPTS:=	--enable-mmx
 else
-CONFIGURE_CPU_OPTS:=	--disable-ssse3 \
-			--disable-sse \
-			--disable-amd3dnow \
-			--disable-amd3dnowext \
-			--disable-mmx \
-			--disable-mmx2
+CONFIGURE_CPU_OPTS:=    --disable-mmx 
+endif
+ifeq ($(ADK_TARGET_CPU_WITH_MMXEXT),y)
+CONFIGURE_CPU_OPTS:=	--enable-mmx2
+else
+CONFIGURE_CPU_OPTS:=    --disable-mmx2 
+endif
+ifeq ($(ADK_TARGET_CPU_WITH_SSE),y)
+CONFIGURE_CPU_OPTS:=	--enable-sse
+else
+CONFIGURE_CPU_OPTS:=    --disable-sse 
 endif
 
 # gcc 4.5 produces internal compiler error with -Os
@@ -63,7 +56,7 @@ CONFIGURE_ARGS:=	--prefix=/usr \
 			--target-os=linux \
 			--arch=${CPU_ARCH} \
 			--enable-cross-compile \
-			--sysroot=${STAGING_DIR} \
+			--sysroot=${STAGING_TARGET_DIR} \
 			--source-path=${WRKSRC} \
 			--cross-prefix=${TARGET_CROSS} \
 			--cc=$(TARGET_CC) \

+ 5 - 4
package/firefox/Makefile

@@ -17,7 +17,7 @@ PKG_BUILDDEP+=		nspr nss jpeg libXt fontconfig sqlite
 PKG_URL:=		http://www.mozilla.org/
 PKG_SITES:=		http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${PKG_VERSION}/source/
 
-PKG_TARGET_DEPENDS:=	alix x86 x86_64 mips mipsel mips64 mips64el
+PKG_ARCH_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
 PKG_HOST_DEPENDS:=	!netbsd !freebsd !openbsd !cygwin
 
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.source.tar.bz2
@@ -38,8 +38,9 @@ endif
 CONFIGURE_ENV+=		CROSS_COMPILE=1 HOST_CC="${HOSTCC}" HOST_CFLAGS="${HOSTCFLAGS}" \
 			HOST_CXX="${HOSTCXX}" HOST_CXXFLAGS="${HOSTCXXFLAGS}" \
 			HOST_LIBIDL_CONFIG="${HOST_LIBIDL_CONFIG}" \
+			PKG_HOSTLIB_DIR="${PKG_HOSTLIB_DIR}" \
 			HOST_RANLIB="ranlib" HOST_AR="ar" \
-			CPPFLAGS="-I${STAGING_DIR}/usr/include/freetype2" \
+			CPPFLAGS="-I${STAGING_TARGET_DIR}/usr/include/freetype2" \
 			ac_cv_sqlite_secure_delete=yes \
 			ac_cv_thread_keyword=no \
 			ac_cv_sizeof_int_p=4
@@ -51,8 +52,8 @@ CONFIGURE_ARGS+=	--enable-application=browser \
 			--with-system-nss \
 			--with-system-nspr \
 			--enable-system-sqlite \
-			--with-libIDL-prefix=${STAGING_DIR}/usr \
-			--with-glib-prefix=${STAGING_DIR}/usr \
+			--with-libIDL-prefix=${STAGING_TARGET_DIR}/usr \
+			--with-glib-prefix=${STAGING_TARGET_DIR}/usr \
 			--enable-libxul \
 			--disable-tests \
 			--disable-libconic \

+ 26 - 2
package/firefox/patches/patch-configure

@@ -1,5 +1,5 @@
---- mozilla-1.9.2.orig/configure	2010-10-27 05:09:28.000000000 +0200
-+++ mozilla-1.9.2/configure	2010-12-12 12:03:54.000000000 +0100
+--- mozilla-1.9.2.orig/configure	2010-12-03 16:57:11.000000000 +0100
++++ mozilla-1.9.2/configure	2010-12-29 21:52:34.000000000 +0100
 @@ -3970,7 +3970,7 @@ else
      echo "$ac_t""yes" 1>&6    
  fi
@@ -26,3 +26,27 @@
          
  else
    cat > conftest.$ac_ext <<EOF
+@@ -21460,18 +21459,11 @@ fi
+     fi
+ fi
+ 
+-if test -n "$CROSS_COMPILE"; then
+-     if test -z "$HOST_LIBIDL_CONFIG"; then
+-        HOST_LIBIDL_CONFIG="$LIBIDL_CONFIG"
+-    fi
+-    if test -n "$HOST_LIBIDL_CONFIG" && test "$HOST_LIBIDL_CONFIG" != "no"; then
+-        HOST_LIBIDL_CFLAGS=`${HOST_LIBIDL_CONFIG} --cflags`
+-        HOST_LIBIDL_LIBS=`${HOST_LIBIDL_CONFIG} --libs`
+-    else
+-        HOST_LIBIDL_CFLAGS="$LIBIDL_CFLAGS"
+-        HOST_LIBIDL_LIBS="$LIBIDL_LIBS"
+-    fi
+-fi
++HOST_LIBIDL_CFLAGS=`env PKG_CONFIG_LIBDIR=${PKG_HOSTLIB_DIR} ${HOST_LIBIDL_CONFIG} --cflags`
++HOST_LIBIDL_LIBS=`env PKG_CONFIG_LIBDIR=${PKG_HOSTLIB_DIR} ${HOST_LIBIDL_CONFIG} --libs`
++
++echo "host libidl cflags: ${HOST_LIBIDL_CFLAGS}"
++echo "host libidl libs: ${HOST_LIBIDL_LIBS}"
+ 
+ if test -z "$SKIP_PATH_CHECKS"; then
+ if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then

+ 1 - 1
package/fltk/Makefile

@@ -14,7 +14,7 @@ PKG_URL:=		http://www.fltk.org/
 PKG_SITES:=		http://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/fltk/snapshots/
 
 PKG_SUBPKGS:=		LIBFLTK
-PKG_TARGET_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
+PKG_ARCH_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
 
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.x-r7513.tar.bz2
 WRKDIST=		${WRKDIR}/${PKG_NAME}-2.0.x-r7513

+ 1 - 1
package/font-misc-misc/Makefile

@@ -19,7 +19,7 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,FONT_MISC_MISC,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-CONFIGURE_ENV+=		MAPFILES_PATH=${STAGING_DIR}/usr/share/fonts/X11/util
+CONFIGURE_ENV+=		MAPFILES_PATH=${STAGING_TARGET_DIR}/usr/share/fonts/X11/util
 
 post-install:
 	$(INSTALL_DIR) $(IDIR_FONT_MISC_MISC)/usr/share/fonts/X11/misc

+ 2 - 2
package/font-util/Makefile

@@ -22,9 +22,9 @@ $(eval $(call PKG_template,FONT_UTIL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},$
 # calling pkg-config (which we don't provide) in order to
 # automatically find the mappings.
 fonts-hack:
-	${INSTALL_DIR} ${STAGING_DIR}/usr/share/fonts/X11/util
+	${INSTALL_DIR} ${STAGING_TARGET_DIR}/usr/share/fonts/X11/util
 	${CP} ${WRKINST}/usr/share/fonts/X11/util/* \
-		${STAGING_DIR}/usr/share/fonts/X11/util
+		${STAGING_TARGET_DIR}/usr/share/fonts/X11/util
 
 post-install: fonts-hack
 	${INSTALL_DIR} ${IDIR_FONT_UTIL}/usr/share/fonts/X11/util

+ 2 - 2
package/fprobe/Makefile

@@ -20,8 +20,8 @@ include ${TOPDIR}/mk/package.mk
 $(eval $(call PKG_template,FPROBE,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 CONFIGURE_ARGS+=	--with-piddir=/var \
-			--with-pcap=${STAGING_DIR}/usr/include \
-			--with-libpcap=${STAGING_DIR}/usr/lib \
+			--with-pcap=${STAGING_TARGET_DIR}/usr/include \
+			--with-libpcap=${STAGING_TARGET_DIR}/usr/lib \
 			--with-membulk=index8 \
 			--with-hash=xor8 \
 

+ 1 - 1
package/freeglut/Makefile

@@ -14,7 +14,7 @@ PKG_URL:=		http://freeglut.sourceforge.net/
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=freeglut/}
 
 PKG_HOST_DEPENDS:=	!cygwin !darwin
-PKG_TARGET_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
+PKG_ARCH_DEPENDS:=	x86 x86_64 mips mipsel mips64 mips64el
 
 include $(TOPDIR)/mk/package.mk
 

+ 8 - 8
package/freeradius-server/Makefile

@@ -49,24 +49,24 @@ PKG_CONFIGURE_OPTS:=
 
 ifneq (${ADK_PACKAGE_FREERADIUS_MOD_LDAP},)
 PKG_CONFIGURE_LIBS+=	-lcrypto -lssl
-PKG_CONFIGURE_OPTS+=	--with-rlm_ldap-include-dir="${STAGING_DIR}/usr/include" \
-			--with-rlm_ldap-lib-dir="${STAGING_DIR}/usr/lib"
+PKG_CONFIGURE_OPTS+=	--with-rlm_ldap-include-dir="${STAGING_TARGET_DIR}/usr/include" \
+			--with-rlm_ldap-lib-dir="${STAGING_TARGET_DIR}/usr/lib"
 else
 PKG_CONFIGURE_OPTS+=	--without-rlm_ldap
 endif
 
 ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL},)
 PKG_CONFIGURE_LIBS+=	-lz
-PKG_CONFIGURE_OPTS+=	--with-mysql-include-dir="${STAGING_DIR}/usr/include" \
-			--with-mysql-lib-dir="${STAGING_DIR}/usr/lib/mysql" \
+PKG_CONFIGURE_OPTS+=	--with-mysql-include-dir="${STAGING_TARGET_DIR}/usr/include" \
+			--with-mysql-lib-dir="${STAGING_TARGET_DIR}/usr/lib/mysql" \
 			--without-threads \
 			--with-rlm_sql
 else
 PKG_CONFIGURE_OPTS+=	--without-rlm_sql_mysql
 endif
 ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_PGSQL},)
-PKG_CONFIGURE_OPTS+=	--with-rlm_sql_postgresql-include-dir="${STAGING_DIR}/usr/include" \
-			--with-rlm_sql_postgresql-lib-dir="${STAGING_DIR}/usr/lib" \
+PKG_CONFIGURE_OPTS+=	--with-rlm_sql_postgresql-include-dir="${STAGING_TARGET_DIR}/usr/include" \
+			--with-rlm_sql_postgresql-lib-dir="${STAGING_TARGET_DIR}/usr/lib" \
 			--with-rlm_sql
 else
 PKG_CONFIGURE_OPTS+=	--without-rlm_sql_postgresql
@@ -121,8 +121,8 @@ $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,))
 $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,))
 
 CONFIGURE_ARGS+=	${PKG_CONFIGURE_OPTS} \
-			--with-openssl-includes=${STAGING_DIR}/usr/include \
-			--with-openssl-libraries=${STAGING_DIR}/usr/lib \
+			--with-openssl-includes=${STAGING_TARGET_DIR}/usr/include \
+			--with-openssl-libraries=${STAGING_TARGET_DIR}/usr/lib \
 			--with-system-libltld \
 			--enable-strict-dependencies \
 			--with-raddbdir=/etc/freeradius \

+ 1 - 1
package/gatling/Makefile

@@ -25,7 +25,7 @@ INSTALL_STYLE:=		manual
 
 MAKE_FILE:=		GNUmakefile
 ALL_TARGET:=		gatling
-TCPPFLAGS+=		-I${STAGING_DIR}/usr/include/owfat
+TCPPFLAGS+=		-I${STAGING_TARGET_DIR}/usr/include/owfat
 XAKE_FLAGS+=		CC='${TARGET_CC}' \
 			CFLAGS='${TCPPFLAGS} ${TCFLAGS}' \
 			ZLIB=0 DIET= prefix='${WRKINST}/usr'

+ 0 - 2
package/gcc/Makefile

@@ -10,8 +10,6 @@ PKG_OPTS:=		noremove
 PKG_DEPENDS:=		libmpc libgmp mpfr
 PKG_BUILDDEP:=		libmpc gmp mpfr
 
-PKG_TARGET_DEPENDS:=	!ag241
-
 WRKBUILD=               ${WRKDIR}/${PKG_NAME}-obj
 
 include ${TOPDIR}/mk/package.mk

+ 1 - 1
package/gdb/Makefile

@@ -10,7 +10,7 @@ PKG_DEPENDS:=		libthread-db libncurses libiconv libexpat
 PKG_BUILDDEP:=		ncurses readline libiconv expat
 PKG_NOPARALLEL:=	1
 
-PKG_TARGET_DEPENDS:=	!foxboard !ag241
+PKG_ARCH_DEPENDS:=	!cris
 
 include ${TOPDIR}/mk/package.mk
 

+ 1 - 1
package/gdbserver/Makefile

@@ -9,7 +9,7 @@ PKG_SECTION:=		debug
 PKG_DEPENDS:=		libthread-db
 PKG_SUBPKGS:=		GDBSERVER
 
-PKG_TARGET_DEPENDS:=	!foxboard
+PKG_ARCH_DEPENDS:=	!cris
 
 WRKSRC=                 ${WRKDIST}/gdb/gdbserver
 

+ 27 - 0
package/gdk-pixbuf/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:=		gdk-pixbuf
+PKG_VERSION:=		2.23.0
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		a7d6c5f2fe2d481149ed3ba807b5c043
+PKG_DESCR:=		GDK pixbuf library
+PKG_SECTION:=		libs
+PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.23/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,GDK_PIXBUF,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ENV+=		gio_can_sniff=no
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_GDK_PIXBUF)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/
+	$(CP) $(WRKINST)/usr/lib/libgdk_pixbuf*so* \
+		$(IDIR_GDK_PIXBUF)/usr/lib
+	$(CP) $(WRKINST)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-*.so \
+		$(IDIR_GDK_PIXBUF)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 2 - 2
package/gettext/Makefile

@@ -31,7 +31,7 @@ CONFIGURE_ARGS+=	--disable-java \
 			--disable-libasprintf \
 			--enable-threads=posix \
 			--disable-openmp \
-			--with-libiconv-prefix='${STAGING_DIR}/usr' \
+			--with-libiconv-prefix='${STAGING_TARGET_DIR}/usr' \
 			--with-included-gettext \
 			--without-emacs
 CONFIGURE_ENV+=		nls_cv_use_gnu_gettext=yes \
@@ -42,6 +42,6 @@ post-install:
 	${INSTALL_DIR} ${IDIR_GETTEXT}/usr/lib ${IDIR_GETTEXT}/usr/bin
 	${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_GETTEXT}/usr/lib
 	$(INSTALL_BIN) $(WRKINST)/usr/bin/gettext \
-			$(IDIR_GETTEXT)/usr/bin
+		$(IDIR_GETTEXT)/usr/bin
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 1
package/git/Makefile

@@ -19,7 +19,7 @@ include $(TOPDIR)/mk/package.mk
 $(eval $(call PKG_template,GIT,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 MAKE_ENV+=		NO_PERL=1 NO_NSEC=1 NO_TCLTK=1 NO_PYTHON=1 \
-			CURLDIR=${STAGING_DIR} EXPATDIR=${STAGING_DIR}
+			CURLDIR=${STAGING_TARGET_DIR} EXPATDIR=${STAGING_TARGET_DIR}
 XAKE_FLAGS+=		uname_S=Linux uname_O=GNU/Linux
 CONFIGURE_ENV+=		ac_cv_c_c99_format=yes \
 			ac_cv_fread_reads_directories=no \

+ 3 - 3
package/glib/Makefile

@@ -4,15 +4,15 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		glib
-PKG_VERSION:=		2.22.3
+PKG_VERSION:=		2.27.5
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		e699a93d62c01e0ee07caef3e11eddd8
+PKG_MD5SUM:=		ad9c80adb624a1ffe3d9753bab8a578a
 PKG_DESCR:=		low-level core library that forms the basis of GTK+
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		gettext libiconv libpthread
 PKG_BUILDDEP:=		gettext libiconv
 PKG_URL:=		http://www.gtk.org/
-PKG_SITES:=		ftp://ftp.gtk.org/pub/glib/2.22/
+PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/glib/2.27/
 
 ifeq ($(ADK_STATIC),y)
 PKG_OPTS:=		libonly

+ 0 - 20
package/glib/patches/patch-gio_Makefile_in

@@ -1,20 +0,0 @@
---- glib-2.22.2.orig/gio/Makefile.in	2009-10-07 15:56:29.000000000 +0200
-+++ glib-2.22.2/gio/Makefile.in	2009-10-11 11:04:35.126154998 +0200
-@@ -242,7 +242,7 @@ ETAGS = etags
- CTAGS = ctags
- am__tty_colors = \
- red=; grn=; lgn=; blu=; std=
--DIST_SUBDIRS = libasyncns xdgmime inotify fen win32 . fam tests
-+DIST_SUBDIRS = libasyncns xdgmime inotify fen win32 . fam
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- am__relativize = \
-   dir0=`pwd`; \
-@@ -489,7 +489,7 @@ EXTRA_DIST = gio-marshal.list gio.symbol
- TEST_PROGS = 
- NULL = 
- SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_6) \
--	$(am__append_9) . $(am__append_12) tests
-+	$(am__append_9) . $(am__append_12)
- @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@noinst_DATA = gio-2.0.lib
- @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
- @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib

+ 6 - 7
package/glibc/Makefile

@@ -30,19 +30,18 @@ do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y}
 	test -z $(ADK_RUNTIME_TIMEZONE) || \
 	   $(CP) /usr/share/zoneinfo/$(ADK_RUNTIME_TIMEZONE) \
 		$(IDIR_GLIBC)/etc/localtime
-	$(CP) $(STAGING_DIR)/lib/libgcc_s.so* $(IDIR_GLIBC)/lib/
-	$(CP) $(STAGING_DIR)/lib/ld*.so* $(IDIR_GLIBC)/lib/
+	$(CP) $(STAGING_TARGET_DIR)/lib/ld*.so* $(IDIR_GLIBC)/lib/
 	-for file in libc libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \
-		$(CP) $(STAGING_DIR)/lib/$$file.so* $(IDIR_GLIBC)/lib/; \
-		$(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_GLIBC)/lib/; \
+		$(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/lib/; \
+		$(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_GLIBC)/lib/; \
 	done
 
 glibc-dev-install:
 	${INSTALL_DIR} $(IDIR_GLIBC_DEV)/lib $(IDIR_GLIBC_DEV)/usr/lib
 	# install linker script
 	-cp ./files/libc.so.$(ARCH) $(IDIR_GLIBC_DEV)/usr/lib/libc.so
-	${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GLIBC_DEV}/usr/lib
-	${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_GLIBC_DEV}/usr/lib
+	${CP} ${STAGING_TARGET_DIR}/usr/lib/crt* ${IDIR_GLIBC_DEV}/usr/lib
+	${CP} ${STAGING_TARGET_DIR}/usr/lib/libc_nonshared.a ${IDIR_GLIBC_DEV}/usr/lib
 	-for file in libc libcrypt libdl libm libresolv librt libutil; do \
 		cd $(IDIR_GLIBC_DEV)/lib/; ln -sf $$file-$(PKG_VERSION).so $$file.so; \
 	done
@@ -62,7 +61,7 @@ glibc-dev-install:
 	touch $(IDIR_GLIBC_DEV)/usr/include/gnu/stubs.h
 	touch $(IDIR_GLIBC_DEV)/usr/include/bits/stdio_lim.h
 	# WORKAROUND: bits/syscall.h is only installed via install-others target
-	$(CP) $(STAGING_DIR)/usr/include/bits/syscall.h \
+	$(CP) $(STAGING_TARGET_DIR)/usr/include/bits/syscall.h \
 		$(IDIR_GLIBC_DEV)/usr/include/bits
 	@find $(IDIR_GLIBC_DEV) -name .install -exec rm {} \;
 

+ 2 - 2
package/gmediaserver/Makefile

@@ -20,8 +20,8 @@ $(eval $(call PKG_template,GMEDIASERVER,gmediaserver,${PKG_VERSION}-${PKG_RELEAS
 
 CONFIGURE_ENV+=		LIBS=" -lixml -lthreadutil -lupnp -lz" \
 			am_cv_func_iconv=no
-CONFIGURE_ARGS+=	--with-id3lib="${STAGING_DIR}/usr" \
-			--with-libupnp="${STAGING_DIR}/usr"
+CONFIGURE_ARGS+=	--with-id3lib="${STAGING_TARGET_DIR}/usr" \
+			--with-libupnp="${STAGING_TARGET_DIR}/usr"
 
 ifeq ($(ADK_TARGET_LIB_UCLIBCXX),y)
 CONFIGURE_ENV+=		LIBS=" -lixml -lthreadutil -lupnp -luClibc++ -lz"

+ 1 - 1
package/gnutls/Makefile

@@ -32,7 +32,7 @@ $(eval $(call PKG_template,LIBGNUTLS_OPENSSL,libgnutls-openssl,${PKG_VERSION}-${
 
 CONFIGURE_ARGS+=	--without-libopencdk-prefix \
 			--disable-camellia \
-			--with-libgcrypt-prefix=${STAGING_DIR}/usr \
+			--with-libgcrypt-prefix=${STAGING_TARGET_DIR}/usr \
 			--without-libz-prefix
 
 post-install:

+ 1 - 1
package/gpsd/Makefile

@@ -33,7 +33,7 @@ TCFLAGS+=		-fPIC
 
 ifeq ($(ADK_COMPILE_GPSD_WITH_UCLIBCXX),y)
 TCXXFLAGS+=		-fno-builtin -fno-rtti -nostdinc++ \
-			-I${STAGING_DIR}/usr/include/uClibc++
+			-I${STAGING_TARGET_DIR}/usr/include/uClibc++
 TLDFLAGS+=		-luClibc++ -lc -lm -pthread -nodefaultlibs
 else
 TLDFLAGS+=		-shared -pthread

+ 3 - 2
package/grub-bin/Makefile

@@ -14,10 +14,11 @@ PKG_SECTION:=		base
 PKG_SITES:=		http://openadk.org/distfiles/
 PKG_URL:=		http://www.gnu.org/software/grub
 
-PKG_TARGET_DEPENDS:=	x86 x86_64
+PKG_ARCH_DEPENDS:=	x86 x86_64
+
 PKG_CFLINE_GRUB_BIN:=	select BUSYBOX_FEATURE_STAT_FORMAT@
 PKG_CFLINE_GRUB_BIN+=	depends on !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS
-PKG_DFLT_GRUB_BIN:=	y
+PKG_DFLT_GRUB_BIN:=	y if !ADK_TOOLCHAIN_ONLY
 
 include ${TOPDIR}/mk/package.mk
 

+ 1 - 1
package/grub/Makefile

@@ -13,7 +13,7 @@ PKG_URL:=		http://www.gnu.org/software/grub
 PKG_SITES:=		ftp://alpha.gnu.org/gnu/grub/
 
 PKG_HOST_DEPENDS:=	linux
-PKG_TARGET_DEPENDS:=	x86 x86_64
+PKG_ARCH_DEPENDS:=	x86 x86_64
 
 include $(TOPDIR)/mk/package.mk
 

+ 4 - 5
package/gtk+/Makefile

@@ -4,15 +4,16 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		gtk+
-PKG_VERSION:=		2.18.6
+PKG_VERSION:=		2.22.1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		f98617af9f6be3065f64248f78dae2b7
+PKG_MD5SUM:=		dd1830395a6b9265a1e1989af7a3c5bf
 PKG_DESCR:=		GTK+ library
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		glib
 PKG_BUILDDEP:=		cairo atk pango libXext renderproto libXrender
+PKG_BUILDDEP+=		gdk-pixbuf libXcomposite
 PKG_URL:=		http://www.gtk.org/
-PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/gtk+/2.18/
+PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/gtk+/2.22/
 
 PKG_SUBPKGS:=		LIBGTK
 
@@ -26,8 +27,6 @@ $(eval $(call PKG_template,LIBGTK,libgtk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEP
 
 CONFIGURE_ENV+=		gio_can_sniff=no \
 			ac_cv_path_GTK_UPDATE_ICON_CACHE=""
-CONFIGURE_ARGS+=	--without-libtiff \
-			--without-libjpeg
 
 post-install:
 	${INSTALL_DIR} ${IDIR_LIBGTK}/usr/lib

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

@@ -1,11 +0,0 @@
---- gtk+-2.18.3.orig/Makefile.in	2009-10-17 03:53:04.000000000 +0200
-+++ gtk+-2.18.3/Makefile.in	2009-12-04 22:04:14.000000000 +0100
-@@ -464,7 +464,7 @@ XVFB_START = \
- 	|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
- 	&& DISPLAY=:$$XID && export DISPLAY
- 
--SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
-+SRC_SUBDIRS = gdk-pixbuf gdk gtk modules contrib
- SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
- 
- # require automake 1.4

+ 0 - 70
package/gtk+/patches/patch-gtk_gtktypefuncs_c

@@ -1,70 +0,0 @@
---- gtk+-2.18.3.orig/gtk/gtktypefuncs.c	2009-10-17 03:58:56.000000000 +0200
-+++ gtk+-2.18.3/gtk/gtktypefuncs.c	2009-12-04 21:57:40.000000000 +0100
-@@ -53,8 +53,8 @@
- *tp++ = gdk_pixbuf_simple_anim_get_type();
- *tp++ = gdk_pixbuf_simple_anim_iter_get_type();
- *tp++ = gdk_pixmap_get_type();
--*tp++ = gdk_property_state_get_type();
- *tp++ = gdk_prop_mode_get_type();
-+*tp++ = gdk_property_state_get_type();
- *tp++ = gdk_rectangle_get_type();
- *tp++ = gdk_rgb_dither_get_type();
- *tp++ = gdk_screen_get_type();
-@@ -191,14 +191,14 @@
- *tp++ = gtk_icon_view_drop_position_get_type();
- *tp++ = gtk_icon_view_get_type();
- *tp++ = gtk_identifier_get_type();
--*tp++ = gtk_image_get_type();
--*tp++ = gtk_image_menu_item_get_type();
--*tp++ = gtk_image_type_get_type();
- *tp++ = gtk_im_context_get_type();
- *tp++ = gtk_im_context_simple_get_type();
- *tp++ = gtk_im_multicontext_get_type();
- *tp++ = gtk_im_preedit_style_get_type();
- *tp++ = gtk_im_status_style_get_type();
-+*tp++ = gtk_image_get_type();
-+*tp++ = gtk_image_menu_item_get_type();
-+*tp++ = gtk_image_type_get_type();
- *tp++ = gtk_info_bar_get_type();
- *tp++ = gtk_input_dialog_get_type();
- *tp++ = gtk_invisible_get_type();
-@@ -283,10 +283,10 @@
- *tp++ = gtk_ruler_get_type();
- *tp++ = gtk_scale_button_get_type();
- *tp++ = gtk_scale_get_type();
--*tp++ = gtk_scrollbar_get_type();
--*tp++ = gtk_scrolled_window_get_type();
- *tp++ = gtk_scroll_step_get_type();
- *tp++ = gtk_scroll_type_get_type();
-+*tp++ = gtk_scrollbar_get_type();
-+*tp++ = gtk_scrolled_window_get_type();
- *tp++ = gtk_selection_data_get_type();
- *tp++ = gtk_selection_mode_get_type();
- *tp++ = gtk_sensitivity_type_get_type();
-@@ -305,8 +305,8 @@
- *tp++ = gtk_spin_button_update_policy_get_type();
- *tp++ = gtk_spin_type_get_type();
- *tp++ = gtk_state_type_get_type();
--*tp++ = gtk_statusbar_get_type();
- *tp++ = gtk_status_icon_get_type();
-+*tp++ = gtk_statusbar_get_type();
- *tp++ = gtk_style_get_type();
- *tp++ = gtk_submenu_direction_get_type();
- *tp++ = gtk_submenu_placement_get_type();
-@@ -330,13 +330,13 @@
- *tp++ = gtk_toggle_action_get_type();
- *tp++ = gtk_toggle_button_get_type();
- *tp++ = gtk_toggle_tool_button_get_type();
-+*tp++ = gtk_tool_button_get_type();
-+*tp++ = gtk_tool_item_get_type();
-+*tp++ = gtk_tool_shell_get_type();
- *tp++ = gtk_toolbar_child_type_get_type();
- *tp++ = gtk_toolbar_get_type();
- *tp++ = gtk_toolbar_space_style_get_type();
- *tp++ = gtk_toolbar_style_get_type();
--*tp++ = gtk_tool_button_get_type();
--*tp++ = gtk_tool_item_get_type();
--*tp++ = gtk_tool_shell_get_type();
- *tp++ = gtk_tooltip_get_type();
- *tp++ = gtk_tree_drag_dest_get_type();
- *tp++ = gtk_tree_drag_source_get_type();

+ 7 - 7
package/heimdal/Makefile

@@ -56,8 +56,8 @@ endif
 
 ifeq ($(ADK_COMPILE_HEIMDAL_WITH_LDAP),y)
 CONFIGURE_ARGS+=	--with-openldap=yes
-CONFIGURE_ARGS+=	--with-openldap-include=${STAGING_DIR}/usr
-CONFIGURE_ARGS+=	--with-openldap-lib=${STAGING_DIR}/usr
+CONFIGURE_ARGS+=	--with-openldap-include=${STAGING_TARGET_DIR}/usr
+CONFIGURE_ARGS+=	--with-openldap-lib=${STAGING_TARGET_DIR}/usr
 else
 CONFIGURE_ARGS+=        --without-openldap
 endif
@@ -68,9 +68,9 @@ else
 CONFIGURE_OPTS+=	--disable-pk-init
 endif
 
-TCFLAGS+=		-I${STAGING_DIR}/usr/include/et -pthread
+TCFLAGS+=		-I${STAGING_TARGET_DIR}/usr/include/et -pthread
 
-CONFIGURE_ARGS+=	${CONFIGURE_OPTS} --with-cross-tools=${STAGING_TOOLS}/bin
+CONFIGURE_ARGS+=	${CONFIGURE_OPTS} --with-cross-tools=${STAGING_HOST_DIR}/bin
 CONFIGURE_ENV+=		cross_compiling=yes \
 			ac_cv_func_getaddrinfo_numserv=yes
 
@@ -80,7 +80,7 @@ endif
 
 pre-configure:
 	(cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
-		./configure --prefix=$(STAGING_TOOLS) \
+		./configure --prefix=$(STAGING_HOST_DIR) \
 			--disable-pk-init \
 			--without-openldap \
 			--disable-otp \
@@ -92,9 +92,9 @@ pre-configure:
 	${MAKE} -C ${WRKBUILD}/lib/asn1 asn1_compile$(EXEEXT)
 	${MAKE} -C ${WRKBUILD}/lib/sl slc$(EXEEXT)
 	${INSTALL_BIN} ${WRKBUILD}/lib/roken/make-roken$(EXEEXT) \
-		${STAGING_TOOLS}/bin
+		${STAGING_HOST_DIR}/bin
 	${INSTALL_BIN} ${WRKBUILD}/lib/sl/slc$(EXEEXT) \
-		${STAGING_TOOLS}/bin
+		${STAGING_HOST_DIR}/bin
 	${MAKE} -C ${WRKBUILD}/lib/roken install
 	${MAKE} -C ${WRKBUILD}/lib/asn1 install
 	${MAKE} -C ${WRKBUILD}/lib/asn1 clean

+ 5 - 5
package/icecast/Makefile

@@ -18,15 +18,15 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,ICECAST,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-TCPPFLAGS+=		-I${STAGING_DIR}/usr/include/libxml2
+TCPPFLAGS+=		-I${STAGING_TARGET_DIR}/usr/include/libxml2
 CONFIGURE_ARGS+=	--disable-yp \
 			--with-curl="yes" \
-			--with-curl-config="${STAGING_DIR}/usr/bin/curl-config" \
-			--with-ogg="${STAGING_DIR}/usr" \
-			--with-vorbis="${STAGING_DIR}/usr" \
+			--with-curl-config="${STAGING_TARGET_DIR}/usr/bin/curl-config" \
+			--with-ogg="${STAGING_TARGET_DIR}/usr" \
+			--with-vorbis="${STAGING_TARGET_DIR}/usr" \
 			--with-speex="no" \
 			--with-theora="no" \
-			--with-xslt-config="${STAGING_DIR}/usr/bin/xslt-config"
+			--with-xslt-config="${STAGING_TARGET_DIR}/usr/bin/xslt-config"
 
 post-install:
 	${INSTALL_DIR} ${IDIR_ICECAST}/etc

Some files were not shown because too many files changed in this diff