Browse Source

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

Waldemar Brodkorb 14 years ago
parent
commit
43c62785b4

+ 16 - 2
mk/build.mk

@@ -45,16 +45,20 @@ noconfig_targets:=	menuconfig \
 			distclean \
 			tags
 
-MAKECLEAN_SYMBOLS=	ADK_TARGET_LIB_UCLIBC \
+MAKECLEANDIR_SYMBOLS=	ADK_TARGET_LIB_UCLIBC \
 			ADK_TARGET_LIB_GLIBC \
 			ADK_TARGET_LIB_ECLIBC \
 			ADK_DEBUG
 
+MAKECLEAN_SYMBOLS=	ADK_TARGET_PACKAGE_IPKG \
+			ADK_TARGET_PACKAGE_RPM \
+			ADK_TARGET_PACKAGE_TGZ
+
 POSTCONFIG=		-@ \
 	if [ -f .config.old ];then \
 	if [ -d .cfg ];then \
 	what=cleantarget; \
-	for symbol in ${MAKECLEAN_SYMBOLS}; do \
+	for symbol in ${MAKECLEANDIR_SYMBOLS}; do \
 		newval=$$(grep -e "^$$symbol=" -e "^\# $$symbol " .config); \
 		oldval=$$(cat .cfg/"$$symbol" 2>&-); \
 		[[ $$newval = $$oldval ]] && continue; \
@@ -63,6 +67,16 @@ POSTCONFIG=		-@ \
 		    "$$what' might be required!"; \
 		break; \
 	done; \
+	what=clean; \
+	for symbol in ${MAKECLEAN_SYMBOLS}; do \
+		newval=$$(grep -e "^$$symbol=" -e "^\# $$symbol " .config); \
+		oldval=$$(cat .cfg/"$$symbol" 2>&-); \
+		[[ $$newval = $$oldval ]] && continue; \
+		echo; \
+		echo >&2 "WARNING: Package backend related options have changed, 'make" \
+		    "$$what' might be required!"; \
+		break; \
+	done; \
 	fi; \
 	if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
 		if [ -f build_*/w-busybox*/busybox*/.configure_done ];then \

+ 1 - 1
mk/vars.mk

@@ -84,7 +84,7 @@ PKG_INSTALL:=		IPKG_TMP=$(BUILD_DIR)/tmp \
 PKG_STATE_DIR:=		$(TARGET_DIR)/usr/lib/ipkg
 else
 PKG_BUILD:=		${BASH} ${SCRIPT_DIR}/tarpkg build
-PKG_INSTALL:=		INSTROOT=$(TARGET_DIR) \
+PKG_INSTALL:=		PKG_INSTROOT=$(TARGET_DIR) \
 			${BASH} ${SCRIPT_DIR}/tarpkg install
 PKG_STATE_DIR:=		$(TARGET_DIR)/usr/lib/pkg
 endif

+ 46 - 3
package/Config.in

@@ -410,7 +410,9 @@ source "package/gtk+/Config.in"
 source "package/id3lib/Config.in"
 source "package/libao/Config.in"
 source "package/libaudiofile/Config.in"
+source "package/libaudiofile/Config.in.lib"
 source "package/libart/Config.in"
+source "package/libart/Config.in.lib"
 source "package/linux-atm/Config.in.lib"
 source "package/libcli/Config.in"
 source "package/libdaemon/Config.in"
@@ -427,8 +429,11 @@ source "package/faad2/Config.in.lib"
 source "package/flac/Config.in"
 source "package/flac/Config.in.lib"
 source "package/freetype/Config.in"
+source "package/freetype/Config.in.lib"
 source "package/libgcrypt/Config.in"
+source "package/libgcrypt/Config.in.lib"
 source "package/libgd/Config.in"
+source "package/libgd/Config.in.lib"
 source "package/gdbm/Config.in"
 source "package/gdbm/Config.in.lib"
 source "package/libgssglue/Config.in"
@@ -440,27 +445,36 @@ source "package/libgpg-error/Config.in"
 source "package/gsm/Config.in"
 source "package/gsm/Config.in.lib"
 source "package/libiconv/Config.in"
+source "package/libiconv/Config.in.lib"
 source "package/libid3tag/Config.in"
+source "package/libid3tag/Config.in.lib"
 source "package/jpeg/Config.in"
 source "package/jpeg/Config.in.lib"
 source "package/lame/Config.in.lib"
 source "package/mpfr/Config.in"
 source "package/nspr/Config.in"
 source "package/nss/Config.in"
-source "package/libtool/Config.in"  # libltdl
+source "package/libtool/Config.in" 
 source "package/openldap/Config.in.lib"
 source "package/liblzo/Config.in"
+source "package/liblzo/Config.in.lib"
 source "package/libmad/Config.in"
+source "package/libmad/Config.in.lib"
 source "package/libmms/Config.in"
-source "package/ncurses/Config.in"  # libncurses
+source "package/libmms/Config.in.lib"
+source "package/ncurses/Config.in"  
+source "package/ncurses/Config.in.lib" 
 source "package/neon/Config.in"
 source "package/libnet/Config.in"
+source "package/libnet/Config.in.lib"
 source "package/libnfsidmap/Config.in"
 source "package/libnids/Config.in"
 source "package/libnl/Config.in"
 source "package/libogg/Config.in"
+source "package/libogg/Config.in.lib"
 source "package/libol/Config.in"
-source "package/opencdk/Config.in"  # libopencdk
+source "package/libol/Config.in.lib"
+source "package/opencdk/Config.in"  
 source "package/obexftp/Config.in.lib"
 source "package/openobex/Config.in"
 source "package/libosip2/Config.in"
@@ -471,13 +485,18 @@ source "package/libpri/Config.in"
 source "package/pango/Config.in"
 source "package/pcre/Config.in"
 source "package/libpng/Config.in"
+source "package/libpng/Config.in.lib"
 source "package/popt/Config.in"
+source "package/popt/Config.in.lib"
 source "package/postgresql/Config.in"
+source "package/postgresql/Config.in.lib"
 source "package/libpthread/Config.in"
+source "package/libpthread/Config.in.lib"
 source "package/libthread_db/Config.in"
 source "package/readline/Config.in"
 source "package/cyrus-sasl/Config.in.lib"
 source "package/speex/Config.in"
+source "package/openssl/Config.in.lib"
 source "package/sqlite/Config.in.lib"
 source "package/librpcsecgss/Config.in"
 source "package/libshout/Config.in"
@@ -490,13 +509,20 @@ source "package/libtirpc/Config.in"
 source "package/libtorrent/Config.in"
 source "package/libupnp/Config.in"
 source "package/libusb/Config.in"
+source "package/libusb/Config.in.lib"
 source "package/libusb-compat/Config.in"
+source "package/libusb-compat/Config.in.lib"
 source "package/libvirt/Config.in"
+source "package/libvirt/Config.in.lib"
 source "package/libvorbis/Config.in"
+source "package/libvorbis/Config.in.lib"
 source "package/libvorbisidec/Config.in"
+source "package/libvorbisidec/Config.in.lib"
 source "package/tcp_wrappers/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxml2/Config.in.lib"
 source "package/libxslt/Config.in"
+source "package/libxslt/Config.in.lib"
 source "package/lua/Config.in.lib"
 source "package/uclibc++/Config.in.manual"
 source "package/ustl/Config.in"
@@ -510,22 +536,39 @@ source "package/xf86-video-geode/Config.in"
 
 menu "X Libraries"
 source "package/libICE/Config.in"
+source "package/libICE/Config.in.lib"
 source "package/libSM/Config.in"
+source "package/libSM/Config.in.lib"
 source "package/libX11/Config.in"
+source "package/libX11/Config.in.lib"
 source "package/libXv/Config.in"
+source "package/libXv/Config.in.lib"
 source "package/libXdmcp/Config.in"
+source "package/libXdmcp/Config.in.lib"
 source "package/libXext/Config.in"
+source "package/libXext/Config.in.lib"
 source "package/libXfont/Config.in"
+source "package/libXfont/Config.in.lib"
 source "package/libfontenc/Config.in"
+source "package/libfontenc/Config.in.lib"
 source "package/libpciaccess/Config.in"
+source "package/libpciaccess/Config.in.lib"
 source "package/libxkbfile/Config.in"
+source "package/libxkbfile/Config.in.lib"
 source "package/libXau/Config.in"
+source "package/libXau/Config.in.lib"
 source "package/libXaw/Config.in"
+source "package/libXaw/Config.in.lib"
 source "package/libXmu/Config.in"
+source "package/libXmu/Config.in.lib"
 source "package/libXpm/Config.in"
+source "package/libXpm/Config.in.lib"
 source "package/libXrender/Config.in"
+source "package/libXrender/Config.in.lib"
 source "package/libXt/Config.in"
+source "package/libXt/Config.in.lib"
 source "package/libXxf86dga/Config.in"
+source "package/libXxf86dga/Config.in.lib"
 source "package/pixman/Config.in"
 #source "package/xf86dga/Config.in"
 source "package/xkbcomp/Config.in"

+ 1 - 0
package/busybox/config/archival/Config.in

@@ -188,6 +188,7 @@ config BUSYBOX_IPKG
 	default n
 	select BUSYBOX_MD5SUM
 	select BUSYBOX_WGET
+	depends on ADK_TARGET_PACKAGE_IPKG
 	help
 	  ipkg is the itsy package management system.
 

+ 2 - 1
package/grub-bin/Makefile

@@ -13,7 +13,8 @@ PKG_DESCR:=		GRUB bootloader
 PKG_SECTION:=		sys
 PKG_SITES:=		http://openadk.org/distfiles/
 
-PKG_TARGET_DEPENDS:=	shuttle wrap alix1c alix2d x86_qemu x86_64_qemu
+PKG_TARGET_DEPENDS:=	x86 x86_64
+CFLINE_GRUB_BIN:=	select BUSYBOX_FEATURE_STAT_FORMAT
 
 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:=    shuttle wrap alix1c alix2d x86_qemu x86_64_qemu
+PKG_TARGET_DEPENDS:=    x86 x86_64
 
 include $(TOPDIR)/mk/package.mk
 

+ 8 - 5
package/heimdal/Makefile

@@ -79,19 +79,22 @@ CONFIGURE_ENV+=		ac_cv_func_getaddrinfo_numserv=yes
 BUILD_STYLE:=		auto
 INSTALL_STYLE:=		auto
 
+ifeq ($(ADK_HOST_CYGWIN),y)
+EXEEXT:=		.exe
+endif
+
 pre-configure:
 	(cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
-		CFLAGS="-static" \
 		./configure ${CONFIGURE_OPTS} \
 	);
 	${MAKE} -C ${WRKBUILD}/lib/roken
 	${MAKE} -C ${WRKBUILD}/lib/vers
 	${MAKE} -C ${WRKBUILD}/lib/editline
-	${MAKE} -C ${WRKBUILD}/lib/asn1 asn1_compile
-	${MAKE} -C ${WRKBUILD}/lib/sl slc
-	${INSTALL_BIN} ${WRKBUILD}/lib/asn1/asn1_compile \
+	${MAKE} -C ${WRKBUILD}/lib/asn1 asn1_compile$(EXEEXT)
+	${MAKE} -C ${WRKBUILD}/lib/sl slc$(EXEEXT)
+	${INSTALL_BIN} ${WRKBUILD}/lib/asn1/asn1_compile$(EXEEXT) \
 		${STAGING_TOOLS}/bin
-	${INSTALL_BIN} ${WRKBUILD}/lib/sl/slc \
+	${INSTALL_BIN} ${WRKBUILD}/lib/sl/slc$(EXEEXT) \
 		${STAGING_TOOLS}/bin
 	${MAKE} -C ${WRKBUILD} clean
 

+ 50 - 4
package/heimdal/patches/patch-lib_roken_Makefile_in

@@ -1,7 +1,53 @@
 $Id: update-patches 24 2008-08-31 14:56:13Z wbx $
 --- heimdal-1.2.1.orig/lib/roken/Makefile.in	2008-07-28 14:05:33.000000000 +0200
-+++ heimdal-1.2.1/lib/roken/Makefile.in	2009-01-02 22:22:25.000000000 +0100
-@@ -665,9 +665,6 @@ getaddrinfo-test$(EXEEXT): $(getaddrinfo
++++ heimdal-1.2.1/lib/roken/Makefile.in	2009-12-20 21:40:29.312500000 +0100
+@@ -58,13 +58,12 @@ DIST_COMMON = $(am__dist_include_HEADERS
+ 	strptime.c strsep.c strsep_copy.c strtok_r.c strupr.c swab.c \
+ 	timegm.c unsetenv.c verr.c verrx.c vsyslog.c vwarn.c vwarnx.c \
+ 	warn.c warnx.c writev.c
+-noinst_PROGRAMS = make-roken$(EXEEXT) snprintf-test$(EXEEXT) \
++noinst_PROGRAMS = make-roken$(EXEEXT) \
+ 	resolve-test$(EXEEXT) rkpty$(EXEEXT)
+ check_PROGRAMS = base64-test$(EXEEXT) getaddrinfo-test$(EXEEXT) \
+ 	hex-test$(EXEEXT) test-readenv$(EXEEXT) \
+ 	parse_bytes-test$(EXEEXT) parse_reply-test$(EXEEXT) \
+-	parse_time-test$(EXEEXT) snprintf-test$(EXEEXT) \
+-	strpftime-test$(EXEEXT)
++	parse_time-test$(EXEEXT) 
+ @have_socket_wrapper_TRUE@am__append_1 = socket_wrapper.c socket_wrapper.h
+ @have_socket_wrapper_TRUE@am__append_2 = socket_wrapper.h
+ subdir = lib/roken
+@@ -170,13 +169,6 @@ libroken_la_OBJECTS = $(am_libroken_la_O
+ libroken_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(libroken_la_LDFLAGS) $(LDFLAGS) -o $@
+-libtest_la_LIBADD =
+-am_libtest_la_OBJECTS = libtest_la-strftime.lo libtest_la-strptime.lo \
+-	libtest_la-snprintf.lo
+-libtest_la_OBJECTS = $(am_libtest_la_OBJECTS)
+-libtest_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libtest_la_CFLAGS) \
+-	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ PROGRAMS = $(noinst_PROGRAMS)
+ base64_test_SOURCES = base64-test.c
+ base64_test_OBJECTS = base64-test.$(OBJEXT)
+@@ -504,12 +496,12 @@ lib_LTLIBRARIES = libroken.la
+ libroken_la_LDFLAGS = -version-info 19:0:1
+ libroken_la_CPPFLAGS = -DBUILD_ROKEN_LIB
+ nodist_make_roken_SOURCES = make-roken.c
+-TESTS = $(check_PROGRAMS)
++TESTS = 
+ LDADD = libroken.la $(LIB_crypt)
+ make_roken_LDADD = 
+-noinst_LTLIBRARIES = libtest.la
++noinst_LTLIBRARIES = 
+ libtest_la_SOURCES = strftime.c strptime.c snprintf.c
+-libtest_la_CFLAGS = -DTEST_SNPRINTF -DTEST_STRPFTIME
++libtest_la_CFLAGS = 
+ parse_reply_test_SOURCES = parse_reply-test.c resolve.c
+ parse_reply_test_CFLAGS = -DTEST_RESOLVE
+ test_readenv_SOURCES = test-readenv.c test-mem.c
+@@ -665,9 +657,6 @@ getaddrinfo-test$(EXEEXT): $(getaddrinfo
  hex-test$(EXEEXT): $(hex_test_OBJECTS) $(hex_test_DEPENDENCIES) 
  	@rm -f hex-test$(EXEEXT)
  	$(LINK) $(hex_test_OBJECTS) $(hex_test_LDADD) $(LIBS)
@@ -11,12 +57,12 @@ $Id: update-patches 24 2008-08-31 14:56:13Z wbx $
  parse_bytes-test$(EXEEXT): $(parse_bytes_test_OBJECTS) $(parse_bytes_test_DEPENDENCIES) 
  	@rm -f parse_bytes-test$(EXEEXT)
  	$(LINK) $(parse_bytes_test_OBJECTS) $(parse_bytes_test_LDADD) $(LIBS)
-@@ -1818,6 +1815,10 @@ roken.h: make-roken$(EXEEXT)
+@@ -1818,6 +1807,10 @@ roken.h: make-roken$(EXEEXT)
  
  make-roken.c: roken.h.in roken.awk
  	$(AWK) -f $(srcdir)/roken.awk $(srcdir)/roken.h.in > make-roken.c
 +
-+make-roken: make-roken.c
++make-roken$(EXEEXT): make-roken.c
 +	$(HOSTCC) $(HOSTCFLAGS) -I$(top_builddir)/include -DHAVE_CONFIG_H \
 +		-o $@ $<
  # Tell versions [3.59,3.63) of GNU make to not export all variables.

+ 2 - 2
package/heimdal/patches/patch-lib_vers_Makefile_in

@@ -1,6 +1,6 @@
 $Id: update-patches 24 2008-08-31 14:56:13Z wbx $
 --- heimdal-1.2.1.orig/lib/vers/Makefile.in	2008-07-28 14:05:34.000000000 +0200
-+++ heimdal-1.2.1/lib/vers/Makefile.in	2009-01-02 22:22:25.000000000 +0100
++++ heimdal-1.2.1/lib/vers/Makefile.in	2009-12-20 21:43:13.359375000 +0100
 @@ -403,9 +403,6 @@ clean-noinstPROGRAMS:
  	  echo " rm -f $$p $$f"; \
  	  rm -f $$p $$f ; \
@@ -16,7 +16,7 @@ $Id: update-patches 24 2008-08-31 14:56:13Z wbx $
  	./make-print-version$(EXEEXT) print_version.h
  
 -make-print-version.o: $(top_builddir)/include/version.h
-+make-print-version: $(top_builddir)/include/version.h
++make-print-version$(EXEEXT): $(top_builddir)/include/version.h
 +	$(HOSTCC) $(HOSTCFLAGS) -DKRB5 -I$(top_builddir)/include -o $@ \
 +		$(make_print_version_SOURCES)
  # Tell versions [3.59,3.63) of GNU make to not export all variables.

+ 6 - 3
package/mpd/Makefile

@@ -6,11 +6,14 @@ include ${TOPDIR}/rules.mk
 PKG_NAME:=		mpd
 PKG_VERSION:=		0.15.6
 PKG_RELEASE:=		1
-PKG_BUILDDEP+=		alsa-lib glib
 PKG_MD5SUM:=		c78b8933e4902c5dc407d59925f8b10e
 PKG_DESCR:=		A music player daemon
 PKG_SECTION:=		net
 PKG_DEPENDS:=		glib
+PKG_BUILDDEP+=		glib
+ifneq ($(ADK_PACKAGE_MPD_WITH_ALSA),)
+PKG_BUILDDEP+=		alsa-lib
+endif
 ifneq ($(ADK_PACKAGE_MPD_WITH_MP3),)
 PKG_BUILDDEP+=		libid3tag libmad
 endif
@@ -30,7 +33,7 @@ ifneq ($(ADK_PACKAGE_MPD_WITH_WAV),)
 PKG_BUILDDEP+=		libaudiofile
 endif
 ifneq ($(ADK_PACKAGE_MPD_WITH_SHOUT),)
-PKG_BUILDDEP+=		lame
+PKG_BUILDDEP+=		lame libvorbis
 endif
 ifneq ($(ADK_PACKAGE_MPD_WITH_CURL),)
 PKG_BUILDDEP+=		curl
@@ -88,7 +91,7 @@ PKG_DEPENDS+=		libaudiofile
 endif
 
 ifneq (${ADK_PACKAGE_MPD_WITH_SHOUT},)
-PKG_DEPENDS+=		libshout liblame
+PKG_DEPENDS+=		libshout liblame libvorbisenc
 endif
 
 ifneq (${ADK_PACKAGE_MPD_WITH_CURL},)

+ 3 - 3
package/mplayer/Makefile

@@ -9,8 +9,9 @@ PKG_RELEASE:=		1
 PKG_MD5SUM:=		416fa6a247987305d74572d03dc6dde7
 PKG_DESCR:=		popular video player
 PKG_SECTION:=		video
-PKG_DEPENDS:=		zlib libncurses libmad alsa-lib libvorbis libogg libfaad2 libpthread libpng libjpeg libx11 libxv
-PKG_BUILDDEP+=		alsa-lib libmad libvorbis faad2 ncurses zlib libX11 libXv libpng
+PKG_DEPENDS:=		alsa-lib libjpeg libfaad2 libmad libncurses libogg libpng libpthread libvorbis
+PKG_DEPENDS+=		libx11 libxext libxv zlib 
+PKG_BUILDDEP+=		alsa-lib libmad libvorbis faad2 ncurses zlib libX11 libXv libpng libXext
 PKG_URL:=		http://www.mplayerhq.hu
 PKG_SITES:=		http://openadk.org/distfiles/
 
@@ -99,7 +100,6 @@ pre-configure:
 		${CONFIGURE_DEBUG} \
 	);
 	
-
 post-install:
 	${INSTALL_DIR} ${IDIR_MPLAYER}/usr/bin
 	${CP} ${WRKINST}/usr/bin/mplayer ${IDIR_MPLAYER}/usr/bin

+ 2 - 0
package/mysql/Makefile

@@ -14,6 +14,8 @@ PKG_BUILDDEP+=		ncurses zlib readline
 PKG_URL:=		http://www.mysql.com
 PKG_SITES=		${MASTER_SITE_MYSQL:=Downloads/MySQL-5.1/}
 
+PKG_HOST_DEPENDS:=	!cygwin
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,LIBMYSQLCLIENT,libmysqlclient,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 4 - 4
package/ncurses/Makefile

@@ -9,7 +9,7 @@ PKG_RELEASE:=		1
 PKG_MD5SUM:=		cce05daf61a64501ef6cd8da1f727ec6
 PKG_DESCR:=		a terminal handling library and common terminal definitions
 PKG_SECTION:=		libs
-PKG_URL:=		http://www.gnu.org/software/ncurses
+PKG_URL:=		http://www.gnu.org/software/ncurses/
 PKG_SITES:=		${MASTER_SITE_GNU:=ncurses/}
 
 include ${TOPDIR}/mk/package.mk
@@ -17,7 +17,7 @@ include ${TOPDIR}/mk/package.mk
 $(eval $(call PKG_template,LIBNCURSES,libncurses,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,LIBNCURSES_DEV,libncurses-dev,${PKG_VERSION}-${PKG_RELEASE},libncurses,${PKG_DESCR},${PKG_SECTION}))
 
-CONFIGURE_STYLE=	gnu
+CONFIGURE_STYLE:=	gnu
 CONFIGURE_ENV+=		ac_cv_linux_vers=2
 CONFIGURE_ARGS+=	--without-cxx \
 			--without-cxx-binding \
@@ -38,8 +38,8 @@ CONFIGURE_ARGS+=	--without-cxx \
 			--without-rcs-ids \
 			--enable-const \
 			--enable-echo
-BUILD_STYLE=		auto
-INSTALL_STYLE=		auto
+BUILD_STYLE:=		auto
+INSTALL_STYLE:=		auto
 ALL_TARGET:=		libs
 INSTALL_TARGET:=	install.libs install.data
 

+ 1 - 1
package/pkgmaker

@@ -139,7 +139,7 @@ for dn in */Makefile; do
 			sp=' '
 		fi
 		for x in $PKG_TARGET_DEPENDS; do
-			x=${x#!}
+			typeset -l x=${x#!}
 			#XXX cache this with mksh R40+
 			found=0
 			while read friendlyname sym; do

+ 17 - 1
scripts/tarpkg

@@ -1,5 +1,6 @@
 #!/usr/bin/env bash
 # create/install compressed tar balls
+#set -x
 
 if [ "$1" = "build" ];then
 	if [ ! -d $2 ];then
@@ -9,10 +10,25 @@ if [ "$1" = "build" ];then
 	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:]]*//")
+	mkdir -p ${2}/usr/lib/pkg
+	for file in preinst postinst prerm postrm; do
+	  [ ! -f $2/CONTROL/$file ] || ( cp $2/CONTROL/$file \
+		${2}/usr/lib/pkg/${pkgname}.$file && \
+		chmod +x ${2}/usr/lib/pkg/${pkgname}.$file )
+	done
 	rm -rf $2/CONTROL 
 	(cd $2 && tar -czf $3/${pkgname}_${version}_${arch}.tar.gz .)
 elif [ "$1" = "install" ];then
-	tar -xzpf $2 -C ${INSTROOT}
+	pkg=$(echo $(basename $2)|sed -e "s#_.*##")
+	if [ -x ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst ]; then
+   	  IPKG_INSTROOT="$PKG_INSTROOT" ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst
+	  rm ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst
+	fi
+	tar -xzpf $2 -C ${PKG_INSTROOT}
+	if [ -x ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst ]; then
+   	  IPKG_INSTROOT="$PKG_INSTROOT" ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst
+	  rm ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst
+	fi
 else
 	echo "unknown command"
 	exit 1

+ 10 - 5
target/Config.in

@@ -769,26 +769,31 @@ config ADK_PACKAGE_SUFFIX
 
 choice
 prompt "Package backend format"
-	default ADK_TARGET_PACKAGE_IPKG
+	default ADK_TARGET_PACKAGE_TGZ
 
 config ADK_TARGET_PACKAGE_IPKG
 	boolean
 	prompt "ipkg package format"
 	select BUSYBOX_IPKG
 	help
-	  Create ipkg packages.
+	  Create ipkg packages and use ipkg package management on
+          the target.
 
 config ADK_TARGET_PACKAGE_TGZ
 	boolean
-	prompt "gzip compressed tar archive"
+	prompt "tar archive (no package manager)"
 	help
-	  Create compressed tar archives.
+	  Create compressed tar archives of packages.
+	  Pre- and post install scripts will be executed in the target
+	  directory. There will be no package manager installed onto the target.
+	  
 
 config ADK_TARGET_PACKAGE_RPM
 	boolean
 	prompt "rpm package format"
 	help
-	  Create rpm packages.
+	  Create rpm packages and use rpm package management on the
+          target.
 
 endchoice