Browse Source

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

Waldemar Brodkorb 15 years ago
parent
commit
c008b87414
56 changed files with 510 additions and 184 deletions
  1. 3 0
      BUGS
  2. 1 3
      README
  3. 4 0
      TODO
  4. 9 4
      mk/build.mk
  5. 1 1
      mk/buildhlp.mk
  6. 8 8
      mk/kernel-build.mk
  7. 5 4
      mk/kernel.mk
  8. 37 24
      mk/package.mk
  9. 2 0
      mk/pkg-bottom.mk
  10. 15 8
      mk/vars.mk
  11. 1 0
      package/Config.in
  12. 3 3
      package/Depends.mk
  13. 4 1
      package/Makefile
  14. 0 0
      package/base-files/extra/etc/network/if-down.d/.empty
  15. 0 0
      package/base-files/extra/etc/network/if-post-down.d/.empty
  16. 0 0
      package/base-files/extra/etc/network/if-pre-up.d/.empty
  17. 0 0
      package/base-files/extra/etc/network/if-up.d/.empty
  18. 3 0
      package/bluez/Config.in
  19. 10 2
      package/bluez/Makefile
  20. 2 2
      package/busybox/config/coreutils/Config.in
  21. 1 0
      package/bzip2/Makefile
  22. 11 3
      package/curl/Config.in
  23. 5 2
      package/curl/Makefile
  24. 6 11
      package/curl/patches/patch-configure
  25. 9 4
      package/dbus/Makefile
  26. 1 1
      package/dropbear/files/dropbear.postinst
  27. 9 4
      package/eglibc/Makefile
  28. 5 0
      package/eglibc/files/libc.so.x86_64
  29. 8 5
      package/expat/Makefile
  30. 1 0
      package/gcc/Makefile
  31. 8 5
      package/gettext/Makefile
  32. 3 2
      package/git/Makefile
  33. 19 8
      package/git/patches/patch-Makefile
  34. 11 8
      package/glib/Makefile
  35. 20 0
      package/glib/patches/patch-gio_Makefile_in
  36. 0 1
      package/libiconv/Config.in
  37. 9 9
      package/libiconv/Makefile
  38. 16 0
      package/libiconv/patches/patch-preload_Makefile_in
  39. 5 1
      package/libpthread/Makefile
  40. 8 5
      package/libusb/Makefile
  41. 2 2
      package/microperl/files/uconfig.h.x86_64
  42. 1 1
      package/ncurses/Makefile
  43. 4 0
      package/openssl/Makefile
  44. 8 0
      package/perl/Config.in
  45. 34 0
      package/perl/Makefile
  46. 8 5
      package/python/Makefile
  47. 12 3
      package/python/patches/patch-Makefile_pre_in
  48. 83 0
      package/python/patches/patch-setup_py
  49. 28 8
      scripts/scan-pkgs.sh
  50. 0 32
      scripts/scan-tools.sh
  51. 19 0
      scripts/tarpkg
  52. 15 2
      target/Config.in
  53. 1 0
      target/native/Makefile
  54. 1 1
      target/native/device.mk
  55. 1 1
      toolchain/gcc/patches/no-lib64.patch
  56. 30 0
      toolchain/uClibc/patches/getline.patch

+ 3 - 0
BUGS

@@ -0,0 +1,3 @@
+- openssh on amd64 does not work, ssh-keygen endless loop
+- uclibc on lemote mips64 target does not work (only uclibc-trunk with patches)
+- qemu-mips64* targets does not boot, kernel problem?

+ 1 - 3
README

@@ -16,9 +16,6 @@ Before you can start you need to install some tools:
 - bzip2
 - cpio 
 - wget
-- flex
-- bison
-- gperf
 - file
 - unzip
 - autoconf
@@ -26,6 +23,7 @@ Before you can start you need to install some tools:
 - zlib-dev / libz-dev
 - libncurses5-dev
 - libc-dev
+- perl
 
 There is a check for the required versions of these tools in advance, though
 (to re-issue the checks, use "make prereq").

+ 4 - 0
TODO

@@ -1,3 +1,7 @@
+- cleanup dots in menu (script is in test phase)
+- rpm package backend
+- ALSA updates
+- port htop software
 - stripping of kernel is not working for all targets
 - implement a non-interactive allmodconfig for different targets
   (make TARGET=foo defconfig allmodconfig) 

+ 9 - 4
mk/build.mk

@@ -16,7 +16,9 @@ noconfig_targets:=	menuconfig \
 			_mconfig \
 			tags
 
-MAKECLEAN_SYMBOLS=	ADK_TARGET_LIB_UCLIBC ADK_TARGET_LIB_GLIBC ADK_SSP \
+MAKECLEAN_SYMBOLS=	ADK_TARGET_LIB_UCLIBC \
+			ADK_TARGET_LIB_GLIBC \
+			ADK_TARGET_LIB_ECLIBC \
 			ADK_IPV6 ADK_CXX ADK_DEBUG
 POSTCONFIG=		-@\
 	if [ -f .config.old ];then \
@@ -66,8 +68,10 @@ endif
 endif
 
 package_index:
+ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
 	-cd ${PACKAGE_DIR} && \
 	    ${BASH} ${TOPDIR}/scripts/ipkg-make-index.sh . >Packages
+endif
 
 $(DISTDIR):
 	mkdir -p $(DISTDIR)
@@ -120,6 +124,7 @@ switch:
 root_clean:
 	@$(TRACE) root_clean
 	rm -rf $(TARGET_DIR)
+	mkdir -p $(TARGET_DIR)
 
 # Do a per-package clean here, too. This way stale headers and
 # libraries from cross_*/target/ get wiped away, which keeps
@@ -130,11 +135,11 @@ clean:
 	@$(TRACE) clean
 	$(MAKE) -C $(CONFIG) clean
 	for d in ${STAGING_PARENT_PFX}; do \
-		echo "clean: entering $$d" ; \
+		#echo "clean: entering $$d" ; \
 		for f in $$(ls $$d/pkg/[a-z]* 2>/dev/null); do  \
-			echo "clean: cleaning for $$f" ; \
+			#echo "clean: cleaning for $$f" ; \
 			while read file ; do \
-				rm $$d/target/$$file ; \
+				rm $$d/target/$$file 2>/dev/null; \
 			done < $$f ; \
 			rm $$f ; \
 		done \

+ 1 - 1
mk/buildhlp.mk

@@ -88,7 +88,7 @@ endif
 	    ${BASH} ${TOPDIR}/scripts/update-patches); \
 	    if [[ -n $$toedit && $$toedit != FAIL ]]; then \
 		echo -n 'edit patches: '; read i; \
-		cd patches && $${VISUAL:-$${EDITOR:-/usr/bin/vi}} $$toedit; \
+		cd patches && $${VISUAL:-$${EDITOR:-vi}} $$toedit; \
 	    fi; \
 	    rm -rf ${WRKDIR}.orig; \
 	    [[ $$toedit != FAIL ]]

+ 8 - 8
mk/kernel-build.mk

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 include $(TOPDIR)/mk/linux.mk
 include ${TOPDIR}/mk/buildhlp.mk
 
-KERNEL_IDIR:=$(LINUX_BUILD_DIR)/kernel-ipkg
+KERNEL_PKGDIR:=$(LINUX_BUILD_DIR)/kernel-pkg
 
 KERNEL_MAKE_OPTS:=	-C "${LINUX_DIR}" V=1
 ifneq ($(ADK_NATIVE),y)
@@ -41,23 +41,23 @@ $(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
 		INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \
 		modules_install $(MAKE_TRACE)
 	$(TRACE) target/$(DEVICE)-create-packages
-	$(MAKE) $(KERNEL_IPKG) $(TARGETS) 
+	$(MAKE) $(KERNEL_PKG) $(TARGETS) 
 	touch -c $(LINUX_DIR)/vmlinux
 
-$(KERNEL_IPKG):
+$(KERNEL_PKG):
 	$(TRACE) target/$(DEVICE)-create-kernel-package
-	rm -rf $(KERNEL_IDIR)
-	@mkdir -p $(KERNEL_IDIR)/etc
-	${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh ${KERNEL_IDIR} \
+	rm -rf $(KERNEL_PKGDIR)
+	@mkdir -p $(KERNEL_PKGDIR)/etc
+	${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh ${KERNEL_PKGDIR} \
 	    ../linux/kernel.control ${DEVICE}-${KERNEL_VERSION} ${CPU_ARCH}
-	$(IPKG_BUILD) $(KERNEL_IDIR) $(PACKAGE_DIR) $(MAKE_TRACE)
+	$(PKG_BUILD) $(KERNEL_PKGDIR) $(PACKAGE_DIR) $(MAKE_TRACE)
 
 prepare:
 compile: $(LINUX_DIR)/vmlinux
 install: compile
 ifneq ($(strip $(INSTALL_TARGETS)),)
 	$(TRACE) target/${DEVICE}-modules-install
-	$(IPKG) install $(INSTALL_TARGETS) $(MAKE_TRACE)
+	$(PKG_INSTALL) $(INSTALL_TARGETS) $(MAKE_TRACE)
 endif
 
 clean:

+ 5 - 4
mk/kernel.mk

@@ -9,8 +9,8 @@ KMOD_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules
 MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR)
 TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
 
-KERNEL_IPKG:=$(PACKAGE_DIR)/kernel_$(DEVICE)-$(KERNEL_VERSION)_$(CPU_ARCH).ipk
-INSTALL_TARGETS:= $(KERNEL_IPKG)
+KERNEL_PKG:=$(PACKAGE_DIR)/kernel_$(DEVICE)-$(KERNEL_VERSION)_$(CPU_ARCH).$(PKG_SUFFIX)
+INSTALL_TARGETS:= $(KERNEL_PKG)
 NOINSTALL_TARGETS:=
 TARGETS:=
 
@@ -32,7 +32,7 @@ define KMOD_template
 
 IDEPENDK_$(1):=kernel ($(DEVICE)-$(KERNEL_VERSION)) $(foreach pkg,$(5),", $(pkg)")
 
-PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(DEVICE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE)_$(CPU_ARCH).ipk
+PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(DEVICE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE)_$(CPU_ARCH).$(PKG_SUFFIX)
 I_$(1) := $(KMOD_BUILD_DIR)/ipkg/$(2)
 
 ifeq ($$(ADK_KPACKAGE_KMOD_$(1)),m)
@@ -45,6 +45,7 @@ endif
 
 $$(PKG_$(1)):
 	rm -rf $$(I_$(1))
+	@mkdir -p $$(I_$(1))
 	echo "Package: kmod-$(2)" > $(LINUX_BUILD_DIR)/kmod-control/kmod-$(2).control
 	echo "Priority: optional" >> $(LINUX_BUILD_DIR)/kmod-control/kmod-$(2).control
 	echo "Section: sys" >> $(LINUX_BUILD_DIR)/kmod-control/kmod-$(2).control
@@ -69,7 +70,7 @@ ifneq ($(4),)
 	chmod 0755 $$(I_$(1))/CONTROL/postinst
 endif
 endif
-	$(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR) $(MAKE_TRACE)
+	$(PKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR) $(MAKE_TRACE)
 endef
 
 include $(BUILD_DIR)/.kernelconfig

+ 37 - 24
mk/package.mk

@@ -1,23 +1,33 @@
 # This file is part of the OpenADK project. OpenADK is copyrighted
 # material, please see the LICENCE file in the top-level directory.
 
-all: build-all-ipkgs
+all: build-all-pkgs
 
+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
 ifeq ($(ADK_STATIC),y)
 TCFLAGS:=		${TARGET_CFLAGS} -static
 TCXXFLAGS:=		${TARGET_CFLAGS} -static
 TCPPFLAGS:=		${TARGET_CPPFLAGS} -static
-else
-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 \
+			-static
 endif
+ifeq ($(ADK_NATIVE),y)
+TCFLAGS:=
+TCXXFLAGS:=
+TCPPFLAGS:=
+TLDFLAGS:=
+endif
+
 ifeq ($(ADK_DEBUG),)
 TCPPFLAGS+=		-DNDEBUG
 endif
-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
 ifneq ($(ADK_DEBUG),)
 CONFIGURE_ARGS+=	--enable-debug
 else
@@ -30,7 +40,11 @@ CONFIGURE_ARGS+=	--disable-ipv6
 endif
 
 ifeq ($(ADK_NATIVE),y)
-			CONFIG_SHELL='$(strip ${SHELL})'
+CONFIGURE_ENV+=		CONFIG_SHELL='$(strip ${SHELL})' \
+			CFLAGS='$(strip ${TCFLAGS})' \
+			CXXFLAGS='$(strip ${TCXXFLAGS})' \
+			CPPFLAGS='$(strip ${TCPPFLAGS})' \
+			LDFLAGS='$(strip ${TLDFLAGS})'
 else
 CONFIGURE_ENV+=		${TARGET_CONFIGURE_OPTS} \
 			${HOST_CONFIGURE_OPTS} \
@@ -59,7 +73,11 @@ INSTALL_TARGET?=	install
 ifeq ($(ADK_NATIVE),y)
 MAKE_ENV+=		\
 			WRKDIR='${WRKDIR}' WRKDIST='${WRKDIST}' \
-			WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}'
+			WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}' \
+			CFLAGS='$(strip ${TCFLAGS})' \
+			CXXFLAGS='$(strip ${TCXXFLAGS})' \
+			CPPFLAGS='$(strip ${TCPPFLAGS})' \
+			LDFLAGS='$(strip ${TLDFLAGS})'
 else
 MAKE_ENV+=		PATH='${TARGET_PATH}' \
 			${HOST_CONFIGURE_OPTS} \
@@ -105,7 +123,7 @@ build: ${_BUILD_COOKIE}
 fake: ${_FAKE_COOKIE}
 
 # our recursive build entry point
-build-all-ipkgs: ${_IPKGS_COOKIE}
+build-all-pkgs: ${_IPKGS_COOKIE}
 
 # there are some parameters to the PKG_template function
 # 1.) Config.in identifier ADK_PACKAGE_$(1)
@@ -122,13 +140,13 @@ build-all-ipkgs: ${_IPKGS_COOKIE}
 #                 cleaning (needed for toolchain packages like glibc/eglibc)
 # should be package format independent and modular in the future
 define PKG_template
-IPKG_$(1)=	$(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.ipk
-IDIR_$(1)=	$(WRKDIR)/fake-${CPU_ARCH}/ipkg-$(2)
+IPKG_$(1)=	$(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.${PKG_SUFFIX}
+IDIR_$(1)=	$(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2)
 ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},)
 ALL_IPKGS+=	$$(IPKG_$(1))
 ALL_IDIRS+=	$${IDIR_$(1)}
 endif
-INFO_$(1)=	$(IPKG_STATE_DIR)/info/$(2).list
+INFO_$(1)=	$(PKG_STATE_DIR)/info/$(2).list
 
 ifeq ($(ADK_PACKAGE_$(1)),y)
 install-targets: $$(INFO_$(1))
@@ -142,7 +160,6 @@ $$(IDIR_$(1))/CONTROL/control: ${_PATCH_COOKIE}
 	@echo "Package: $(2)" > $(WRKDIR)/.$(2).control
 	@echo "Section: $(6)" >> $(WRKDIR)/.$(2).control
 	@echo "Description: $(5)" >> $(WRKDIR)/.$(2).control
-ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
 	${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh $${IDIR_$(1)} $${ICONTROL_$(1)} $(3) ${CPU_ARCH}
 	@adeps='$$(strip $${IDEPEND_$(1)})'; if [[ -n $$$$adeps ]]; then \
 		comma=; \
@@ -162,7 +179,6 @@ ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
 	@for file in conffiles preinst postinst prerm postrm; do \
 		[ ! -f ./files/$(2).$$$$file ] || cp ./files/$(2).$$$$file $$(IDIR_$(1))/CONTROL/$$$$file; \
 	done
-endif
 
 $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE}
 ifeq ($(ADK_DEBUG),)
@@ -196,7 +212,7 @@ endif
 		    'ramdisk location:' >&2; \
 		echo "$$$$x" | sed 's/^/- /' >&2; \
 	    fi; \
-	    if [ "${PKG_NAME}" != "uClibc" -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}" != "glibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -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; \
@@ -220,11 +236,8 @@ ifeq (,$(filter noscripts,$(7)))
 		    >>'$${STAGING_PARENT}/pkg/$(1)'; \
 	done
 endif
-ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
-	$${IPKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE)
-endif
-ifeq ($(ADK_TARGET_PACKAGE_TGZ),y)
-	(cd $${IDIR_$(1)} && tar czf $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.tar.gz .);
+ifeq (,$(filter libonly,$(7)))
+	$${PKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE)
 endif
 
 clean-targets: clean-dev-$(1)
@@ -241,7 +254,7 @@ endif
 	@rm -f '$${STAGING_PARENT}/pkg/$(1)'
 
 $$(INFO_$(1)): $$(IPKG_$(1))
-	$(IPKG) install $$(IPKG_$(1))
+	$(PKG_INSTALL) $$(IPKG_$(1))
 endef
 
 install-targets:
@@ -259,4 +272,4 @@ distclean: clean
 	rm -f ${FULLDISTFILES}
 
 .PHONY:	all refetch extract patch configure \
-	build fake package install clean build-all-ipkgs
+	build fake package install clean build-all-pkgs

+ 2 - 0
mk/pkg-bottom.mk

@@ -120,7 +120,9 @@ endif
 		[[ -e $$a ]] || continue; \
 		$(SED) "s,^prefix=.*,prefix=${STAGING_DIR}/usr," $$a; \
 	done
+ifeq (,$(filter libonly,${PKG_OPTS}))
 	@env ${MAKE_ENV} ${MAKE} post-install $(MAKE_TRACE)
+endif
 ifeq (,$(filter noremove,${PKG_OPTS}))
 	@if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \
 		cd '${STAGING_DIR}'; \

+ 15 - 8
mk/vars.mk

@@ -69,17 +69,24 @@ HOST_CONFIGURE_OPTS=	CC_FOR_BUILD='${HOSTCC}' \
 			CPPFLAGS_FOR_BUILD='${HOSTCPPFLAGS}' \
 			LDFLAGS_FOR_BUILD='${HOSTLDFLAGS}'
 
-# invoke ipkg-build with some default options
-IPKG_BUILD:=		PATH='${TARGET_PATH}' ${BASH} \
-			    ${TOPDIR}/scripts/ipkg-build -c -o 0 -g 0
-# where to build (and put) .ipk packages
-IPKG_TARGET_DIR:=	$(PACKAGE_DIR)
-IPKG:=			IPKG_TMP=$(BUILD_DIR)/tmp \
+PKG_SUFFIX:=		$(strip $(subst ",, $(ADK_PACKAGE_SUFFIX)))
+
+ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
+PKG_BUILD:=		${BASH} ${SCRIPT_DIR}/ipkg-build -c -o 0 -g 0
+
+PKG_INSTALL:=		IPKG_TMP=$(BUILD_DIR)/tmp \
 			IPKG_INSTROOT=$(TARGET_DIR) \
 			IPKG_CONF_DIR=$(STAGING_DIR)/etc \
 			IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
-			${BASH} ${SCRIPT_DIR}/ipkg -force-defaults -force-depends
-IPKG_STATE_DIR:=	$(TARGET_DIR)/usr/lib/ipkg
+			${BASH} ${SCRIPT_DIR}/ipkg \
+			-force-defaults -force-depends install
+PKG_STATE_DIR:=		$(TARGET_DIR)/usr/lib/ipkg
+else
+PKG_BUILD:=		${BASH} ${SCRIPT_DIR}/tarpkg build
+PKG_INSTALL:=		INSTROOT=$(TARGET_DIR) \
+			${BASH} ${SCRIPT_DIR}/tarpkg install
+PKG_STATE_DIR:=		$(TARGET_DIR)/usr/lib/pkg
+endif
 
 ifeq ($(ADK_NATIVE),y)
 RSTRIP:=		prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh

+ 1 - 0
package/Config.in

@@ -375,6 +375,7 @@ source "package/lua/Config.in"
 source "package/m4/Config.in"
 source "package/make/Config.in"
 source "package/microperl/Config.in"
+source "package/perl/Config.in"
 source "package/php/Config.in"
 source "package/python/Config.in"
 source "package/ruby/Config.in"

+ 3 - 3
package/Depends.mk

@@ -9,7 +9,7 @@ atftp-compile: readline-compile ncurses-compile
 avahi-compile: libdaemon-compile expat-compile gdbm-compile glib-compile
 bind-compile: openssl-compile
 bitlbee-compile: libiconv-compile openssl-compile glib-compile
-bluez-compile: libusb-compile dbus-compile
+bluez-compile: libusb-compile dbus-compile glib-compile
 bogofilter-compile: libiconv-compile libdb-compile
 ifeq (${ADK_COMPILE_CBTT_WITH_UCLIBCXX},y)
 cbtt-compile: uclibc++-compile
@@ -52,7 +52,7 @@ git-compile: openssl-compile curl-compile expat-compile
 gkrellmd-compile: glib-compile
 glib-compile: gettext-compile libiconv-compile
 gmediaserver-compile: id3lib-compile libupnp-compile
-gnutls-compile: libgcrypt-compile liblzo-compile libtasn1-compile opencdk-compile zlib-compile
+gnutls-compile: libgcrypt-compile liblzo-compile libtasn1-compile opencdk-compile zlib-compile ncurses-compile
 ifeq (${ADK_COMPILE_GPSD_WITH_UCLIBCXX},y)
 gpsd-compile: uclibc++-compile
 endif
@@ -105,7 +105,7 @@ libtirpc-compile: libgssglue-compile
 endif
 libtorrent-compile: openssl-compile libsigc++-compile
 libvorbis-compile: libogg-compile
-libvirt-compile: libxml2-compile gnutls-compile
+libvirt-compile: libxml2-compile gnutls-compile python-compile
 libfontenc-compile: xproto-compile zlib-compile
 libICE-compile: xtrans-compile
 libSM-compile: libICE-compile

+ 4 - 1
package/Makefile

@@ -200,7 +200,9 @@ package-$(ADK_PACKAGE_LIBPCAP) += libpcap
 package-$(ADK_PACKAGE_LIBPCIACCESS) += libpciaccess
 package-$(ADK_PACKAGE_LIBPNG) += libpng
 package-$(ADK_PACKAGE_LIBPRI) += libpri
+ifeq (${ADK_NATIVE},n)
 package-$(ADK_PACKAGE_LIBPTHREAD) += libpthread
+endif
 package-$(ADK_COMPILE_LIBSHOUT) += libshout
 package-$(ADK_PACKAGE_LIBSIGCXX) += libsigc++
 package-$(ADK_PACKAGE_LIBSTDCXX) += libstdcxx
@@ -305,6 +307,7 @@ package-$(ADK_PACKAGE_PARPROUTED) += parprouted
 package-$(ADK_PACKAGE_PATCH) += patch
 package-$(ADK_PACKAGE_PCIUTILS) += pciutils
 package-$(ADK_COMPILE_PCRE) += pcre
+package-$(ADK_PACKAGE_PERL) += perl
 package-$(ADK_COMPILE_PHP) += php
 package-$(ADK_PACKAGE_PICOCOM) += picocom
 package-$(ADK_PACKAGE_PIPACS) += pipacs
@@ -469,7 +472,7 @@ $(TARGET_DIR):
 
 %-compile:
 	$(START_TRACE) "package/$(patsubst %-compile,%,$@)-compile: "
-	$(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-ipkgs
+	$(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-pkgs
 	$(CMD_TRACE) " done"
 	$(END_TRACE)
 

+ 0 - 0
package/base-files/extra/etc/network/if-down.d/.empty


+ 0 - 0
package/base-files/extra/etc/network/if-post-down.d/.empty


+ 0 - 0
package/base-files/extra/etc/network/if-pre-up.d/.empty


+ 0 - 0
package/base-files/extra/etc/network/if-up.d/.empty


+ 3 - 0
package/bluez/Config.in

@@ -3,6 +3,9 @@ config ADK_PACKAGE_BLUEZ
 	tristate
 	default n
 	select ADK_KPACKAGE_KMOD_BT
+	select ADK_PACKAGE_GLIB
+	select ADK_PACKAGE_DBUS
+	select ADK_PACKAGE_LIBUSB
 	help
 	  Bluez libs and apps. 
 	  

+ 10 - 2
package/bluez/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		bluez
-PKG_VERSION:=		4.40
+PKG_VERSION:=		4.56
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		a25fa37c97c309338649f6a5fd4cea76
+PKG_MD5SUM:=		92ea2e86a5489f0d16567920f2ec9b36
 PKG_DESCR:=		bluetooth libraries and applications
 PKG_SECTION:=		bluetooth
 PKG_DEPENDS:=		kmod-bluetooth
@@ -17,7 +17,13 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,BLUEZ,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+ifeq ($(ADK_STATIC),y)
+XAKE_FLAGS+=		V=1 CCLD="$(TARGET_CC) -all-static -pthread"
+else
+XAKE_FLAGS+=            V=1
+endif
 CONFIGURE_STYLE:=	gnu
+CONFIGURE_ENV+=		ac_cv_prog_cc_pie=no
 CONFIGURE_ARGS+=	--enable-tools \
 			--enable-alsa \
 			--enable-usb \
@@ -30,8 +36,10 @@ BUILD_STYLE:=		auto
 INSTALL_STYLE:=		auto
 
 post-install:
+ifeq ($(ADK_STATIC),n)
 	${INSTALL_DIR} ${IDIR_BLUEZ}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libbluetooth.so.* ${IDIR_BLUEZ}/usr/lib/
+endif
 	${INSTALL_DIR} $(IDIR_BLUEZ)/etc/dbus-1/system.d
 	${INSTALL_DIR} ${IDIR_BLUEZ}/usr/bin
 	${CP} ${WRKINST}/usr/bin/* ${IDIR_BLUEZ}/usr/bin/

+ 2 - 2
package/busybox/config/coreutils/Config.in

@@ -67,7 +67,7 @@ config BUSYBOX_CKSUM
 
 config BUSYBOX_COMM
 	bool "comm"
-	default n
+	default y
 	help
 	  comm is used to compare two files line by line and return
 	  a three-column output.
@@ -557,7 +557,7 @@ config BUSYBOX_FEATURE_SORT_BIG
 
 config BUSYBOX_SPLIT
 	bool "split"
-	default n
+	default y
 	help
 	  split a file into pieces.
 

+ 1 - 0
package/bzip2/Makefile

@@ -16,6 +16,7 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,BZIP2,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+TCFLAGS+=		-fPIC
 XAKE_FLAGS+=		PREFIX=${WRKINST}/usr
 BUILD_STYLE:=		auto
 INSTALL_STYLE:=		auto

+ 11 - 3
package/curl/Config.in

@@ -11,16 +11,24 @@ config ADK_PACKAGE_LIBCURL
 	select ADK_PACKAGE_LIBOPENSSL
 	select ADK_PACKAGE_ZLIB
 	help
-	  A client-side URL transfer library.
+	  http://curl.haxx.se/
 
+config ADK_PACKAGE_LIBCURL_DEV
+	prompt "libcurl-dev....................... development files for libcurl"
+	tristate
+	default n
+	depends on ADK_PACKAGE_LIBCURL
+	select ADK_COMPILE_CURL
+	select ADK_PACKAGE_LIBOPENSSL
+	select ADK_PACKAGE_ZLIB
+	help
 	  http://curl.haxx.se/
 
+
 config ADK_PACKAGE_CURL
 	prompt   "curl............................ A client-side URL transfer tool"
 	tristate
 	default n
 	depends on ADK_PACKAGE_LIBCURL
 	help
-	  A client-side URL transfer tool.
-
 	  http://curl.haxx.se/

+ 5 - 2
package/curl/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		curl
-PKG_VERSION:=		7.19.0
+PKG_VERSION:=		7.19.6
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		35f51ac7bcff689b2d2d6e38a3c4d1ae
+PKG_MD5SUM:=		6625de9d42d1b8d3af372d3241a576fd
 PKG_DESCR:=		a client-side URL transfer tool
 PKG_SECTION:=		net
 PKG_URL:=		http://curl.haxx.se
@@ -26,6 +26,7 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,CURL,curl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,LIBCURL,libcurl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION_1}))
+$(eval $(call PKG_template,LIBCURL_DEV,libcurl-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION_1}))
 
 CONFIGURE_STYLE=	gnu
 CONFIGURE_ENV+=		curl_typeof_curl_socklen_t=socklen_t
@@ -54,7 +55,9 @@ INSTALL_STYLE=		auto
 
 post-install:
 	${INSTALL_DIR} ${IDIR_CURL}/usr/bin ${IDIR_LIBCURL}/usr/lib
+	${INSTALL_DIR} ${IDIR_LIBCURL_DEV}/usr/include/curl
 	${CP} ${WRKINST}/usr/bin/curl ${IDIR_CURL}/usr/bin/
 	${CP} ${WRKINST}/usr/lib/libcurl.so.* ${IDIR_LIBCURL}/usr/lib/
+	${CP} ${WRKINST}/usr/include/curl/*.h ${IDIR_LIBCURL_DEV}/usr/include/curl/
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 6 - 11
package/curl/patches/patch-configure

@@ -1,21 +1,16 @@
-$Id$
-
-	Don't do *THAT* for cross-compiling.
-
---- curl-7.16.3.orig/configure	2007-06-25 11:18:41.000000000 +0200
-+++ curl-7.16.3/configure	2007-08-02 17:44:28.000000000 +0200
-@@ -25783,17 +25783,6 @@ fi
- 
+--- curl-7.19.6.orig/configure	2009-07-22 22:11:25.000000000 +0200
++++ curl-7.19.6/configure	2009-10-01 14:05:37.578930054 +0200
+@@ -25479,16 +25479,6 @@ fi
  rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    fi
--
+ 
 -  if test "$OPENSSL_ENABLED" = "1"; then
 -    if test -n "$LIB_OPENSSL"; then
 -
 -       LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
 -       export LD_LIBRARY_PATH
--       { echo "$as_me:$LINENO: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&5
--echo "$as_me: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&6;}
+-       { $as_echo "$as_me:$LINENO: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&5
+-$as_echo "$as_me: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&6;}
 -    fi
 -  fi
 -

+ 9 - 4
package/dbus/Makefile

@@ -12,10 +12,13 @@ PKG_SECTION:=		net
 PKG_DEPENDS:=		libexpat
 PKG_URL:=		http://dbus.freedesktop.org
 PKG_SITES:=		http://dbus.freedesktop.org/releases/dbus/
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS:=		libonly
+endif
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,DBUS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,DBUS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 CONFIGURE_STYLE:=	gnu
 CONFIGURE_ARGS+=	--disable-tests \
@@ -31,13 +34,15 @@ CONFIGURE_ENV+=		ac_cv_have_abstract_sockets=no
 BUILD_STYLE:=		auto
 INSTALL_STYLE:=		auto
 
+pre-install:
+	${INSTALL_DIR} $(STAGING_DIR)/usr/include/dbus-1.0/dbus
+	$(CP) $(WRKBUILD)/dbus/dbus-arch-deps.h \
+		$(STAGING_DIR)/usr/include/dbus-1.0/dbus/
+
 post-install:
 	${INSTALL_DIR} ${IDIR_DBUS}/etc ${IDIR_DBUS}/usr/lib ${IDIR_DBUS}/usr/bin
-	${INSTALL_DIR} $(STAGING_DIR)/usr/include/dbus-1.0/dbus
 	${CP} ${WRKINST}/etc/dbus-1 ${IDIR_DBUS}/etc/
 	${CP} ${WRKINST}/usr/lib/libdbus-1.so.* ${IDIR_DBUS}/usr/lib/
-	$(CP) $(WRKINST)/usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h \
-		$(STAGING_DIR)/usr/include/dbus-1.0/dbus/
 	${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-daemon ${IDIR_DBUS}/usr/bin/
 	${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-launch ${IDIR_DBUS}/usr/bin/
 

+ 1 - 1
package/dropbear/files/dropbear.postinst

@@ -1,3 +1,3 @@
 #!/bin/sh
 . $IPKG_INSTROOT/etc/functions.sh
-add_rcconf '"NO" to disable' dropbear_flags ""
+add_rcconf '"NO" to disable' dropbear_flags " "

+ 9 - 4
package/eglibc/Makefile

@@ -44,19 +44,24 @@ do-extract:
 
 # do nothing, eglibc is already build in toolchain directory
 do-install:
-	${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc
+	${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc $(IDIR_EGLIBC)/usr/lib
 	# install /etc/localtime from host system (FIXME)
 	${CP} /etc/localtime $(IDIR_EGLIBC)/etc
 ifeq ($(ADK_SSP),y)
 	$(CP) $(STAGING_DIR)/lib/libssp.so* $(IDIR_EGLIBC)/lib/
 endif
+	$(CP) $(STAGING_DIR)/lib/ld-* $(IDIR_EGLIBC)/lib/
 	$(CP) $(STAGING_DIR)/lib/libgcc_s.so* $(IDIR_EGLIBC)/lib/
-	-for file in libc ld libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \
+	-for file in libc libcrypt libdl libm 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/; \
 	done
-	# create ld.so link for x86 linker and gcc
-	cd $(IDIR_EGLIBC)/lib && ln -sf ld-$(PKG_VERSION).so ld-linux.so.2
+	# install linker script
+	-cp ./files/libc.so.$(CPU_ARCH) $(IDIR_EGLIBC)/usr/lib/libc.so
+	cd $(IDIR_EGLIBC)/lib && ln -sf libm.so.6 libm.so
+	cd $(IDIR_EGLIBC)/lib && ln -sf libutil.so.1 libutil.so
+	cd $(IDIR_EGLIBC)/lib && ln -sf librt.so.1 librt.so
+	cd $(IDIR_EGLIBC)/lib && ln -sf libcrypt.so.1 libcrypt.so
 	# header package
 	$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \
 		INSTALL_HDR_PATH=$(IDIR_EGLIBC_DEV)/usr \

+ 5 - 0
package/eglibc/files/libc.so.x86_64

@@ -0,0 +1,5 @@
+/* GNU ld script
+   Use the shared library, but some functions are only in
+      the static library, so try that secondarily.  */
+      OUTPUT_FORMAT(elf64-x86-64)
+      GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux-x86-64.so.2 ) )

+ 8 - 5
package/expat/Makefile

@@ -7,18 +7,21 @@ PKG_NAME:=		expat
 PKG_VERSION:=		2.0.1
 PKG_RELEASE:=		1
 PKG_MD5SUM:=		ee8b492592568805593f81f8cdf2a04c
-PKG_DESCR:=		a fast, non-validating, stream-oriented XML parsing library
+PKG_DESCR:=		a XML parsing library
 PKG_SECTION:=		libs
 PKG_URL:=		http://expat.sourceforge.net
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=expat/}
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS:=		libonly
+endif
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,LIBEXPAT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBEXPAT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
-CONFIGURE_STYLE=	gnu
-BUILD_STYLE=		auto
-INSTALL_STYLE=		auto
+CONFIGURE_STYLE:=	gnu
+BUILD_STYLE:=		auto
+INSTALL_STYLE:=		auto
 
 post-install:
 	${INSTALL_DIR} ${IDIR_LIBEXPAT}/usr/lib

+ 1 - 0
package/gcc/Makefile

@@ -46,6 +46,7 @@ ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
 	${CP} ${STAGING_DIR}/lib/crt* ${IDIR_GCC}/usr/lib
 else
 	${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GCC}/usr/lib
+	${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_GCC}/usr/lib
 endif
 	rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools
 

+ 8 - 5
package/gettext/Makefile

@@ -11,15 +11,18 @@ PKG_DESCR:=		internationalisation library
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libiconv libpthread
 PKG_URL:=		http://www.gnu.org/software/gettext/
-PKG_SITES=		${MASTER_SITE_GNU:=gettext/}
+PKG_SITES:=		${MASTER_SITE_GNU:=gettext/}
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS:=		libonly
+endif
 
 WRKDIST=		${WRKDIR}/${PKG_NAME}-${PKG_VERSION}/gettext-runtime
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,GETTEXT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GETTEXT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
-CONFIGURE_STYLE=	gnu
+CONFIGURE_STYLE:=	gnu
 CONFIGURE_ARGS+=	--disable-java \
 			--disable-native-java \
 			--disable-csharp \
@@ -33,8 +36,8 @@ CONFIGURE_ARGS+=	--disable-java \
 CONFIGURE_ENV+=		nls_cv_use_gnu_gettext=yes \
 			ac_cv_gnu_library_2=no \
 			gt_use_preinstalled_gnugettext=no
-BUILD_STYLE=		auto
-INSTALL_STYLE=		auto confprog
+BUILD_STYLE:=		auto
+INSTALL_STYLE:=		auto
 
 post-install:
 	${INSTALL_DIR} ${IDIR_GETTEXT}/usr/lib

+ 3 - 2
package/git/Makefile

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		git
 PKG_VERSION:=		1.6.4.2
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		d7732d13a227d89f05122d230c5c8048
 PKG_DESCR:=		fast version control system
 PKG_SECTION:=		misc
@@ -17,7 +17,8 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,GIT,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-TCFLAGS+=		-DNO_NSEC -DNO_TCLTK -DNO_PERL
+MAKE_ENV+=		NO_PERL=1 NO_NSEC=1 NO_TCLTK=1
+XAKE_FLAGS+=		V=1
 CONFIGURE_STYLE:=	gnu
 CONFIGURE_ENV+=		ac_cv_c_c99_format=yes \
 			ac_cv_fread_reads_directories=no \

+ 19 - 8
package/git/patches/patch-Makefile

@@ -1,24 +1,35 @@
---- git-1.6.4.1.orig/Makefile	2009-08-22 06:54:01.000000000 +0200
-+++ git-1.6.4.1/Makefile	2009-08-23 12:11:07.755226105 +0200
-@@ -1345,7 +1345,6 @@ builtin-help.o: builtin-help.c common-cm
+--- git-1.6.4.2.orig/Makefile	2009-08-29 23:58:52.000000000 +0200
++++ git-1.6.4.2/Makefile	2009-10-01 15:36:20.567802008 +0200
+@@ -212,8 +212,8 @@ uname_V := $(shell sh -c 'uname -v 2>/de
+ 
+ # CFLAGS and LDFLAGS are for the users to override from the command line.
+ 
+-CFLAGS = -g -O2 -Wall
+-LDFLAGS =
++CFLAGS ?= -g -O2 -Wall
++LDFLAGS ?=
+ ALL_CFLAGS = $(CFLAGS)
+ ALL_LDFLAGS = $(LDFLAGS)
+ STRIP ?= strip
+@@ -1345,8 +1345,6 @@ builtin-help.o: builtin-help.c common-cm
  
  $(BUILT_INS): git$X
  	$(QUIET_BUILT_IN)$(RM) $@ && \
 -	ln git$X $@ 2>/dev/null || \
- 	ln -s git$X $@ 2>/dev/null || \
+-	ln -s git$X $@ 2>/dev/null || \
  	cp git$X $@
  
-@@ -1663,11 +1662,11 @@ endif
+ common-cmds.h: ./generate-cmdlist.sh command-list.txt
+@@ -1663,12 +1661,9 @@ endif
  	{ test "$$bindir/" = "$$execdir/" || \
  		{ $(RM) "$$execdir/git$X" && \
  		test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
 -		ln "$$bindir/git$X" "$$execdir/git$X" 2>/dev/null || \
-+		ln -s "$$bindir/git$X" "$$execdir/git$X" 2>/dev/null || \
  		cp "$$bindir/git$X" "$$execdir/git$X"; } ; } && \
  	{ for p in $(BUILT_INS); do \
  		$(RM) "$$execdir/$$p" && \
 -		ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
-+		ln -s "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
- 		ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
+-		ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
  		cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
  	  done; } && \
+ 	./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X"

+ 11 - 8
package/glib/Makefile

@@ -4,25 +4,28 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		glib
-PKG_VERSION:=		2.18.1
+PKG_VERSION:=		2.22.2
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		d53836f7fdd9970d03e255e9d712bd83
+PKG_MD5SUM:=		00eb873975e2ef9361b8177131c7c943
 PKG_DESCR:=		low-level core library that forms the basis of GTK+
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		gettext libiconv libpthread
 PKG_URL:=		http://www.gtk.org/
-PKG_SITES:=		ftp://ftp.gtk.org/pub/glib/2.18/
+PKG_SITES:=		ftp://ftp.gtk.org/pub/glib/2.22/
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS:=		libonly
+endif
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,GLIB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GLIB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
-TCPPFLAGS+=		-I'${STAGING_DIR}/usr/include'
-CONFIGURE_STYLE=	gnu
+CONFIGURE_STYLE:=	gnu
 CONFIGURE_ARGS+=	--enable-debug=no \
 			--disable-mem-pools \
 			--disable-rebuilds \
 			--with-libiconv=gnu \
+			--disable-fam \
 			--with-threads=posix
 CONFIGURE_ENV+=		glib_cv_long_long_format=ll \
 			glib_cv_stack_grows=no \
@@ -30,8 +33,8 @@ CONFIGURE_ENV+=		glib_cv_long_long_format=ll \
 			glib_cv_uscore=no \
 			ac_cv_func_posix_getpwuid_r=yes \
 			ac_cv_func_posix_getgrgid_r=yes
-BUILD_STYLE=		auto
-INSTALL_STYLE=		auto confprog
+BUILD_STYLE:=		auto
+INSTALL_STYLE:=		auto
 
 post-install:
 	${INSTALL_DIR} ${IDIR_GLIB}/usr/lib

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

@@ -0,0 +1,20 @@
+--- 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

+ 0 - 1
package/libiconv/Config.in

@@ -3,7 +3,6 @@ config ADK_PACKAGE_LIBICONV
 	tristate
 	default n
 	help
-
 	  This package contains a _very_ stripped down version of GNU Libiconv,
 	  all charsets have been removed, except ASCII, various unicode charsets
 	  and iso8896-1.

+ 9 - 9
package/libiconv/Makefile

@@ -4,29 +4,29 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libiconv
-PKG_VERSION:=		1.13
+PKG_VERSION:=		1.13.1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		048032a3032ebd182150bdee30a5d533
+PKG_MD5SUM:=		7ab33ebd26687c744a37264a330bbe9a
 PKG_DESCR:=		character set conversion library
 PKG_SECTION:=		libs
 PKG_URL:=		http://www.gnu.org/software/libiconv
 PKG_SITES:=		${MASTER_SITE_GNU:=libiconv/}
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS:=		libonly
+endif
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,LIBICONV,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBICONV,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 TCFLAGS+=		-fPIC
-CONFIGURE_STYLE=	gnu
-BUILD_STYLE=		auto
-INSTALL_STYLE=		auto confprog
+CONFIGURE_STYLE:=	gnu
+BUILD_STYLE:=		auto
+INSTALL_STYLE:=		auto
 FAKE_FLAGS+=		libdir="${WRKINST}/usr/lib" \
 			includedir="${WRKINST}/usr/include" \
 INSTALL_TARGET=		install-lib
 
-post-extract:
-	@find ${WRKBUILD} -name *.rej -delete
-
 post-install:
 	${INSTALL_DIR} ${IDIR_LIBICONV}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libiconv.so.* ${IDIR_LIBICONV}/usr/lib/

+ 16 - 0
package/libiconv/patches/patch-preload_Makefile_in

@@ -0,0 +1,16 @@
+--- libiconv-1.13.orig/preload/Makefile.in	2009-01-17 00:11:37.000000000 +0100
++++ libiconv-1.13/preload/Makefile.in	2009-10-10 22:01:15.666144195 +0200
+@@ -54,11 +54,11 @@ preloadable_libiconv.so : $(SOURCES)
+ 	done && \
+ 	$(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) -o libiconv.la -rpath $(libdir) -no-undefined objects/*.lo && \
+ 	$(RM) -r objects
+-	cp .libs/libiconv.so preloadable_libiconv.so
++	-test -f .libs/libiconv.so && cp .libs/libiconv.so preloadable_libiconv.so
+ 
+ install : all force
+ 	if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
+-	if test -n "@PLUGLIB@"; then $(INSTALL_DATA) @PLUGLIB@ $(DESTDIR)$(libdir)/@PLUGLIB@.new && mv $(DESTDIR)$(libdir)/@PLUGLIB@.new $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi
++	-if test -n "@PLUGLIB@"; then $(INSTALL_DATA) @PLUGLIB@ $(DESTDIR)$(libdir)/@PLUGLIB@.new && mv $(DESTDIR)$(libdir)/@PLUGLIB@.new $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi
+ 
+ install-strip : install
+ 

+ 5 - 1
package/libpthread/Makefile

@@ -5,7 +5,11 @@ include ${TOPDIR}/rules.mk
 
 ifeq ($(ADK_TARGET_LIB_GLIBC),y)
 include ${TOPDIR}/toolchain/glibc/Makefile.inc
-else
+endif
+ifeq ($(ADK_TARGET_LIB_EGLIBC),y)
+include ${TOPDIR}/toolchain/eglibc/Makefile.inc
+endif
+ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
 include ${TOPDIR}/toolchain/uClibc/Makefile.inc
 endif
 

+ 8 - 5
package/libusb/Makefile

@@ -4,23 +4,26 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libusb
-PKG_VERSION:=		1.0.1
+PKG_VERSION:=		1.0.3
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		8fb0e066678a0d294894b5b2969cb4b3
-PKG_DESCR:=		a Library for accessing Linux USB devices
+PKG_MD5SUM:=		03af26d0c49705fa46c1f732e1018e73
+PKG_DESCR:=		a library for accessing Linux USB devices
 PKG_SECTION:=		libs
 PKG_URL:=		http://libusb.wiki.sourceforge.net
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=libusb/}
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS:=		libonly
+endif
 
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.tar.bz2
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,LIBUSB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBUSB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 CONFIGURE_STYLE:=	gnu
 BUILD_STYLE:=		auto
-INSTALL_STYLE:=		auto confprog
+INSTALL_STYLE:=		auto
 
 post-install:
 	${INSTALL_DIR} ${IDIR_LIBUSB}/usr/lib

+ 2 - 2
package/microperl/files/uconfig.h.x86_64

@@ -3865,13 +3865,13 @@
  *	This symbol, if defined, indicates that the strlcat () routine is
  *	available to do string concatenation.
  */
-#define HAS_STRLCAT		/**/
+/*#define HAS_STRLCAT		/* */
 
 /* HAS_STRLCPY:
  *	This symbol, if defined, indicates that the strlcpy () routine is
  *	available to do string copying.
  */
-#define HAS_STRLCPY		/**/
+/*#define HAS_STRLCPY		/* */
 
 /* HAS_STRTOLD:
  *	This symbol, if defined, indicates that the strtold routine is

+ 1 - 1
package/ncurses/Makefile

@@ -38,7 +38,7 @@ CONFIGURE_ARGS+=	--without-cxx \
 			--enable-const \
 			--enable-echo
 BUILD_STYLE=		auto
-INSTALL_STYLE=		auto confprog
+INSTALL_STYLE=		auto
 ALL_TARGET:=		libs
 INSTALL_TARGET:=	install.libs install.data
 

+ 4 - 0
package/openssl/Makefile

@@ -19,10 +19,12 @@ PKG_SITES:=		http://www.openssl.org/source/ \
 PKG_DESCR_UTIL:=	OpenSSL (Secure Socket Layer) command line tool
 PKG_SECTION_UTIL:=	admin
 PKG_DEPENDS_UTIL:=	libopenssl
+PKG_DEPENDS_DEV:=	libopenssl
 
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,LIBOPENSSL,libopenssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBOPENSSL_DEV,libopenssl-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_DEV},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_UTIL},${PKG_DESCR_UTIL},${PKG_SECTION_UTIL}))
 
 BUILD_STYLE:=		manual
@@ -67,5 +69,7 @@ post-install:
 	${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/etc/ssl/{,certs,private}
 	${CP} ${WRKSRC}/apps/openssl.cnf ${IDIR_OPENSSL_UTIL}/etc/ssl/
 	chmod 0700 ${IDIR_OPENSSL_UTIL}/etc/ssl/private
+	${INSTALL_DIR} ${IDIR_LIBOPENSSL_DEV}/usr/include
+	${CP} ${WRKINST}/usr/include/* ${IDIR_LIBOPENSSL_DEV}/usr/include
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 8 - 0
package/perl/Config.in

@@ -0,0 +1,8 @@
+config ADK_PACKAGE_PERL
+	prompt "perl.............................. A full blown perl"
+	tristate
+	depends on ADK_NATIVE
+	default n
+	help
+	  Complete Perl.
+

+ 34 - 0
package/perl/Makefile

@@ -0,0 +1,34 @@
+# 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:=		perl
+PKG_VERSION:=		5.10.0
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		d2c39b002ebfd2c3c5dba589365c5a71
+PKG_DESCR:=		Perl without operating-specific functions
+PKG_SECTION:=		net
+PKG_URL:=		www.perl.org
+PKG_SITES:=		ftp://ftp.cpan.org/pub/CPAN/src/5.0/ \
+			ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/src/5.0/ \
+			ftp://ftp.gmd.de/mirrors/CPAN/src/5.0/ \
+			ftp://ftp.funet.fi/pub/languages/perl/CPAN/src/5.0/
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,PERL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+BUILD_STYLE:=		auto
+
+pre-configure:
+	(cd ${WRKBUILD}; ./Configure -des -Dcc=gcc);
+
+do-install:
+	${INSTALL_DIR} ${IDIR_PERL}/usr/bin
+	${INSTALL_DIR} ${IDIR_PERL}/usr/lib/perl5/${PKG_VERSION}
+	${INSTALL_BIN} ${WRKBUILD}/perl ${IDIR_PERL}/usr/bin/perl
+	${INSTALL_DATA} ${WRKBUILD}/lib/strict.pm \
+		${IDIR_PERL}/usr/lib/perl5/${PKG_VERSION}
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 8 - 5
package/python/Makefile

@@ -15,18 +15,20 @@ PKG_SITES:=		http://www.python.org/ftp/python/3.1.1/
 DISTFILES=		Python-${PKG_VERSION}.tgz
 WRKDIST=		${WRKDIR}/Python-${PKG_VERSION}
 
+DISMOD:=		readline _curses _curses_panel _tkinter nis
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,PYTHON,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 MAKE_ENV+=		OPT="$(TARGET_CFLAGS)" \
 			HOSTPYTHON=./hostpython \
-			HOSTPGEN=./hostpgen \
-			CROSS_COMPILE=yes
+			HOSTPGEN=./Parser/hostpgen \
+			PYTHON_DISABLE_MODULES="$(DISMOD)"
 
 CONFIGURE_STYLE:=	gnu
 CONFIGURE_ENV+=		OPT="$(TARGET_CFLAGS)"
-CONFGIURE_ARGS:=	--with-threads \
+CONFIGURE_ARGS:=	--with-threads \
 			--with-system-ffi \
 			--without-cxx-main
 BUILD_STYLE:=		auto
@@ -39,9 +41,10 @@ pre-configure:
 		--prefix=$(STAGING_TOOLS) \
 	);
 	$(MAKE) -C ${WRKBUILD} python Parser/pgen
-	(cd $(WRKBUILD);mv Parser/pgen hostpgen)
+	${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/pgen
+	${CP} ${WRKBUILD}/python ${STAGING_TOOLS}/bin/python
+	${CP} ${WRKBUILD}/Parser/pgen ${WRKBUILD}/Parser/hostpgen
 	${CP} ${WRKBUILD}/python ${WRKBUILD}/hostpython
-	$(MAKE) -C ${WRKBUILD} HOSTPYTHON="./hostpython" sharedmods install
 	$(MAKE) -C ${WRKBUILD} distclean
 
 post-install:

+ 12 - 3
package/python/patches/patch-Makefile_pre_in

@@ -1,5 +1,14 @@
 --- Python-3.1.1.orig/Makefile.pre.in	2009-06-12 00:54:11.000000000 +0200
-+++ Python-3.1.1/Makefile.pre.in	2009-09-16 21:36:12.000000000 +0200
++++ Python-3.1.1/Makefile.pre.in	2009-09-28 19:01:13.167748736 +0200
+@@ -52,7 +52,7 @@ INSTALL_DATA=	@INSTALL_DATA@
+ # Shared libraries must be installed with executable mode on some systems;
+ # rather than figuring out exactly which, we always give them executable mode.
+ # Also, making them read-only seems to be a good idea...
+-INSTALL_SHARED= ${INSTALL} -m 555
++INSTALL_SHARED= ${INSTALL} -m 755
+ 
+ MAKESETUP=      $(srcdir)/Modules/makesetup
+ 
 @@ -177,6 +177,7 @@ LIBOBJS=	@LIBOBJS@
  
  PYTHON=		python$(EXE)
@@ -38,8 +47,8 @@
  	@case $$MAKEFLAGS in \
 -	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
 -	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
-+	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
-+	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
++	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
++	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
  	esac
  
  # Build static library

+ 83 - 0
package/python/patches/patch-setup_py

@@ -0,0 +1,83 @@
+--- Python-3.1.1.orig/setup.py	2009-08-12 20:39:44.000000000 +0200
++++ Python-3.1.1/setup.py	2009-09-28 19:12:33.550271196 +0200
+@@ -255,36 +255,6 @@ class PyBuildExt(build_ext):
+         # cached.  Clear that cache before trying to import.
+         sys.path_importer_cache.clear()
+ 
+-        try:
+-            imp.load_dynamic(ext.name, ext_filename)
+-        except ImportError as why:
+-            self.failed.append(ext.name)
+-            self.announce('*** WARNING: renaming "%s" since importing it'
+-                          ' failed: %s' % (ext.name, why), level=3)
+-            assert not self.inplace
+-            basename, tail = os.path.splitext(ext_filename)
+-            newname = basename + "_failed" + tail
+-            if os.path.exists(newname):
+-                os.remove(newname)
+-            os.rename(ext_filename, newname)
+-
+-            # XXX -- This relies on a Vile HACK in
+-            # distutils.command.build_ext.build_extension().  The
+-            # _built_objects attribute is stored there strictly for
+-            # use here.
+-            # If there is a failure, _built_objects may not be there,
+-            # so catch the AttributeError and move on.
+-            try:
+-                for filename in self._built_objects:
+-                    os.remove(filename)
+-            except AttributeError:
+-                self.announce('unable to remove files (ignored)')
+-        except:
+-            exc_type, why, tb = sys.exc_info()
+-            self.announce('*** WARNING: importing extension "%s" '
+-                          'failed with %s: %s' % (ext.name, exc_type, why),
+-                          level=3)
+-            self.failed.append(ext.name)
+ 
+     def get_platform(self):
+         # Get value of sys.platform
+@@ -295,8 +265,8 @@ class PyBuildExt(build_ext):
+ 
+     def detect_modules(self):
+         # Ensure that /usr/local is always used
+-        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+-        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
++        #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
++        #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ 
+         # Add paths specified in the environment variables LDFLAGS and
+         # CPPFLAGS for header and library files.
+@@ -332,20 +302,22 @@ class PyBuildExt(build_ext):
+                     for directory in reversed(options.dirs):
+                         add_dir_to_list(dir_list, directory)
+ 
+-        if os.path.normpath(sys.prefix) != '/usr':
+-            add_dir_to_list(self.compiler.library_dirs,
+-                            sysconfig.get_config_var("LIBDIR"))
+-            add_dir_to_list(self.compiler.include_dirs,
+-                            sysconfig.get_config_var("INCLUDEDIR"))
++        #if os.path.normpath(sys.prefix) != '/usr':
++        #    add_dir_to_list(self.compiler.library_dirs,
++        #                    sysconfig.get_config_var("LIBDIR"))
++        #    add_dir_to_list(self.compiler.include_dirs,
++        #                    sysconfig.get_config_var("INCLUDEDIR"))
+ 
+         # lib_dirs and inc_dirs are used to search for files;
+         # if a file is found in one of those directories, it can
+         # be assumed that no additional -I,-L directives are needed.
+-        lib_dirs = self.compiler.library_dirs + [
+-            '/lib64', '/usr/lib64',
+-            '/lib', '/usr/lib',
+-            ]
+-        inc_dirs = self.compiler.include_dirs + ['/usr/include']
++        #lib_dirs = self.compiler.library_dirs + [
++        #    '/lib64', '/usr/lib64',
++        #    '/lib', '/usr/lib',
++        #    ]
++        #inc_dirs = self.compiler.include_dirs + ['/usr/include']
++        inc_dirs = self.compiler.include_dirs
++        lib_dirs = self.compiler.library_dirs
+         exts = []
+         missing = []
+ 

+ 28 - 8
scripts/scan-pkgs.sh

@@ -23,6 +23,16 @@ out=0
 
 . $topdir/.config
 
+if [[ -n $ADK_NATIVE ]];then
+	if [[ -n $ADK_PACKAGE_GIT ]];then
+		NEED_CURLDEV="$NEED_CURLDEV git"
+		NEED_SSLDEV="$NEED_SSLDEV git"
+	fi
+	if [[ -n $ADK_TARGET_PACKAGE_RPM ]]; then
+		NEED_RPM="$NEED_RPM rpm"
+	fi
+fi
+
 if [[ -n $ADK_PACKAGE_ALSA_UTILS ]]; then
 	NEED_XMLTO="$NEED_XMLTO alsa-utils"
 fi
@@ -39,14 +49,10 @@ if [[ -n $ADK_PACKAGE_SQUID ]]; then
 	NEED_SSLDEV="$NEED_SSLDEV squid"
 fi
 
-#if [[ -n $ADK_PACKAGE_RUBY ]]; then
-#	NEED_RUBY="$NEED_RUBY ruby"
-#fi
-
-if [[ -n $ADK_PACKAGE_GLIB2 ]]; then
-	NEED_GLIBZWO="$NEED_GLIBZWO glib2"
-	NEED_GETTEXT="$NEED_GETTEXT glib2"
-	NEED_PKGCONFIG="$NEED_PKGCONFIG glib2"
+if [[ -n $ADK_PACKAGE_GLIB ]]; then
+	NEED_GLIBZWO="$NEED_GLIBZWO glib"
+	NEED_GETTEXT="$NEED_GETTEXT glib"
+	NEED_PKGCONFIG="$NEED_PKGCONFIG glib"
 fi
 
 
@@ -60,6 +66,13 @@ if [[ -n $NEED_GETTEXT ]]; then
 	fi
 fi
 
+if [[ -n $NEED_CURLDEV ]];then
+	if ! test -f /usr/include/curl/curl.h >/dev/null; then
+		echo >&2 You need curl headers to build $NEED_CURLDEV
+		out=1
+	fi
+fi
+
 if [[ -n $NEED_SSLDEV ]]; then
 	if ! test -f /usr/lib/pkgconfig/openssl.pc >/dev/null; then
 		if ! test -f /usr/include/openssl/ssl.h >/dev/null; then
@@ -111,6 +124,13 @@ if [[ -n $ADK_USE_CCACHE ]]; then
         fi
 fi
 
+if [[ -n $NEED_RPM ]]; then
+	if ! which rpmbuild >/dev/null 2>&1; then
+		echo >&2 You need rpmbuild to to use $NEED_RPM package backend
+		out=1
+	fi
+fi
+
 #if [[ -n $ADK_COMPILE_MYSQL && $OStype != Linux ]]; then
 #	echo >&2 mySQL does not build on non-GNU/Linux.
 #	out=1

+ 0 - 32
scripts/scan-tools.sh

@@ -107,38 +107,6 @@ if ! which cpp >/dev/null 2>&1; then
 	out=1
 fi
 
-#if ! which flex >/dev/null 2>&1; then
-#	echo You must install flex to continue.
-#	echo
-#	out=1
-#else
-#	echo '%%' | flex -
-#	if fgrep _POSIX_SOURCE lex.yy.c; then
-#		echo Your lexer \(flex\) contains a broken skeleton.
-#		if [[ $NO_ERROR = 1 ]]; then
-#			echo WARNING: continue at your own risk.
-#			echo Some packages may be broken.
-#		else
-#			echo You can continue the build by issuing \'make prereq-noerror\'
-#			echo However, several packages may faild to build correctly.
-#			out=1
-#		fi
-#		echo
-#	fi
-#fi
-
-#if ! which bison >/dev/null 2>&1; then
-#	echo You must install GNU bison to continue.
-#	echo
-#	out=1
-#fi
-
-#if ! which gperf >/dev/null 2>&1; then
-#	echo You must install gperf to continue.
-#	echo
-#	out=1
-#fi
-
 if ! which tar >/dev/null 2>&1; then
 	echo You must install GNU tar to continue.
 	echo

+ 19 - 0
scripts/tarpkg

@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+# create/install compressed tar balls
+
+if [ "$1" = "build" ];then
+	if [ ! -d $2 ];then
+		echo "not a directory"
+		exit 1
+	fi
+	pkgname=$(grep "^Package:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//")
+	version=$(grep "^Version:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//")
+	arch=$(grep "^Architecture:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//")
+	rm -rf $2/CONTROL 
+	(cd $2 && tar -czf $3/${pkgname}_${version}_${arch}.tar.gz .)
+elif [ "$1" = "install" ];then
+	tar -xzpf $2 -C ${INSTROOT}
+else
+	echo "unknown command"
+	exit 1
+fi

+ 15 - 2
target/Config.in

@@ -622,6 +622,13 @@ config ADK_TARGET_ROOT_EXT4
 
 endchoice
 
+config ADK_PACKAGE_SUFFIX
+	string
+	default "ipk" if ADK_TARGET_PACKAGE_IPKG
+	default "tar.gz" if ADK_TARGET_PACKAGE_TGZ
+	default "rpm" if ADK_TARGET_PACKAGE_RPM
+	help
+
 choice
 prompt "Package backend format"
 	default ADK_TARGET_PACKAGE_IPKG
@@ -631,13 +638,19 @@ config ADK_TARGET_PACKAGE_IPKG
 	prompt "ipkg package format"
 	select BUSYBOX_IPKG
 	help
-	  Use ipkg package format.
+	  Create ipkg packages.
 
 config ADK_TARGET_PACKAGE_TGZ
 	boolean
 	prompt "gzip compressed tar archive"
 	help
-	  Use simple compressed tar archive.
+	  Create simple compressed tar archives.
+
+config ADK_TARGET_PACKAGE_RPM
+	boolean
+	prompt "rpm package format"
+	help
+	  Create rpm binary packages.
 
 endchoice
 

+ 1 - 0
target/native/Makefile

@@ -2,6 +2,7 @@
 # material, please see the LICENCE file in the top-level directory.
 
 include $(TOPDIR)/rules.mk
+include $(TOPDIR)/mk/vars.mk
 include $(TOPDIR)/mk/kernel.mk
 include $(TOPDIR)/mk/modules.mk
 include $(TOPDIR)/mk/kernel-build.mk

+ 1 - 1
target/native/device.mk

@@ -1,4 +1,4 @@
-ARCH:=			$(shell uname -m|sed -e "s/i.*86/x86/")
+ARCH:=			$(shell uname -m|sed -e "s/i.*86/x86/" -e "s/_64//")
 CPU_ARCH:=		$(shell uname -m)
 KERNEL_VERSION:=	2.6.30.5
 KERNEL_RELEASE:=	1

+ 1 - 1
toolchain/gcc/patches/no-lib64.patch

@@ -6,7 +6,7 @@ diff -Nur gcc-4.4.1.orig/gcc/config/i386/linux64.h gcc-4.4.1/gcc/config/i386/lin
  
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
 -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
  
  #undef ASM_SPEC
  #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \

+ 30 - 0
toolchain/uClibc/patches/getline.patch

@@ -0,0 +1,30 @@
+diff -Nur uClibc-0.9.30.1.orig/extra/scripts/unifdef.c uClibc-0.9.30.1/extra/scripts/unifdef.c
+--- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c	2008-04-28 01:10:00.000000000 +0200
++++ uClibc-0.9.30.1/extra/scripts/unifdef.c	2009-10-10 12:37:04.230249774 +0200
+@@ -206,7 +206,7 @@
+ static void             error(const char *);
+ static int              findsym(const char *);
+ static void             flushline(bool);
+-static Linetype         getline(void);
++static Linetype         get_line(void);
+ static Linetype         ifeval(const char **);
+ static void             ignoreoff(void);
+ static void             ignoreon(void);
+@@ -512,7 +512,7 @@
+ 
+ 	for (;;) {
+ 		linenum++;
+-		lineval = getline();
++		lineval = get_line();
+ 		trans_table[ifstate[depth]][lineval]();
+ 		debug("process %s -> %s depth %d",
+ 		    linetype_name[lineval],
+@@ -526,7 +526,7 @@
+  * help from skipcomment().
+  */
+ static Linetype
+-getline(void)
++get_line(void)
+ {
+ 	const char *cp;
+ 	int cursym;