summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS2
-rw-r--r--classes/e.bbclass7
-rw-r--r--classes/efl.bbclass3
-rw-r--r--classes/sdk.bbclass10
-rw-r--r--conf/checksums.ini22
-rw-r--r--conf/distro/angstrom-2007.1.conf11
-rwxr-xr-xcontrib/mtn2cl/mtn2cl.sh30
-rw-r--r--packages/angstrom/angstrom-gpe-task-apps.bb22
-rw-r--r--packages/angstrom/angstrom-gpe-task-base.bb38
-rw-r--r--packages/angstrom/angstrom-gpe-task-game.bb12
-rw-r--r--packages/angstrom/angstrom-gpe-task-pim.bb12
-rw-r--r--packages/angstrom/angstrom-gpe-task-settings.bb15
-rw-r--r--packages/angstrom/angstrom-ohand-task-pim.bb10
-rw-r--r--packages/angstrom/angstrom-task-office.bb11
-rw-r--r--packages/angstrom/angstrom-task-printing.bb8
-rw-r--r--packages/angstrom/angstrom-task-sectest.bb17
-rw-r--r--packages/angstrom/angstrom-x11-base-depends.bb11
-rw-r--r--packages/angstrom/task-angstrom-x11.bb132
-rw-r--r--packages/anthy/anthy_7811.bb15
-rw-r--r--packages/busybox/busybox-1.6.0/.mtn2git_empty (renamed from packages/icewm/icewm-1.2.26/.mtn2git_empty)0
-rw-r--r--packages/busybox/busybox-1.6.0/angstrom/.mtn2git_empty0
-rw-r--r--packages/busybox/busybox-1.6.0/angstrom/defconfig647
-rwxr-xr-xpackages/busybox/busybox-1.6.0/busybox-mdev.sh69
-rw-r--r--packages/busybox/busybox-1.6.0/defconfig647
-rw-r--r--packages/busybox/busybox-1.6.0/df_rootfs.patch44
-rw-r--r--packages/busybox/busybox-1.6.0/dhcp-hostname.patch20
-rw-r--r--packages/busybox/busybox-1.6.0/dhcp-increase-retries.patch11
-rw-r--r--packages/busybox/busybox-1.6.0/ifupdown-spurious-environ.patch16
-rw-r--r--packages/busybox/busybox-1.6.0/udhcpscript.patch17
-rw-r--r--packages/busybox/busybox-1.6.0/xargs-double-size.patch13
-rw-r--r--packages/busybox/busybox-static-1.2.1/.mtn2git_empty0
-rw-r--r--packages/busybox/busybox-static-1.2.1/add-getkey-applet.patch167
-rw-r--r--packages/busybox/busybox-static-1.2.1/angstrom-busybox-syslogd-conf.patch19
-rw-r--r--packages/busybox/busybox-static-1.2.1/below.patch46
-rwxr-xr-xpackages/busybox/busybox-static-1.2.1/busybox-mdev.sh69
-rw-r--r--packages/busybox/busybox-static-1.2.1/defconfig647
-rw-r--r--packages/busybox/busybox-static-1.2.1/df_rootfs.patch34
-rw-r--r--packages/busybox/busybox-static-1.2.1/dhcp-hostname.patch30
-rw-r--r--packages/busybox/busybox-static-1.2.1/dhcpretrytime.patch85
-rw-r--r--packages/busybox/busybox-static-1.2.1/fbset.patch24
-rw-r--r--packages/busybox/busybox-static-1.2.1/hdparm_M.patch47
-rw-r--r--packages/busybox/busybox-static-1.2.1/ifupdown-spurious-environ.patch12
-rw-r--r--packages/busybox/busybox-static-1.2.1/iproute-flush-cache.patch23
-rw-r--r--packages/busybox/busybox-static-1.2.1/mount-all-type.patch84
-rw-r--r--packages/busybox/busybox-static-1.2.1/readlink.patch85
-rw-r--r--packages/busybox/busybox-static-1.2.1/rmmod.patch40
-rw-r--r--packages/busybox/busybox-static-1.2.1/syslog.conf9
-rw-r--r--packages/busybox/busybox-static-1.2.1/udhcppidfile-breakage.patch57
-rw-r--r--packages/busybox/busybox-static-1.2.1/udhcppidfile.patch274
-rw-r--r--packages/busybox/busybox-static-1.2.1/udhcpscript.patch17
-rw-r--r--packages/busybox/busybox-static-1.2.1/wget-long-options.patch20
-rw-r--r--packages/busybox/busybox-static-1.2.1/xargs-double-size.patch13
-rw-r--r--packages/busybox/busybox_1.6.0.bb104
-rw-r--r--packages/classpath/classpath-minimal-native_0.93.bb3
-rw-r--r--packages/classpath/classpath.inc1
-rw-r--r--packages/e17/expedite_cvs.bb16
-rw-r--r--packages/gaim/pidgin.inc5
-rw-r--r--packages/gaim/pidgin_2.0.1.bb2
-rw-r--r--packages/gcc/gcc-cross-initial_3.3.3.bb1
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.2.bb30
-rw-r--r--packages/gcc/gcc-package-cross.inc1
-rw-r--r--packages/glibc/glibc-intermediate_2.4.bb1
-rw-r--r--packages/glibc/glibc-intermediate_2.5.bb1
-rw-r--r--packages/glibc/glibc-intermediate_2.6.bb1
-rw-r--r--packages/glibc/glibc-intermediate_cvs.bb1
-rw-r--r--packages/gnome/gnome-doc-utils_0.10.3.bb2
-rw-r--r--packages/gnome/gnome-doc-utils_0.7.1.bb2
-rw-r--r--packages/gpe-announce/files/.mtn2git_empty0
-rw-r--r--packages/gpe-announce/files/fix-esound.diff24
-rw-r--r--packages/gpe-announce/gpe-announce_0.13.bb2
-rw-r--r--packages/gpe-todo/gpe-todo_svn.bb2
-rw-r--r--packages/gspcav1/gspcav1_20070110.bb4
-rw-r--r--packages/gspcav1/gspcav1_20070508.bb4
-rw-r--r--packages/gtk+/gtk+_2.10.12.bb2
-rw-r--r--packages/gtk+/gtk-2.10.inc8
-rw-r--r--packages/gtkmm/gtkmm_2.4.8.bb15
-rw-r--r--packages/gtkterm/.mtn2git_empty0
-rw-r--r--packages/gtkterm/gtkterm2_0.2.3.bb10
-rw-r--r--packages/icewm/icewm-1.2.30/.mtn2git_empty0
-rw-r--r--packages/icewm/icewm-1.2.30/configure.patch (renamed from packages/icewm/icewm-1.2.26/configure.patch)0
-rw-r--r--packages/icewm/icewm-1.2.30/makefile.patch (renamed from packages/icewm/icewm-1.2.26/makefile.patch)0
-rw-r--r--packages/icewm/icewm_1.2.30.bb (renamed from packages/icewm/icewm_1.2.26.bb)2
-rw-r--r--packages/intltool/intltool-native_0.35.5.bb9
-rw-r--r--packages/intltool/intltool.inc3
-rw-r--r--packages/intltool/intltool_0.35.5.bb10
-rw-r--r--packages/jamvm/jamvm_1.4.5.bb (renamed from packages/jamvm/jamvm_1.4.2.bb)0
-rw-r--r--packages/konqueror/konqueror-embedded-20070212/dont-use-kde-config.patch43
-rw-r--r--packages/konqueror/konqueror-embedded_20030705.bb2
-rw-r--r--packages/konqueror/konqueror-embedded_20060404.bb2
-rw-r--r--packages/konqueror/konqueror-embedded_20070212.bb3
-rw-r--r--packages/libgpevtype/libgpevtype_0.50.bb4
-rw-r--r--packages/libxosd/files/use-sane-default-font.patch13
-rw-r--r--packages/libxosd/libxosd_svn.bb5
-rw-r--r--packages/linux/linux-2.6.20/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.20/at91sam9263ek/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.20/at91sam9263ek/defconfig1393
-rw-r--r--packages/linux/linux-rp-2.6.20/defconfig-akita48
-rw-r--r--packages/linux/linux-rp-2.6.20/defconfig-spitz47
-rw-r--r--packages/linux/linux-rp_2.6.20.bb2
-rw-r--r--packages/linux/linux.inc72
-rw-r--r--packages/linux/linux_2.6.20.bb43
-rw-r--r--packages/linux/linux_2.6.21+2.6.22-rc1.bb50
-rw-r--r--packages/linux/linux_2.6.21.bb45
-rw-r--r--packages/maemo/hildon-fm_0.9.1-2.bb2
-rw-r--r--packages/matchbox2/matchbox-desktop-2_svn.bb27
-rw-r--r--packages/matchbox2/matchbox-panel-2_svn.bb4
-rw-r--r--packages/meta/meta-sdk.bb2
-rw-r--r--packages/mozilla/minimo_cvs.bb2
-rw-r--r--packages/ntpclient/ntpclient_2003_194.bb2
-rw-r--r--packages/openmoko-base/openmoko-libs_svn.bb2
-rw-r--r--packages/opensync/libopensync_svn.bb2
-rw-r--r--packages/qemu/qemu-qop-nogfx-native_svn.bb1
-rw-r--r--packages/qemu/qemu_cvs.bb5
-rw-r--r--packages/qt/qt-x11-free-common.inc4
-rw-r--r--packages/schroedinger/schroedinger_0.2.0.0.bb2
-rw-r--r--packages/subversion/subversion_1.3.1.bb2
-rw-r--r--packages/subversion/subversion_1.4.0.bb2
-rw-r--r--packages/subversion/subversion_1.4.3.bb2
-rw-r--r--packages/tasks/task-gpe.bb7
-rw-r--r--packages/tasks/task-sdk-base.bb4
-rw-r--r--packages/tomoe/libtomoe-gtk_0.1.0.bb2
-rw-r--r--packages/tomoe/tomoe_0.2.1.bb2
-rw-r--r--packages/tomoe/uim-tomoe-gtk_0.2.0.bb2
-rw-r--r--packages/udev/udev.inc20
-rw-r--r--packages/uim/uim-native_1.3.1.bb3
-rw-r--r--packages/uim/uim.inc2
-rw-r--r--packages/uim/uim_1.3.1.bb2
-rw-r--r--packages/vte/vte_0.11.15.bb8
-rw-r--r--packages/wrt/wrt-imagetools-native.bb5
-rw-r--r--packages/xkbd/xkbd-layout-ru_0.1.1.bb21
-rw-r--r--packages/xorg-xserver/xserver-kdrive-imageon_X11R7.1-1.1.0.bb2
-rw-r--r--packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch1706
-rw-r--r--packages/xtscal/xtscal.inc3
-rw-r--r--packages/xtscal/xtscal_0.6.3.bb2
-rw-r--r--removal.txt7
135 files changed, 6393 insertions, 1178 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 9b6e0b8059..1d56493342 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -188,7 +188,7 @@ Distros: Ångström
Machines: collie, spitz
Recipes: anthy, nunome, uim*, granule, qpobox*, qte-font-unifont*
Recipes: qpf-unismall, qpobox, poboxserver, imkit*, scim, zten
-Recipes: eb, eblook
+Recipes: eb, eblook, tomoe
Person: Shane Volpe
Mail: shanevolpe@gmail.com
diff --git a/classes/e.bbclass b/classes/e.bbclass
index 59f2771027..9bac65fd9c 100644
--- a/classes/e.bbclass
+++ b/classes/e.bbclass
@@ -27,7 +27,8 @@ export IMLIB2_CONFIG = "${STAGING_BINDIR_CROSS}/imlib2-config"
# find ${S} -name Makefile | xargs sed -i 's:/usr/X11R6/include:${STAGING_INCDIR}:'
#}
-PACKAGES = "${PN}-dbg ${PN} ${PN}-themes ${PN}-dev"
-FILES_${PN} = "${libdir}/lib*.so*"
+PACKAGES = "${PN}-dbg ${PN}-themes ${PN} ${PN}-dev"
+FILES_${PN} += "${libdir}/lib*.so.*"
FILES_${PN}-themes = "${datadir}/${PN}/themes ${datadir}/${PN}/data ${datadir}/${PN}/fonts ${datadir}/${PN}/pointers ${datadir}/${PN}/images ${datadir}/${PN}/users ${datadir}/${PN}/images ${datadir}/${PN}/styles"
-FILES_${PN}-dev += "${includedir}" \ No newline at end of file
+FILES_${PN}-dev += "${includedir} ${libdir}/lib*.so"
+
diff --git a/classes/efl.bbclass b/classes/efl.bbclass
index 9b0345a5b8..808bf2eaae 100644
--- a/classes/efl.bbclass
+++ b/classes/efl.bbclass
@@ -48,6 +48,5 @@ do_stage_append () {
}
PACKAGES = "${PN}-dbg ${PN} ${PN}-themes ${PN}-dev ${PN}-examples"
-FILES_${PN}-dev = "${bindir}/${PN}-config ${libdir}/pkgconfig ${libdir}/lib*.?a ${libdir}/lib*.a ${includedir}"
+FILES_${PN}-dev += "${bindir}/${PN}-config ${libdir}/pkgconfig ${libdir}/lib*.?a ${libdir}/lib*.a"
FILES_${PN}-examples = "${bindir} ${datadir}"
-
diff --git a/classes/sdk.bbclass b/classes/sdk.bbclass
index 834081fccc..38df66eb4d 100644
--- a/classes/sdk.bbclass
+++ b/classes/sdk.bbclass
@@ -2,8 +2,10 @@
# or indirectly via dependency. No need to be in 'world'.
EXCLUDE_FROM_WORLD = "1"
-SDK_NAME = "${TARGET_ARCH}/oe"
-PACKAGE_ARCH = "${BUILD_ARCH}"
+SDK_NAME = "${DISTRO}/${TARGET_ARCH}"
+
+OLD_PACKAGE_ARCH := ${PACKAGE_ARCH}
+PACKAGE_ARCH = "${BUILD_ARCH}-${OLD_PACKAGE_ARCH}-sdk"
HOST_ARCH = "${BUILD_ARCH}"
HOST_VENDOR = "${BUILD_VENDOR}"
@@ -20,11 +22,7 @@ prefix = "/usr/local/${SDK_NAME}"
exec_prefix = "${prefix}"
base_prefix = "${exec_prefix}"
-PACKAGES =+ "${PN}-dbg"
-
FILES_${PN} = "${prefix}"
FILES_${PN}-dbg += "${prefix}/bin/.debug \
${prefix}/sbin/.debug \
"
-
-
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 1de88de9c5..dbd255ea49 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -4258,6 +4258,10 @@ sha256=4ebece4bb752e22b2f15a9fe24e83aec59a3a41b67a9fa9ffd6b805c519e90ba
md5=7cf1a436882a62d420a0fa00ace02a55
sha256=04aed43abc77fccf20e91b1ba3659c0870c50091d9ce3472ac73a40a704c2fe2
+[http://ftp.gnome.org/pub/GNOME/sources/intltool/0.35/intltool-0.35.5.tar.bz2]
+md5=f52d5fa7f128db94e884cd21dd45d2e2
+sha256=38bd74418bbac5a34884221e2b710a81876d445d8acfc7d22bde67fe882f96d8
+
[http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.3.tar.bz2]
md5=39640ea026d81e721b0c78a8aaeb7d59
sha256=808cd8e7b499a3519f8492a5bda75c55e770f976c98b2c2c21edcca4b9c30168
@@ -6790,17 +6794,17 @@ sha256=c8f2c4f125b1b4ac1b9c76172e3215c80e123e35ae4c2d473e310bc44c1baa9e
md5=848f6c3cafeb6074ffeb293c3af79b7c
sha256=1e0fddb5f53613dd14ab10b25435e88092fed1eff09b4ac4448d5be01f3b0b11
-[http://prdownloads.sourceforge.jp/tomoe/16048/tomoe-0.2.1.tar.gz]
-md5=e5f6d1d31d03004812d3eebb6a6d2460
-sha256=ade3070cf0d7864ec986df4d80b30045d86428c9cb0dd1259f7a438751543fad
+[http://keihanna.dl.sourceforge.jp/tomoe/16048/tomoe-0.2.1.tar.gz]
+md5=95eca127a1d519ff4e836b3d00d7fa84
+sha256=3942e0ff0a3b945d0464b69fcc01092a582f2c4e173bd8877572706e584e0e9e
-[http://prdownloads.sourceforge.jp/tomoe/17171/libtomoe-gtk-0.1.0.tar.gz]
-md5=a3ccb174bbc9b72204971bdd9953079d
-sha256=fa0c007bf3ee13dd79986878e6e1c9c0b71c08a5cc77dbbcbf5e054a89d268e6
+[http://keihanna.dl.sourceforge.jp/tomoe/17171/libtomoe-gtk-0.1.0.tar.gz]
+md5=e9b887189ee408902a0f85d9b1cde06f
+sha256=de00404262d5601edd953d2c83adc8e4897c2a34dfa2d8248f521136c266cc52
-[http://prdownloads.sourceforge.jp/tomoe/17172/uim-tomoe-gtk-0.2.0.tar.gz]
-md5=f6402107eb961599c6d4f3560ef7fe75
-sha256=0d107205486760cada4043cde1ae51da3ca2f44851a9d4eaa26646a5f34d56e7
+[http://keihanna.dl.sourceforge.jp/tomoe/17172/uim-tomoe-gtk-0.2.0.tar.gz]
+md5=e52817378766286d69b78fe58b37e45e
+sha256=e35fcb9b14e7621dc32975872a5147137ff12cc71e16993702a49268d59c079c
[http://prdownloads.sourceforge.net/aa-project/bb-1.2.tar.gz]
md5=1fdf51aeb20d908c29e39ddca2b3459c
diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf
index 66cb1df12f..9931389c26 100644
--- a/conf/distro/angstrom-2007.1.conf
+++ b/conf/distro/angstrom-2007.1.conf
@@ -45,6 +45,7 @@ FEED_ARCH_fic-gta01 = "armv4t"
FEED_ARCH_a780 = "armv5te"
FEED_ARCH_aximx50 = "armv5te"
FEED_ARCH_akita = "armv5te"
+FEED_ARCH_at91sam9263ek = "armv5te"
FEED_ARCH_c7x0 = "armv5te"
FEED_ARCH_h2200 = "armv5te"
FEED_ARCH_h3900 = "armv5te"
@@ -125,13 +126,13 @@ MACHINE_KERNEL_VERSION = "2.6"
PCMCIA_MANAGER = "pcmciautils"
#Preferred version for the kernel on various machines
-PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.16-hh9"
-PREFERRED_VERSION_linux-handhelds-2.6_h3900 ?= "2.6.20-hh6"
-PREFERRED_VERSION_linux-handhelds-2.6_h4000 ?= "2.6.20-hh6"
+PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.20-hh6"
+PREFERRED_VERSION_linux-handhelds-2.6_h3900 ?= "2.6.21-hh7"
+PREFERRED_VERSION_linux-handhelds-2.6_h4000 ?= "2.6.21-hh7"
PREFERRED_VERSION_linux-handhelds-2.6_h5000 ?= "2.6.20-hh6"
-PREFERRED_VERSION_linux-handhelds-2.6_htcuniversal ?= "2.6.19-hh13"
+PREFERRED_VERSION_linux-handhelds-2.6_htcuniversal ?= "2.6.21-hh7"
PREFERRED_VERSION_linux-handhelds-2.6_hx4700 ?= "2.6.20-hh6"
-PREFERRED_VERSION_linux-handhelds-2.6_magician ?= "2.6.20-hh6"
+PREFERRED_VERSION_linux-handhelds-2.6_magician ?= "2.6.21-hh7"
# Needed for crappy ipaqs with broken hostap in the kernel
PREFERRED_VERSION_hostap-modules ?= "0.4.7"
diff --git a/contrib/mtn2cl/mtn2cl.sh b/contrib/mtn2cl/mtn2cl.sh
index 631303b55b..a6c042333f 100755
--- a/contrib/mtn2cl/mtn2cl.sh
+++ b/contrib/mtn2cl/mtn2cl.sh
@@ -2,6 +2,8 @@
# This script takes the last 1000 revs and writes a ChangeLog
+mkdir logs
+
export REV_NOW=`mtn automate heads |head -n1`
for i in `mtn log --brief --no-graph --no-merges --from l:"1 week ago" --to ${REV_NOW}| awk '{print $2 ":" $1}'` ; do \
@@ -9,22 +11,32 @@ for i in `mtn log --brief --no-graph --no-merges --from l:"1 week ago" --to ${RE
export AUTHOR=`echo $i | awk -F: '{print $1}'`
export CL=`mtn ls certs ${REV} | grep -A 1 changelog | grep -v changelog | gawk -F'Value : ' '{ print $2 }'`
if test -n "${CL}" ; then
- echo " ${CL}" >> ${AUTHOR}
+ echo " ${CL}" >> logs/${AUTHOR}
fi
done
-for i in *@* ; do \
- echo $i: >> ChangeLog
- cat $i >> ChangeLog
- echo >> ChangeLog
+cd logs
+for i in * ; do \
+ echo $i: >> ../ChangeLog
+ cat $i >> ../ChangeLog
+ echo >> ../ChangeLog
done
+cd ..
+
+wget 'http://bugs.openembedded.org/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&bugidtype=include&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&known_name=1WFixed&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&value0-0-0=&ctype=csv' -O logs/resolved-bugs.csv >& /dev/null
+
+wget "http://bugs.openembedded.org/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=NEW&bugidtype=include&chfield=%5BBug%20creation%5D&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=NEW&value0-0-0=&ctype=csv" -O logs/new-bugs.csv &>/dev/null
-echo "Bug fixed:" >> ChangeLog
+NEW_BUGS="`cat logs/new-bugs.csv | wc -l | tr -d " "`"
+RESOLVED_BUGS="`cat logs/resolved-bugs.csv | wc -l | tr -d " "`"
-wget 'http://bugs.openembedded.org/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&bugidtype=include&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&known_name=1WFixed&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&value0-0-0=&ctype=csv' -O bugs.csv >& /dev/null
+echo -e "\n\nBugs fixed:" >> ChangeLog
+cat logs/resolved-bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ChangeLog
-cat bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ChangeLog
+echo -e "\n\nBugs opened:" >> ChangeLog
+cat logs/new-bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ChangeLog
+echo -e "\nIn total $NEW_BUGS bugs have been created and $RESOLVED_BUGS bugs were closed." >> ChangeLog
-rm `ls | grep -v ChangeLog | grep -v mtn2cl`
+rm -Rf logs
diff --git a/packages/angstrom/angstrom-gpe-task-apps.bb b/packages/angstrom/angstrom-gpe-task-apps.bb
new file mode 100644
index 0000000000..37a6ed98c3
--- /dev/null
+++ b/packages/angstrom/angstrom-gpe-task-apps.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RDEPENDS = "\
+ gpe-edit \
+ gpe-gallery \
+ gpe-calculator \
+ gpe-clock \
+ gpe-plucker \
+ gpe-terminal \
+ gpe-watch \
+ gpe-what \
+ matchbox-panel-hacks \
+ ${@base_contains("COMBINED_FEATURES", "wifi", "gpe-aerial", "",d)} \
+ gpe-soundbite \
+ ${@base_contains("MACHINE_FEATURES", "touchscreen", "rosetta", "",d)} \
+ gpe-scap \
+ gpe-windowlist"
+
diff --git a/packages/angstrom/angstrom-gpe-task-base.bb b/packages/angstrom/angstrom-gpe-task-base.bb
new file mode 100644
index 0000000000..c931d9d1e4
--- /dev/null
+++ b/packages/angstrom/angstrom-gpe-task-base.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RDEPENDS = "\
+ matchbox \
+ matchbox-panel-hacks \
+ xcursor-transparent-theme \
+ rxvt-unicode \
+ gpe-terminal \
+ matchbox-keyboard \
+ gpe-theme-clearlooks \
+ xst \
+ xhost \
+ xrdb \
+ gpe-soundserver \
+ gpe-dm \
+ gpe-login \
+ gpe-session-scripts \
+ gpe-icons \
+ gpe-confd \
+ gpe-autostarter \
+ ${@base_contains("MACHINE_FEATURES", "touchscreen", "libgtkstylus", "",d)} \
+ ${@base_contains("MACHINE_FEATURES", "keyboard", "", "libgtkinput",d)} \
+ suspend-desktop \
+ teleport \
+ xauth \
+ gdk-pixbuf-loader-png \
+ gdk-pixbuf-loader-xpm \
+ gdk-pixbuf-loader-jpeg \
+ pango-module-basic-x \
+ pango-module-basic-fc \
+ ${@base_contains("COMBINED_FEATURES", "bluetooth", "gpe-bluetooth", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "bluetooth", "bluez-gnome", "",d)} \
+ "
+
diff --git a/packages/angstrom/angstrom-gpe-task-game.bb b/packages/angstrom/angstrom-gpe-task-game.bb
new file mode 100644
index 0000000000..09a47f6a26
--- /dev/null
+++ b/packages/angstrom/angstrom-gpe-task-game.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ gpe-go \
+ gpe-lights \
+ gpe-othello \
+ gpe-tetris \
+ gsoko \
+# xdemineur \
+"
diff --git a/packages/angstrom/angstrom-gpe-task-pim.bb b/packages/angstrom/angstrom-gpe-task-pim.bb
new file mode 100644
index 0000000000..8e9d0d4f31
--- /dev/null
+++ b/packages/angstrom/angstrom-gpe-task-pim.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ gpe-timesheet \
+ gpe-todo \
+ gpe-calendar \
+ gpe-contacts \
+ gpesyncd"
+
+
diff --git a/packages/angstrom/angstrom-gpe-task-settings.bb b/packages/angstrom/angstrom-gpe-task-settings.bb
new file mode 100644
index 0000000000..c79c068cbd
--- /dev/null
+++ b/packages/angstrom/angstrom-gpe-task-settings.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ matchbox-panel-manager \
+ gpe-su \
+ gpe-conf \
+ gpe-package \
+ gpe-shield \
+ gpe-taskmanager \
+ keylaunch \
+ minilite \
+ minimix \
+ xmonobut"
diff --git a/packages/angstrom/angstrom-ohand-task-pim.bb b/packages/angstrom/angstrom-ohand-task-pim.bb
new file mode 100644
index 0000000000..70d52c922f
--- /dev/null
+++ b/packages/angstrom/angstrom-ohand-task-pim.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ dates \
+ contacts \
+ tasks \
+"
+
diff --git a/packages/angstrom/angstrom-task-office.bb b/packages/angstrom/angstrom-task-office.bb
new file mode 100644
index 0000000000..364924995a
--- /dev/null
+++ b/packages/angstrom/angstrom-task-office.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ gnumeric \
+ abiword \
+ imposter \
+ evince \
+ gqview"
+
diff --git a/packages/angstrom/angstrom-task-printing.bb b/packages/angstrom/angstrom-task-printing.bb
new file mode 100644
index 0000000000..2954667192
--- /dev/null
+++ b/packages/angstrom/angstrom-task-printing.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ cups \
+# gnome-cups-manager \
+ "
diff --git a/packages/angstrom/angstrom-task-sectest.bb b/packages/angstrom/angstrom-task-sectest.bb
new file mode 100644
index 0000000000..3142f280f3
--- /dev/null
+++ b/packages/angstrom/angstrom-task-sectest.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ nmap \
+ ettercap \
+ stunnel \
+ curl \
+# dsniff \
+ prismstumbler \
+# tcpdump \
+ kismet \
+ hydra \
+# thcrut \
+# driftnet \
+ miniclipboard"
diff --git a/packages/angstrom/angstrom-x11-base-depends.bb b/packages/angstrom/angstrom-x11-base-depends.bb
new file mode 100644
index 0000000000..c05d9a36db
--- /dev/null
+++ b/packages/angstrom/angstrom-x11-base-depends.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Task packages for the Angstrom distribution"
+PR = "r31"
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ virtual/libx11 \
+ virtual/xserver \
+ ttf-dejavu-sans \
+ ttf-dejavu-sans-mono \
+ "
+
diff --git a/packages/angstrom/task-angstrom-x11.bb b/packages/angstrom/task-angstrom-x11.bb
deleted file mode 100644
index a5f9be1938..0000000000
--- a/packages/angstrom/task-angstrom-x11.bb
+++ /dev/null
@@ -1,132 +0,0 @@
-DESCRIPTION = "Task packages for the Angstrom distribution"
-PR = "r30"
-ALLOW_EMPTY = "1"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PACKAGES = "\
- angstrom-x11-base-depends \
- angstrom-gpe-task-base \
- angstrom-gpe-task-settings \
- angstrom-gpe-task-pim \
- angstrom-gpe-task-apps \
- angstrom-gpe-task-games \
- angstrom-ohand-task-pim \
- angstrom-task-office \
- angstrom-task-printing \
- angstrom-task-sectest"
-
-RDEPENDS_angstrom-x11-base-depends := "\
- virtual/libx11 \
- virtual/xserver \
- ttf-dejavu-sans \
- ttf-dejavu-sans-mono \
- "
-
-RDEPENDS_angstrom-gpe-task-base := "\
- matchbox \
- matchbox-panel-hacks \
- xcursor-transparent-theme \
- rxvt-unicode \
- gpe-terminal \
- matchbox-keyboard \
- gpe-theme-clearlooks \
- xst \
- xhost \
- xrdb \
- gpe-soundserver \
- gpe-dm \
- gpe-login \
- gpe-session-scripts \
- gpe-icons \
- gpe-confd \
- gpe-autostarter \
- ${@base_contains("MACHINE_FEATURES", "touchscreen", "libgtkstylus", "",d)} \
- ${@base_contains("MACHINE_FEATURES", "keyboard", "", "libgtkinput",d)} \
- suspend-desktop \
- teleport \
- xauth \
- gdk-pixbuf-loader-png \
- gdk-pixbuf-loader-xpm \
- gdk-pixbuf-loader-jpeg \
- pango-module-basic-x \
- pango-module-basic-fc \
- ${@base_contains("COMBINED_FEATURES", "bluetooth", "gpe-bluetooth", "",d)} \
- ${@base_contains("COMBINED_FEATURES", "bluetooth", "bluez-gnome", "",d)} \
- "
-
-RDEPENDS_angstrom-gpe-task-pim := "\
- gpe-timesheet \
- gpe-todo \
- gpe-calendar \
- gpe-contacts \
- gpesyncd"
-
-RDEPENDS_angstrom-ohand-task-pim := "\
- dates \
- contacts \
- tasks \
-"
-
-RDEPENDS_angstrom-gpe-task-settings := "\
- matchbox-panel-manager \
- gpe-su \
- gpe-conf \
- gpe-package \
- gpe-shield \
- gpe-taskmanager \
- keylaunch \
- minilite \
- minimix \
- xmonobut"
-
-RDEPENDS_angstrom-gpe-task-apps := "\
- gpe-edit \
- gpe-gallery \
- gpe-calculator \
- gpe-clock \
- gpe-plucker \
- gpe-terminal \
- gpe-watch \
- gpe-what \
- matchbox-panel-hacks \
- ${@base_contains("COMBINED_FEATURES", "wifi", "gpe-aerial", "",d)} \
- gpe-soundbite \
- ${@base_contains("MACHINE_FEATURES", "touchscreen", "rosetta", "",d)} \
- gpe-scap \
- gpe-windowlist"
-
-RDEPENDS_angstrom-gpe-task-games := "\
- gpe-go \
- gpe-lights \
- gpe-othello \
- gpe-tetris \
- gsoko \
-# xdemineur \
-"
-
-RDEPENDS_angstrom-task-office := "\
- gnumeric \
- abiword \
- imposter \
- evince \
- gqview"
-
-RDEPENDS_angstrom-task-printing := "\
- cups \
-# gnome-cups-manager \
- "
-
-RDEPENDS_angstrom-task-sectest := "\
- nmap \
- ettercap \
- stunnel \
- curl \
-# dsniff \
- prismstumbler \
-# tcpdump \
- kismet \
- hydra \
-# thcrut \
-# driftnet \
- miniclipboard"
diff --git a/packages/anthy/anthy_7811.bb b/packages/anthy/anthy_7811.bb
index 5ac651223b..9f5bf8d1e6 100644
--- a/packages/anthy/anthy_7811.bb
+++ b/packages/anthy/anthy_7811.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://anthy.sourceforge.jp"
LICENSE = "GPL"
DEPENDS = "anthy-native"
SECTION = "inputmethods"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://osdn.dl.sourceforge.jp/anthy/20510/anthy-7811.tar.gz \
file://not_build_elc.patch;patch=1 \
@@ -14,8 +14,6 @@ SRC_URI = "http://osdn.dl.sourceforge.jp/anthy/20510/anthy-7811.tar.gz \
inherit autotools pkgconfig
-PACKAGES = "${PN} ${PN}-el libanthy0 libanthy-dev"
-
DESCRIPTION_anthy = "A Japanese input method (backend, dictionary and utility)"
DESCRIPTION_libanthy0 = "Anthy runtime library"
DESCRIPTION_libanthy-dev = "Anthy static library, headers and documets for developers"
@@ -27,6 +25,12 @@ SECTION_libanthy-dev = "devel/libs"
LEAD_SONAME = "libanthy.so.0"
RDEPENDS_anthy = "libanthy0"
+do_stage() {
+ autotools_stage_all
+}
+
+PACKAGES += "${PN}-el libanthy0 libanthy-dev"
+FILES_${PN}-dbg += "${libdir}/.debug"
FILES_libanthy0 = "${libdir}/libanthy.so.* \
${libdir}/libanthydic.so.* \
${libdir}/libanthyinput.so.*"
@@ -39,8 +43,3 @@ FILES_${PN}-el = "${datadir}/emacs/*"
FILES_${PN} = "${datadir}/* \
${bindir}/* \
${sysconfdir}/anthy-conf"
-
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/icewm/icewm-1.2.26/.mtn2git_empty b/packages/busybox/busybox-1.6.0/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/icewm/icewm-1.2.26/.mtn2git_empty
+++ b/packages/busybox/busybox-1.6.0/.mtn2git_empty
diff --git a/packages/busybox/busybox-1.6.0/angstrom/.mtn2git_empty b/packages/busybox/busybox-1.6.0/angstrom/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/angstrom/.mtn2git_empty
diff --git a/packages/busybox/busybox-1.6.0/angstrom/defconfig b/packages/busybox/busybox-1.6.0/angstrom/defconfig
new file mode 100644
index 0000000000..7308eead76
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/angstrom/defconfig
@@ -0,0 +1,647 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_NITPICK is not set
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_COMPRESS_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+USING_CROSS_COMPILER=y
+CROSS_COMPILER_PREFIX="arm-angstrom-linux-gnueabi-"
+CONFIG_BUILD_AT_ONCE=y
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_NO_DEBUG_LIB is not set
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_DEBUG_YANK_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_MD5_SIZE_VS_SPEED=2
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+# CONFIG_FEATURE_TAR_LZMA is not set
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_CMP is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+CONFIG_DF=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_FEATURE_DIFF_MINIMAL is not set
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
+# CONFIG_NICE is not set
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_SETCONSOLE=y
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_DEBUG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_UTMP=y
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_E2FSCK=y
+CONFIG_FSCK=y
+# CONFIG_LSATTR is not set
+CONFIG_MKE2FS=y
+# CONFIG_TUNE2FS is not set
+# CONFIG_E2LABEL is not set
+# CONFIG_FINDFS is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_MINIX=y
+
+#
+# Minix filesystem support
+#
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+# CONFIG_READPROFILE is not set
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+# CONFIG_SWITCH_ROOT is not set
+CONFIG_UMOUNT=y
+# CONFIG_FEATURE_UMOUNT_ALL is not set
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CROND is not set
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_EJECT is not set
+# CONFIG_LAST is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_SETSID is not set
+# CONFIG_TASKSET is not set
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_WITHOUT_INETD is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+# CONFIG_NC_GAPING_SECURITY_HOLE is not set
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_INETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+
+#
+# udhcp Server/Client
+#
+CONFIG_APP_UDHCPD=y
+CONFIG_APP_UDHCPC=y
+CONFIG_APP_DUMPLEASES=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+# CONFIG_ASH_READ_NCHARS is not set
+# CONFIG_ASH_READ_TIMEOUT is not set
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_BUILTIN_ECHO is not set
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
diff --git a/packages/busybox/busybox-1.6.0/busybox-mdev.sh b/packages/busybox/busybox-1.6.0/busybox-mdev.sh
new file mode 100755
index 0000000000..9744322fa9
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/busybox-mdev.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+MDEV=/sbin/mdev
+DESC="Busybox mdev setup"
+
+# Complain if thing's aren't right
+if [ ! -e /proc/filesystems ]; then
+ echo "mdev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "mdev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "mdev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "mdev requires hotplug support, not started."
+ exit 1
+fi
+
+# We need to unmount /dev/pts/ and remount it later over the tmpfs
+if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+fi
+
+if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+fi
+
+# Create tmpfs for /dev
+echo "Creating tmpfs at /dev"
+mount -t tmpfs tmpfs /dev -o size=800k
+
+# Register mdev as hotplug event helper
+echo "$MDEV" > /proc/sys/kernel/hotplug
+
+# Populate /dev from /sys info
+echo "Populating /dev using mdev"
+$MDEV -s
+
+# Touch .udev to inform scripts that /dev needs no further setup
+touch /dev/.udev
+
+# Mount devpts
+TTYGRP=5
+TTYMODE=620
+mkdir -m 755 -p /dev/pts
+if [ ! -e /dev/ptmx ]; then
+ mknod -m 666 /dev/ptmx c 5 2
+fi
+mount -t devpts devpts /dev/pts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
+
+# Make shm directory
+mkdir -m 755 -p /dev/shm
+
+# Make extraneous links
+ln -sf /proc/self/fd /dev/fd
+ln -sf /proc/self/fd/0 /dev/stdin
+ln -sf /proc/self/fd/1 /dev/stdout
+ln -sf /proc/self/fd/2 /dev/stderr
+ln -sf /proc/kcore /dev/core
+ln -sf /proc/asound/oss/sndstat /dev/sndstat
+
+exit 0
diff --git a/packages/busybox/busybox-1.6.0/defconfig b/packages/busybox/busybox-1.6.0/defconfig
new file mode 100644
index 0000000000..7308eead76
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/defconfig
@@ -0,0 +1,647 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_NITPICK is not set
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_COMPRESS_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+USING_CROSS_COMPILER=y
+CROSS_COMPILER_PREFIX="arm-angstrom-linux-gnueabi-"
+CONFIG_BUILD_AT_ONCE=y
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_NO_DEBUG_LIB is not set
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_DEBUG_YANK_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_MD5_SIZE_VS_SPEED=2
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+# CONFIG_FEATURE_TAR_LZMA is not set
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_CMP is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+CONFIG_DF=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_FEATURE_DIFF_MINIMAL is not set
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
+# CONFIG_NICE is not set
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_SETCONSOLE=y
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_DEBUG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_UTMP=y
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_E2FSCK=y
+CONFIG_FSCK=y
+# CONFIG_LSATTR is not set
+CONFIG_MKE2FS=y
+# CONFIG_TUNE2FS is not set
+# CONFIG_E2LABEL is not set
+# CONFIG_FINDFS is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_MINIX=y
+
+#
+# Minix filesystem support
+#
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+# CONFIG_READPROFILE is not set
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+# CONFIG_SWITCH_ROOT is not set
+CONFIG_UMOUNT=y
+# CONFIG_FEATURE_UMOUNT_ALL is not set
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CROND is not set
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_EJECT is not set
+# CONFIG_LAST is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_SETSID is not set
+# CONFIG_TASKSET is not set
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_WITHOUT_INETD is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+# CONFIG_NC_GAPING_SECURITY_HOLE is not set
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_INETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+
+#
+# udhcp Server/Client
+#
+CONFIG_APP_UDHCPD=y
+CONFIG_APP_UDHCPC=y
+CONFIG_APP_DUMPLEASES=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+# CONFIG_ASH_READ_NCHARS is not set
+# CONFIG_ASH_READ_TIMEOUT is not set
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_BUILTIN_ECHO is not set
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
diff --git a/packages/busybox/busybox-1.6.0/df_rootfs.patch b/packages/busybox/busybox-1.6.0/df_rootfs.patch
new file mode 100644
index 0000000000..3819b59106
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/df_rootfs.patch
@@ -0,0 +1,44 @@
+--- busybox-1.3.1.orig/coreutils/df.c 2006-12-26 22:54:50.000000000 -0600
++++ busybox-1.3.1/coreutils/df.c 2006-12-30 00:45:10.000000000 -0600
+@@ -47,6 +47,7 @@
+ struct statfs s;
+ static const char hdr_1k[] = "1k-blocks"; /* default display is kilobytes */
+ const char *disp_units_hdr = hdr_1k;
++ int root_done = 0;
+
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
+ opt_complementary = "h-km:k-hm:m-hk";
+@@ -77,7 +78,7 @@
+
+ do {
+ const char *device;
+- const char *mount_point;
++ char *mount_point;
+
+ if (mount_table) {
+ mount_entry = getmntent(mount_table);
+@@ -116,17 +117,20 @@
+ ) / (blocks_used + s.f_bavail);
+ }
+
+- if (strcmp(device, "rootfs") == 0) {
+- continue;
+- } else if (strcmp(device, "/dev/root") == 0) {
++ if (strcmp(device, "/dev/root") == 0 || strcmp(device, "rootfs") == 0) {
+ /* Adjusts device to be the real root device,
+ * or leaves device alone if it can't find it */
+- device = find_block_device("/");
++ device = find_block_device(mount_point);
+ if (!device) {
+ goto SET_ERROR;
+ }
+ }
+
++ if (strcmp(mount_point, "/") == 0) {
++ if (root_done) continue;
++ root_done = 1;
++ }
++
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
+ printf("%-20s %9s ", device,
+ make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr));
diff --git a/packages/busybox/busybox-1.6.0/dhcp-hostname.patch b/packages/busybox/busybox-1.6.0/dhcp-hostname.patch
new file mode 100644
index 0000000000..8e7e68a4c9
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/dhcp-hostname.patch
@@ -0,0 +1,20 @@
+--- busybox-1.5.0/networking/udhcp/dhcpc.c~ 2007-03-22 15:21:23.000000000 -0500
++++ busybox-1.5.0/networking/udhcp/dhcpc.c 2007-04-01 08:42:41.000000000 -0500
+@@ -136,6 +136,7 @@
+ int retval;
+ int len;
+ int no_clientid = 0;
++ char hostbuf[256]; /* (default hostname patch) */
+ fd_set rfds;
+ struct timeval tv;
+ struct dhcpMessage packet;
+@@ -214,6 +215,9 @@
+ client_config.background_if_no_lease = 1;
+ if (opt & OPT_h)
+ client_config.hostname = alloc_dhcp_option(DHCP_HOST_NAME, str_h, 0);
++ else /* (default hostname patch) default hostname is our hostname as set */
++ if (gethostname(hostbuf, sizeof(hostbuf)) == 0)
++ client_config.hostname = alloc_dhcp_option(DHCP_HOST_NAME, hostbuf, 0);
+ if (opt & OPT_F) {
+ client_config.fqdn = alloc_dhcp_option(DHCP_FQDN, str_F, 3);
+ /* Flags: 0000NEOS
diff --git a/packages/busybox/busybox-1.6.0/dhcp-increase-retries.patch b/packages/busybox/busybox-1.6.0/dhcp-increase-retries.patch
new file mode 100644
index 0000000000..f49aa16580
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/dhcp-increase-retries.patch
@@ -0,0 +1,11 @@
+--- busybox-1.5.0/networking/udhcp/dhcpc.c~ 2007-04-01 08:42:41.000000000 -0500
++++ busybox-1.5.0/networking/udhcp/dhcpc.c 2007-04-01 21:03:42.000000000 -0500
+@@ -188,7 +188,7 @@
+ /* Default options. */
+ client_config.interface = "eth0";
+ client_config.script = DEFAULT_SCRIPT;
+- client_config.retries = 3;
++ client_config.retries = 5;
+ client_config.timeout = 3;
+
+ /* Parse command line */
diff --git a/packages/busybox/busybox-1.6.0/ifupdown-spurious-environ.patch b/packages/busybox/busybox-1.6.0/ifupdown-spurious-environ.patch
new file mode 100644
index 0000000000..812a0b3ee8
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/ifupdown-spurious-environ.patch
@@ -0,0 +1,16 @@
+--- busybox-1.5.0/networking/ifupdown.c~ 2007-03-22 15:21:23.000000000 -0500
++++ busybox-1.5.0/networking/ifupdown.c 2007-04-01 08:52:25.000000000 -0500
+@@ -83,6 +83,13 @@
+ struct mapping_defn_t *mappings;
+ };
+
++/* XXX - ifupdown-spurious-environ.patch -- appears to be long obsolete,
++ * but is carried forward because it doesn't seem to hurt anything and
++ * it's non-obvious how to remove the patch from OE without breaking
++ * old builds. MJW
++ */
++#define environ local_environ
++
+ #define OPTION_STR "anvf" USE_FEATURE_IFUPDOWN_MAPPING("m") "i:"
+ enum {
+ OPT_do_all = 0x1,
diff --git a/packages/busybox/busybox-1.6.0/udhcpscript.patch b/packages/busybox/busybox-1.6.0/udhcpscript.patch
new file mode 100644
index 0000000000..fc21d440cd
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/udhcpscript.patch
@@ -0,0 +1,17 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.00-rc3/examples/udhcp/simple.script~udhcpscript
++++ busybox-1.00-rc3/examples/udhcp/simple.script
+@@ -17,8 +17,7 @@
+ /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+ if [ -n "$router" ] ; then
+- echo "deleting routers"
+- while route del default gw 0.0.0.0 dev $interface ; do
++ while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
+ :
+ done
+
diff --git a/packages/busybox/busybox-1.6.0/xargs-double-size.patch b/packages/busybox/busybox-1.6.0/xargs-double-size.patch
new file mode 100644
index 0000000000..df64554ffc
--- /dev/null
+++ b/packages/busybox/busybox-1.6.0/xargs-double-size.patch
@@ -0,0 +1,13 @@
+--- busybox-1.2.1/findutils/xargs.c.org 2006-09-19 18:18:17.084592997 +0200
++++ busybox-1.2.1/findutils/xargs.c 2006-09-19 18:18:09.820275793 +0200
+@@ -466,8 +466,8 @@
+ have it at 1 meg). Things will work fine with a large ARG_MAX but it
+ will probably hurt the system more than it needs to; an array of this
+ size is allocated. */
+- if (orig_arg_max > 20 * 1024)
+- orig_arg_max = 20 * 1024;
++ if (orig_arg_max > 40 * 1024)
++ orig_arg_max = 40 * 1024;
+ n_max_chars = orig_arg_max;
+ }
+ max_chars = xmalloc(n_max_chars);
diff --git a/packages/busybox/busybox-static-1.2.1/.mtn2git_empty b/packages/busybox/busybox-static-1.2.1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/.mtn2git_empty
diff --git a/packages/busybox/busybox-static-1.2.1/add-getkey-applet.patch b/packages/busybox/busybox-static-1.2.1/add-getkey-applet.patch
new file mode 100644
index 0000000000..a75cf823c7
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/add-getkey-applet.patch
@@ -0,0 +1,167 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+Index: busybox-1.1.0/console-tools/getkey.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ busybox-1.1.0/console-tools/getkey.c 2006-03-14 17:17:28.000000000 +0100
+@@ -0,0 +1,94 @@
++/* vi: set sw=4 ts=4: */
++/*
++ * getkey.c - Michael 'Mickey' Lauer
++ *
++ * Version 0.1
++ *
++ * A simple keygrapper. Displays a configurable message and waits a dedicated number
++ * of seconds for a keypress. Sets the exit code accordingly (SUCCESS on keypress).
++ */
++#include <stdio.h>
++#include <fcntl.h>
++#include <memory.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <sys/types.h>
++#include <errno.h>
++#include <sys/ioctl.h>
++#include <sys/kd.h>
++#include "busybox.h"
++
++extern int getkey_main(int argc, char **argv)
++{
++ int status = EXIT_FAILURE;
++
++ if ( argc < 2 )
++ {
++ bb_show_usage();
++ }
++
++ /*
++ * If no terminal is attached it is quite useless
++ * to treat it like one.
++ */
++ if( !isatty(STDIN_FILENO) )
++ {
++ goto error_hard;
++ }
++
++ //bb_printf( "DEBUG: time = '%s'\n", argv[1] );
++ //bb_printf( "DEBUG: mesg = '%s'\n", argv[2] );
++
++ struct termios orig;
++ struct termios attr;
++
++ if ( tcgetattr(STDIN_FILENO, &orig) == -1 )
++ {
++ goto error_hard;
++ }
++
++ attr = orig;
++ attr.c_cc[VMIN] = 0;
++ attr.c_cc[VTIME] = 0;
++ attr.c_iflag |= INLCR;
++ attr.c_oflag |= OPOST|ONLCR;
++ attr.c_cflag &= ~PARENB;
++ attr.c_lflag &= ~(ICANON/*|ECHO*/);
++ if ( tcsetattr(STDIN_FILENO,TCSANOW,&attr) == -1 )
++ {
++ goto error_hard;
++ }
++
++ fd_set rfds;
++ struct timeval tv;
++ int retval;
++
++ FD_ZERO(&rfds);
++ FD_SET(0, &rfds);
++
++ tv.tv_sec = atoi( argv[1] );
++ tv.tv_usec = 0;
++
++ if ( argc == 3 )
++ {
++ bb_printf( argv[2], tv.tv_sec );
++ bb_printf( "\n" );
++ fflush(stdout);
++ }
++ retval = select(1, &rfds, NULL, NULL, &tv);
++ if (retval > 0)
++ {
++ status = EXIT_SUCCESS;
++ }
++
++ if (tcsetattr(STDIN_FILENO,TCSANOW,&orig) == -1 )
++ {
++ goto error_hard;
++ }
++
++ return status;
++
++error_hard :
++ return EXIT_FAILURE;
++};
++
+Index: busybox-1.1.0/console-tools/Makefile.in
+===================================================================
+--- busybox-1.1.0.orig/console-tools/Makefile.in 2006-01-11 06:43:57.000000000 +0100
++++ busybox-1.1.0/console-tools/Makefile.in 2006-03-14 17:18:18.000000000 +0100
+@@ -21,6 +21,7 @@
+ CONSOLETOOLS_DIR-$(CONFIG_OPENVT) += openvt.o
+ CONSOLETOOLS_DIR-$(CONFIG_RESET) += reset.o
+ CONSOLETOOLS_DIR-$(CONFIG_SETKEYCODES) += setkeycodes.o
++CONSOLETOOLS_DIR-$(CONFIG_GETKEY) += getkey.o
+
+ libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR)
+
+Index: busybox-1.1.0/console-tools/Config.in
+===================================================================
+--- busybox-1.1.0.orig/console-tools/Config.in 2006-01-11 06:43:57.000000000 +0100
++++ busybox-1.1.0/console-tools/Config.in 2006-03-14 17:17:28.000000000 +0100
+@@ -31,6 +31,14 @@
+ This program dumps the kernel's keyboard translation table to
+ stdout, in binary format. You can then use loadkmap to load it.
+
++config CONFIG_GETKEY
++ bool "getkey"
++ default n
++ help
++ This program displays a configurable message and waits
++ a dedicated number of seconds for a keypress. It sets
++ the exit code accordingly, i.e. SUCCESS if there was a keypress.
++
+ config CONFIG_LOADFONT
+ bool "loadfont"
+ default n
+Index: busybox-1.1.0/include/applets.h
+===================================================================
+--- busybox-1.1.0.orig/include/applets.h 2006-01-11 06:44:14.000000000 +0100
++++ busybox-1.1.0/include/applets.h 2006-03-14 17:17:28.000000000 +0100
+@@ -261,6 +261,9 @@
+ #ifdef CONFIG_FUSER
+ APPLET(fuser, fuser_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)
+ #endif
++#ifdef CONFIG_GETKEY
++ APPLET(getkey, getkey_main, _BB_DIR_SBIN, _BB_SUID_NEVER)
++#endif
+ #ifdef CONFIG_GETOPT
+ APPLET(getopt, getopt_main, _BB_DIR_BIN, _BB_SUID_NEVER)
+ #endif
+Index: busybox-1.1.0/include/usage.h
+===================================================================
+--- busybox-1.1.0.orig/include/usage.h 2006-01-11 06:44:14.000000000 +0100
++++ busybox-1.1.0/include/usage.h 2006-03-14 17:19:11.000000000 +0100
+@@ -841,6 +841,13 @@
+ "\t-p, --password Password to be used\n" \
+ "\t-P, --port Port number to be used"
+
++#define getkey_trivial_usage \
++ "time [message]"
++#define getkey_full_usage \
++ "Display a message and wait for a keypress."
++#define getkey_example_usage \
++ "$ getkey 5 'Press a key within %d seconds to interrupt autoboot.'"
++
+ #define fuser_trivial_usage \
+ "[options] file OR port/proto"
+ #define fuser_full_usage \
diff --git a/packages/busybox/busybox-static-1.2.1/angstrom-busybox-syslogd-conf.patch b/packages/busybox/busybox-static-1.2.1/angstrom-busybox-syslogd-conf.patch
new file mode 100644
index 0000000000..c0afe5a07a
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/angstrom-busybox-syslogd-conf.patch
@@ -0,0 +1,19 @@
+#
+# old_revision [fdb3a990f25607c7b10b3ace56859b837e3e6a99]
+#
+# add_file "packages/busybox/busybox-1.2.1/angstrom/syslog.conf"
+# content [96581f5fbde2e5e5109328e8b42d14d53a5c2119]
+#
+============================================================
+--- packages/busybox/busybox-1.2.1/angstrom/syslog.conf 96581f5fbde2e5e5109328e8b42d14d53a5c2119
++++ packages/busybox/busybox-1.2.1/angstrom/syslog.conf 96581f5fbde2e5e5109328e8b42d14d53a5c2119
+@@ -0,0 +1,9 @@
++DESTINATION="file" # log destinations (buffer file remote)
++MARKINT=20 # interval between --mark-- entries [min]
++REDUCE=no # reduced-size logging
++BUFFERSIZE=64 # buffer: size of circular buffer [kByte]
++LOGFILE=/var/log/messages # file: where to log
++ROTATESIZE=32 # file: rotate log if grown beyond X [kByte] (busybox 1.2+)
++ROTATEGENS=1 # file: keep X generations of rotated logs (busybox 1.2+)
++REMOTE=loghost:514 # remote: where to log
++FOREGROUND=no # run in foreground (don't use!)
diff --git a/packages/busybox/busybox-static-1.2.1/below.patch b/packages/busybox/busybox-static-1.2.1/below.patch
new file mode 100644
index 0000000000..95e8376e46
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/below.patch
@@ -0,0 +1,46 @@
+Index: busybox-1.1.0/modutils/modprobe.c
+===================================================================
+--- busybox-1.1.0.orig/modutils/modprobe.c 2006-01-11 06:43:56.000000000 +0100
++++ busybox-1.1.0/modutils/modprobe.c 2006-03-14 16:36:54.000000000 +0100
+@@ -509,6 +509,41 @@
+ }
+ }
+ }
++ else if ((strncmp (buffer, "below", 5) == 0) && isspace (buffer[5])) {
++ char *mod, *deps;
++ if (parse_tag_value (buffer + 6, &mod, &deps)) {
++ struct dep_t *dt;
++
++ for (dt = first; dt; dt = dt->m_next) {
++ if (strcmp (dt->m_name, mod) == 0)
++ break;
++ }
++ if (dt) {
++ char *pp;
++ char *name;
++
++ pp = name = deps;
++
++ for (;;) {
++ while (*pp != 0 && !isspace (*pp))
++ pp++;
++ if (isspace (*pp))
++ *(pp++) = 0;
++
++ dt->m_depcnt++;
++ dt->m_deparr = (char **) xrealloc (dt->m_deparr,
++ sizeof (char *) * dt->m_depcnt);
++ dt->m_deparr[dt->m_depcnt - 1] = bb_xstrdup (name);
++
++ while (isspace (*pp))
++ pp++;
++ name = pp;
++ if (*pp == 0)
++ break;
++ }
++ }
++ }
++ }
+ }
+ }
+ close ( fd );
diff --git a/packages/busybox/busybox-static-1.2.1/busybox-mdev.sh b/packages/busybox/busybox-static-1.2.1/busybox-mdev.sh
new file mode 100755
index 0000000000..9744322fa9
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/busybox-mdev.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+MDEV=/sbin/mdev
+DESC="Busybox mdev setup"
+
+# Complain if thing's aren't right
+if [ ! -e /proc/filesystems ]; then
+ echo "mdev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "mdev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "mdev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "mdev requires hotplug support, not started."
+ exit 1
+fi
+
+# We need to unmount /dev/pts/ and remount it later over the tmpfs
+if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+fi
+
+if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+fi
+
+# Create tmpfs for /dev
+echo "Creating tmpfs at /dev"
+mount -t tmpfs tmpfs /dev -o size=800k
+
+# Register mdev as hotplug event helper
+echo "$MDEV" > /proc/sys/kernel/hotplug
+
+# Populate /dev from /sys info
+echo "Populating /dev using mdev"
+$MDEV -s
+
+# Touch .udev to inform scripts that /dev needs no further setup
+touch /dev/.udev
+
+# Mount devpts
+TTYGRP=5
+TTYMODE=620
+mkdir -m 755 -p /dev/pts
+if [ ! -e /dev/ptmx ]; then
+ mknod -m 666 /dev/ptmx c 5 2
+fi
+mount -t devpts devpts /dev/pts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
+
+# Make shm directory
+mkdir -m 755 -p /dev/shm
+
+# Make extraneous links
+ln -sf /proc/self/fd /dev/fd
+ln -sf /proc/self/fd/0 /dev/stdin
+ln -sf /proc/self/fd/1 /dev/stdout
+ln -sf /proc/self/fd/2 /dev/stderr
+ln -sf /proc/kcore /dev/core
+ln -sf /proc/asound/oss/sndstat /dev/sndstat
+
+exit 0
diff --git a/packages/busybox/busybox-static-1.2.1/defconfig b/packages/busybox/busybox-static-1.2.1/defconfig
new file mode 100644
index 0000000000..eb0b8d7c64
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/defconfig
@@ -0,0 +1,647 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_NITPICK is not set
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_COMPRESS_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+USING_CROSS_COMPILER=y
+CROSS_COMPILER_PREFIX="arm-angstrom-linux-gnueabi-"
+CONFIG_BUILD_AT_ONCE=y
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_NO_DEBUG_LIB is not set
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_DEBUG_YANK_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_MD5_SIZE_VS_SPEED=2
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+# CONFIG_FEATURE_TAR_LZMA is not set
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_CMP is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+CONFIG_DF=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_FEATURE_DIFF_MINIMAL is not set
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
+# CONFIG_NICE is not set
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_SETCONSOLE=y
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_DEBUG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_UTMP=y
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_E2FSCK=y
+CONFIG_FSCK=y
+# CONFIG_LSATTR is not set
+CONFIG_MKE2FS=y
+# CONFIG_TUNE2FS is not set
+# CONFIG_E2LABEL is not set
+# CONFIG_FINDFS is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_MINIX=y
+
+#
+# Minix filesystem support
+#
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+# CONFIG_READPROFILE is not set
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+# CONFIG_FEATURE_UMOUNT_ALL is not set
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CROND is not set
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_EJECT is not set
+# CONFIG_LAST is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_SETSID is not set
+# CONFIG_TASKSET is not set
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_WITHOUT_INETD is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+# CONFIG_NC_GAPING_SECURITY_HOLE is not set
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_INETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+
+#
+# udhcp Server/Client
+#
+CONFIG_APP_UDHCPD=y
+CONFIG_APP_UDHCPC=y
+CONFIG_APP_DUMPLEASES=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+# CONFIG_ASH_READ_NCHARS is not set
+# CONFIG_ASH_READ_TIMEOUT is not set
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_BUILTIN_ECHO is not set
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
diff --git a/packages/busybox/busybox-static-1.2.1/df_rootfs.patch b/packages/busybox/busybox-static-1.2.1/df_rootfs.patch
new file mode 100644
index 0000000000..486318a2cf
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/df_rootfs.patch
@@ -0,0 +1,34 @@
+--- busybox-1.2.1/coreutils/df.c.orig 2006-11-11 13:25:00.000000000 -0600
++++ busybox-1.2.1/coreutils/df.c 2006-11-11 13:23:15.000000000 -0600
+@@ -47,6 +47,7 @@
+ struct statfs s;
+ static const char hdr_1k[] = "1k-blocks"; /* default display is kilobytes */
+ const char *disp_units_hdr = hdr_1k;
++ int root_done = 0;
+
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
+ bb_opt_complementally = "h-km:k-hm:m-hk";
+@@ -112,16 +113,19 @@
+ ) / (blocks_used + s.f_bavail);
+ }
+
+- if (strcmp(device, "rootfs") == 0) {
+- continue;
+- } else if (strcmp(device, "/dev/root") == 0) {
++ if (strcmp(device, "/dev/root") == 0 || strcmp(device, "rootfs") == 0) {
+ /* Adjusts device to be the real root device,
+ * or leaves device alone if it can't find it */
+- if ((device = find_block_device("/")) == NULL) {
++ if ((device = find_block_device(mount_point)) == NULL) {
+ goto SET_ERROR;
+ }
+ }
+
++ if (strcmp(mount_point, "/") == 0) {
++ if (root_done) continue;
++ root_done = 1;
++ }
++
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
+ bb_printf("%-20s %9s ", device,
+ make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr));
diff --git a/packages/busybox/busybox-static-1.2.1/dhcp-hostname.patch b/packages/busybox/busybox-static-1.2.1/dhcp-hostname.patch
new file mode 100644
index 0000000000..e0adea662e
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/dhcp-hostname.patch
@@ -0,0 +1,30 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.01/networking/udhcp/dhcpc.c~dhcp-hostname
++++ busybox-1.01/networking/udhcp/dhcpc.c
+@@ -193,6 +193,7 @@
+ int max_fd;
+ int sig;
+ int no_clientid = 0;
++ char hostbuf[256]; /* SUSv2: hostnames are <= 255 bytes */
+
+ static const struct option arg_options[] = {
+ {"clientid", required_argument, 0, 'c'},
+@@ -211,6 +212,14 @@
+ {0, 0, 0, 0}
+ };
+
++ if (gethostname (hostbuf, sizeof (hostbuf)) == 0) {
++ len = strlen (hostbuf);
++ client_config.hostname = xmalloc (len + 2);
++ client_config.hostname[OPT_CODE] = DHCP_HOST_NAME;
++ client_config.hostname[OPT_LEN] = len;
++ strncpy(client_config.hostname + 2, hostbuf, len);
++ }
++
+ /* get options */
+ while (1) {
+ int option_index = 0;
diff --git a/packages/busybox/busybox-static-1.2.1/dhcpretrytime.patch b/packages/busybox/busybox-static-1.2.1/dhcpretrytime.patch
new file mode 100644
index 0000000000..893e346acf
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/dhcpretrytime.patch
@@ -0,0 +1,85 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+Index: busybox-1.1.0/networking/udhcp/dhcpc.c
+===================================================================
+--- busybox-1.1.0.orig/networking/udhcp/dhcpc.c 2006-03-14 17:19:31.000000000 +0100
++++ busybox-1.1.0/networking/udhcp/dhcpc.c 2006-03-14 17:20:45.000000000 +0100
+@@ -48,6 +48,7 @@
+ static unsigned long requested_ip; /* = 0 */
+ static unsigned long server_addr;
+ static unsigned long timeout;
++static unsigned long retrytime = 60;
+ static int packet_num; /* = 0 */
+ static int fd = -1;
+
+@@ -95,6 +96,7 @@
+ " -r, --request=IP IP address to request (default: none)\n"
+ " -s, --script=file Run file at dhcp events (default:\n"
+ " " DEFAULT_SCRIPT ")\n"
++" -t, --retrytime time to retry DHCP request (default 60s)\n")
+ " -v, --version Display version\n"
+ );
+ exit(0);
+@@ -214,6 +216,7 @@
+ {"quit", no_argument, 0, 'q'},
+ {"request", required_argument, 0, 'r'},
+ {"script", required_argument, 0, 's'},
++ {"retrytime", required_argument, 0, 't'},
+ {"version", no_argument, 0, 'v'},
+ {0, 0, 0, 0}
+ };
+@@ -229,7 +232,7 @@
+ /* get options */
+ while (1) {
+ int option_index = 0;
+- c = getopt_long(argc, argv, "c:CV:fbH:h:F:i:np:qr:s:v", arg_options, &option_index);
++ c = getopt_long(argc, argv, "c:CV:fbH:h:F:i:np:qr:s:t:v", arg_options, &option_index);
+ if (c == -1) break;
+
+ switch (c) {
+@@ -305,6 +308,9 @@
+ case 's':
+ client_config.script = optarg;
+ break;
++ case 't':
++ retrytime = atol(optarg);
++ break;
+ case 'v':
+ printf("udhcpcd, version %s\n\n", VERSION);
+ return 0;
+@@ -394,7 +400,7 @@
+ }
+ /* wait to try again */
+ packet_num = 0;
+- timeout = now + 60;
++ timeout = now + retrytime;
+ }
+ break;
+ case RENEW_REQUESTED:
+Index: busybox-1.1.0/networking/ifupdown.c
+===================================================================
+--- busybox-1.1.0.orig/networking/ifupdown.c 2006-01-11 06:43:51.000000000 +0100
++++ busybox-1.1.0/networking/ifupdown.c 2006-03-14 17:19:41.000000000 +0100
+@@ -506,7 +506,7 @@
+ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
+ {
+ if (execable("/sbin/udhcpc")) {
+- return( execute("udhcpc -n -p /var/run/udhcpc.%iface%.pid -i "
++ return( execute("udhcpc -b -p /var/run/udhcpc.%iface%.pid -i "
+ "%iface% [[-H %hostname%]] [[-c %clientid%]]", ifd, exec));
+ } else if (execable("/sbin/pump")) {
+ return( execute("pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]]", ifd, exec));
+@@ -526,8 +526,8 @@
+ /* SIGUSR2 forces udhcpc to release the current lease and go inactive,
+ * and SIGTERM causes udhcpc to exit. Signals are queued and processed
+ * sequentially so we don't need to sleep */
+- result = execute("kill -USR2 `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", ifd, exec);
+- result += execute("kill -TERM `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", ifd, exec);
++ result = execute("kill -USR2 `cat /var/run/udhcpc.%iface%.pid 2>/dev/null` 2>/dev/null", ifd, exec);
++ result += execute("kill -TERM `cat /var/run/udhcpc.%iface%.pid 2>/dev/null` 2>/dev/null", ifd, exec);
+ } else if (execable("/sbin/pump")) {
+ result = execute("pump -i %iface% -k", ifd, exec);
+ } else if (execable("/sbin/dhclient")) {
diff --git a/packages/busybox/busybox-static-1.2.1/fbset.patch b/packages/busybox/busybox-static-1.2.1/fbset.patch
new file mode 100644
index 0000000000..d0609ce6f7
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/fbset.patch
@@ -0,0 +1,24 @@
+--- busybox/util-linux/fbset.c~ 2004-07-03 16:24:23.000000000 +0100
++++ busybox/util-linux/fbset.c 2004-12-30 20:09:26.000000000 +0000
+@@ -337,7 +337,7 @@
+ {
+ struct fb_var_screeninfo var, varset;
+ int fh, i;
+- char *fbdev = DEFAULTFBDEV;
++ char *fbdev = NULL;
+ char *modefile = DEFAULTFBMODE;
+ char *thisarg, *mode = NULL;
+
+@@ -404,7 +404,12 @@
+ }
+ }
+
++ if (fbdev == NULL)
++ fbdev = DEFAULTFBDEV;
+ if ((fh = open(fbdev, O_RDONLY)) < 0)
++#ifdef CONFIG_FEATURE_DEVFS
++ if ((fh = open("/dev/fb0", O_RDONLY)) < 0)
++#endif
+ bb_perror_msg_and_die("fbset(open)");
+ if (ioctl(fh, FBIOGET_VSCREENINFO, &var))
+ bb_perror_msg_and_die("fbset(ioctl)");
diff --git a/packages/busybox/busybox-static-1.2.1/hdparm_M.patch b/packages/busybox/busybox-static-1.2.1/hdparm_M.patch
new file mode 100644
index 0000000000..9adcd36f92
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/hdparm_M.patch
@@ -0,0 +1,47 @@
+Index: busybox-1.1.0/miscutils/hdparm.c
+===================================================================
+--- busybox-1.1.0.orig/miscutils/hdparm.c 2006-01-11 06:44:13.000000000 +0100
++++ busybox-1.1.0/miscutils/hdparm.c 2006-03-14 17:22:22.000000000 +0100
+@@ -1255,6 +1255,7 @@
+ static unsigned long set_sleepnow, get_sleepnow;
+ static unsigned long get_powermode;
+ static unsigned long set_apmmode, get_apmmode, apmmode;
++static unsigned long set_acoustic = 0, get_acoustic = 0, acoustic = 0;
+ #endif
+ #ifdef CONFIG_FEATURE_HDPARM_GET_IDENTITY
+ static int get_IDentity;
+@@ -2124,6 +2125,20 @@
+ }
+ bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD");
+ }
++ if (set_acoustic)
++ {
++ no_scsi();
++ acoustic=check_if_min_and_set_val(acoustic,0);
++ acoustic=check_if_maj_and_set_val(acoustic,254);
++ if_printf(get_acoustic," setting AAM level to 0x%02lX (%ld)\n", acoustic, acoustic);
++ bb_ioctl(fd, HDIO_SET_ACOUSTIC, (int*)acoustic,"HDIO_SET_ACOUSTIC");
++ }
++ if (get_acoustic)
++ {
++ no_scsi();
++ bb_ioctl(fd, HDIO_GET_ACOUSTIC, (unsigned long*)&parm,"HDIO_GET_ACOUSTIC");
++ printf(" acoustic = %2ld (128=quiet ... 254=fast)\n", parm);
++ }
+ if (set_wcache)
+ {
+ #ifdef DO_FLUSHCACHE
+@@ -2832,6 +2847,13 @@
+ p = *argv++, --argc;
+ p=GET_NUMBER(p,&set_readahead,&Xreadahead);
+ break;
++ case 'M':
++ get_acoustic = noisy;
++ noisy = 1;
++ if (!*p && argc && isalnum(**argv))
++ p = *argv++, --argc;
++ p=GET_NUMBER(p,&set_acoustic,&acoustic);
++ break;
+ case 'B':
+ get_apmmode = noisy;
+ noisy = 1;
diff --git a/packages/busybox/busybox-static-1.2.1/ifupdown-spurious-environ.patch b/packages/busybox/busybox-static-1.2.1/ifupdown-spurious-environ.patch
new file mode 100644
index 0000000000..8753315f2c
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/ifupdown-spurious-environ.patch
@@ -0,0 +1,12 @@
+--- busybox-1.00/networking/ifupdown.c.old 2005-06-11 19:51:59.000000000 +0100
++++ busybox-1.00/networking/ifupdown.c 2005-06-11 19:52:19.000000000 +0100
+@@ -148,6 +148,9 @@
+ struct mapping_defn_t *mappings;
+ };
+
++/* XXX */
++#define environ local_environ
++
+ static char no_act = 0;
+ static char verbose = 0;
+ static char **environ = NULL;
diff --git a/packages/busybox/busybox-static-1.2.1/iproute-flush-cache.patch b/packages/busybox/busybox-static-1.2.1/iproute-flush-cache.patch
new file mode 100644
index 0000000000..f8becc3390
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/iproute-flush-cache.patch
@@ -0,0 +1,23 @@
+Index: networking/libiproute/iproute.c
+===================================================================
+RCS file: /var/cvs/busybox/networking/libiproute/iproute.c,v
+retrieving revision 1.14
+diff -u -r1.14 iproute.c
+--- networking/libiproute/iproute.c 11 Aug 2004 08:10:58 -0000 1.14
++++ networking/libiproute/iproute.c 30 Nov 2004 20:43:44 -0000
+@@ -537,6 +537,15 @@
+ } else if (matches(*argv, "match") == 0) {
+ NEXT_ARG();
+ get_prefix(&filter.mdst, *argv, do_ipv6);
++ } else if (matches(*argv, "table") == 0) {
++ NEXT_ARG();
++ if (matches(*argv, "cache") == 0) {
++ filter.tb = -1;
++ } else if (matches(*argv, "main") != 0) {
++ invarg("invalid \"table\"", *argv);
++ }
++ } else if (matches(*argv, "cache") == 0) {
++ filter.tb = -1;
+ } else {
+ if (matches(*argv, "exact") == 0) {
+ NEXT_ARG();
diff --git a/packages/busybox/busybox-static-1.2.1/mount-all-type.patch b/packages/busybox/busybox-static-1.2.1/mount-all-type.patch
new file mode 100644
index 0000000000..476094a804
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/mount-all-type.patch
@@ -0,0 +1,84 @@
+--- busybox-1.00/.pc/mount-all-type.patch/util-linux/mount.c 2004-08-02 17:14:02.000000000 -0700
++++ busybox-1.00/util-linux/mount.c 2005-05-13 00:17:19.054232796 -0700
+@@ -364,6 +364,56 @@
+ exit(EXIT_SUCCESS);
+ }
+
++/* Does this file system type, from /etc/fstab, match the given
++ * -t option value?
++ */
++static int match_fs(const char *option, const char *type)
++{
++ const int len = strlen(type);
++ const int no = option[0] == 'n' && option[1] == 'o';
++ const char *optp = option;
++
++ if (len > 0) do {
++ const char *match = strstr(optp, type);
++
++ if (match == NULL) {
++ /* No match, but if the option string starts 'no' no match
++ * means yes.
++ */
++ return no;
++ }
++
++ /* Match, may be partial, check for end-of-type in option string. */
++ if (match[len] == 0 || match[len] == ',') {
++ /* Ok, check for type or notype. */
++ if (match == option) {
++ /* Exact match at start (can't be 'no') */
++ return 1;
++ }
++ if (match > option+1) {
++ if (match[-1] == ',') {
++ /* Exact match in middle, might be 'no' */
++ return !no;
++ }
++ if (match == option+2 && no) {
++ /* Exact match to 'notype' at start. */
++ return 0;
++ }
++ if (match > option+2 && match[-3] == ',' &&
++ match[-2] == 'n' && match[-1] == 'o') {
++ return 0;
++ }
++ }
++ }
++
++ /* Look for another match. */
++ optp = match+1;
++ } while (1);
++
++ /* zero length type in fstab (impossible?), don't match it. */
++ return 0;
++}
++
+ extern int mount_main(int argc, char **argv)
+ {
+ struct stat statbuf;
+@@ -371,6 +421,7 @@
+ char *extra_opts;
+ int flags = 0;
+ char *filesystemType = "auto";
++ char *filesystemOption = 0;
+ int got_filesystemType = 0;
+ char *device = xmalloc(PATH_MAX);
+ char *directory = xmalloc(PATH_MAX);
+@@ -393,6 +444,7 @@
+ break;
+ case 't':
+ filesystemType = optarg;
++ filesystemOption = optarg;
+ got_filesystemType = 1;
+ break;
+ case 'w':
+@@ -460,6 +512,8 @@
+
+ strcpy(device, m->mnt_fsname);
+ strcpy(directory, m->mnt_dir);
++ if (all && filesystemOption != 0 && !match_fs(filesystemOption, m->mnt_type))
++ continue;
+ filesystemType = bb_xstrdup(m->mnt_type);
+ singlemount:
+ extra_opts = string_flags;
diff --git a/packages/busybox/busybox-static-1.2.1/readlink.patch b/packages/busybox/busybox-static-1.2.1/readlink.patch
new file mode 100644
index 0000000000..0c5431085a
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/readlink.patch
@@ -0,0 +1,85 @@
+diff -p -u -r1.7 Config.in
+--- busybox-1.00/debianutils/Config.in 15 Mar 2004 08:28:24 -0000 1.7
++++ busybox-1.00-patched/debianutils/Config.in 16 Nov 2004 11:46:41 -0000
+@@ -24,6 +24,13 @@ config CONFIG_READLINK
+ This program reads a symbolic link and returns the name
+ of the file it points to
+
++config CONFIG_FEATURE_READLINK_FOLLOW
++ bool " Enable canonicalization by following all symlinks (-f)"
++ default n
++ depends on CONFIG_READLINK
++ help
++ Enable the readlink option (-f).
++
+ config CONFIG_RUN_PARTS
+ bool "run-parts"
+ default n
+diff -p -u -r1.2 readlink.c
+--- busybox-1.00/debianutils/readlink.c 19 Mar 2003 09:11:41 -0000 1.2
++++ busybox-1.00-patched/debianutils/readlink.c 16 Nov 2004 11:46:41 -0000
+@@ -23,18 +23,38 @@
+ #include <errno.h>
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <getopt.h>
+ #include "busybox.h"
+
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++# define READLINK_FOLLOW "f"
++# define READLINK_FLAG_f (1 << 0)
++#else
++# define READLINK_FOLLOW ""
++#endif
++
++static const char readlink_options[] = READLINK_FOLLOW;
++
+ int readlink_main(int argc, char **argv)
+ {
+ char *buf = NULL;
++ unsigned long opt = bb_getopt_ulflags(argc, argv, readlink_options);
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++ RESERVE_CONFIG_BUFFER(resolved_path, PATH_MAX);
++#endif
+
+ /* no options, no getopt */
+
+- if (argc != 2)
++ if (optind + 1 != argc)
+ bb_show_usage();
+
+- buf = xreadlink(argv[1]);
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++ if (opt & READLINK_FLAG_f) {
++ buf = realpath(argv[optind], resolved_path);
++ } else
++#endif
++ buf = xreadlink(argv[optind]);
++
+ if (!buf)
+ return EXIT_FAILURE;
+ puts(buf);
+diff -p -u -r1.222 usage.h
+--- busybox-1.00/include/usage.h 14 Sep 2004 16:23:56 -0000 1.222
++++ busybox-1.00-patched/include/usage.h 16 Nov 2004 11:46:42 -0000
+@@ -1985,10 +1985,18 @@
+ "\t-s\tSet the system date and time (default).\n" \
+ "\t-p\tPrint the date and time."
+
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++#define USAGE_READLINK_FOLLOW(a) a
++#else
++#define USAGE_READLINK_FOLLOW(a)
++#endif
++
+ #define readlink_trivial_usage \
+- ""
++ USAGE_READLINK_FOLLOW("[-f] ") "FILE"
+ #define readlink_full_usage \
+- "Displays the value of a symbolic link."
++ "Displays the value of a symbolic link." \
++ USAGE_READLINK_FOLLOW("\n\nOptions:\n" \
++ "\t-f\tcanonicalize by following all symlinks")
+
+ #define realpath_trivial_usage \
+ "pathname ..."
diff --git a/packages/busybox/busybox-static-1.2.1/rmmod.patch b/packages/busybox/busybox-static-1.2.1/rmmod.patch
new file mode 100644
index 0000000000..20770e0dc4
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/rmmod.patch
@@ -0,0 +1,40 @@
+Index: busybox-1.1.0/modutils/rmmod.c
+===================================================================
+--- busybox-1.1.0.orig/modutils/rmmod.c 2006-01-11 06:43:56.000000000 +0100
++++ busybox-1.1.0/modutils/rmmod.c 2006-03-14 16:42:14.000000000 +0100
+@@ -29,6 +29,7 @@
+ #include <string.h>
+ #include <sys/utsname.h>
+ #include <sys/syscall.h>
++#include <sys/utsname.h>
+ #include "busybox.h"
+
+ #ifdef CONFIG_FEATURE_2_6_MODULES
+@@ -64,6 +65,16 @@
+ but must get */
+ size_t bufsize = sizeof(bb_common_bufsiz1);
+ #endif
++#ifdef CONFIG_FEATURE_2_6_MODULES
++ int k_version = 0;
++ struct utsname myuname;
++
++ if (uname(&myuname) == 0) {
++ if (myuname.release[0] == '2') {
++ k_version = myuname.release[2] - '0';
++ }
++ }
++#endif
+
+ /* Parse command line. */
+ n = bb_getopt_ulflags(argc, argv, "wfa");
+@@ -109,6 +120,10 @@
+ afterslash++;
+ module_name = alloca(strlen(afterslash) + 1);
+ filename2modname(module_name, afterslash);
++ if (k_version != 4)
++ filename2modname(module_name, afterslash);
++ else
++ strcpy(module_name, afterslash);
+ #else
+ #define module_name argv[n]
+ #endif
diff --git a/packages/busybox/busybox-static-1.2.1/syslog.conf b/packages/busybox/busybox-static-1.2.1/syslog.conf
new file mode 100644
index 0000000000..047e82419e
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/syslog.conf
@@ -0,0 +1,9 @@
+DESTINATION="file" # log destinations (buffer file remote)
+MARKINT=20 # interval between --mark-- entries [min]
+REDUCE=no # reduced-size logging
+BUFFERSIZE=64 # buffer: size of circular buffer [kByte]
+LOGFILE=/var/log/messages # file: where to log
+ROTATESIZE=32 # file: rotate log if grown beyond X [kByte] (busybox 1.2+)
+ROTATEGENS=1 # file: keep X generations of rotated logs (busybox 1.2+)
+REMOTE=loghost:514 # remote: where to log
+FOREGROUND=no # run in foreground (don't use!)
diff --git a/packages/busybox/busybox-static-1.2.1/udhcppidfile-breakage.patch b/packages/busybox/busybox-static-1.2.1/udhcppidfile-breakage.patch
new file mode 100644
index 0000000000..031274908b
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/udhcppidfile-breakage.patch
@@ -0,0 +1,57 @@
+--- busybox-1.00/networking/udhcp/common.c~udhcppidfile2
++++ busybox-1.00/networking/udhcp/common.c
+@@ -74,7 +74,7 @@
+
+ if (pid > 0) {
+ /* parent */
+- if (pidfile_reassign(pidfile, pid) < 0) {
++ if (pidfile != NULL && pidfile_reassign(pidfile, pid) < 0) {
+ (void)kill(pid, SIGKILL);
+ exit(1);
+ } else
+@@ -119,7 +119,7 @@
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- if (pidfile_acquire(pidfile) < 0)
++ if (pidfile != NULL && pidfile_acquire(pidfile) < 0)
+ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+@@ -166,7 +166,7 @@
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- if (pidfile_acquire(pidfile) < 0)
++ if (pidfile != NULL && pidfile_acquire(pidfile) < 0)
+ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+--- busybox-1.00/networking/udhcp/pidfile.c~udhcppidfile2
++++ busybox-1.00/networking/udhcp/pidfile.c
+@@ -141,7 +141,11 @@
+ int pidfile_acquire(const char *pidfile)
+ {
+ int fd, result;
+- if (!pidfile) return (-1);
++
++ if (pidfile == NULL) {
++ LOG(LOG_ERR, "pidfile_acquire: filename is NULL\n");
++ return (-1);
++ }
+
+ if ((fd = pidfile_open(pidfile)) < 0)
+ return (-1);
+@@ -170,7 +174,11 @@
+ int pidfile_reassign(const char *pidfile, int pid)
+ {
+ int fd, result;
+- if (!pidfile) return (-1);
++
++ if (pidfile == NULL) {
++ LOG(LOG_ERR, "pidfile_reassign: filename is NULL\n");
++ return (-1);
++ }
+
+ if ((fd = pidfile_open(pidfile)) < 0)
+ return (-1);
diff --git a/packages/busybox/busybox-static-1.2.1/udhcppidfile.patch b/packages/busybox/busybox-static-1.2.1/udhcppidfile.patch
new file mode 100644
index 0000000000..b4b86b8775
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/udhcppidfile.patch
@@ -0,0 +1,274 @@
+Index: busybox-1.1.0/networking/udhcp/pidfile.h
+===================================================================
+--- busybox-1.1.0.orig/networking/udhcp/pidfile.h 2006-01-11 06:43:50.000000000 +0100
++++ busybox-1.1.0/networking/udhcp/pidfile.h 2006-03-14 17:15:45.000000000 +0100
+@@ -21,5 +21,5 @@
+
+
+ int pidfile_acquire(const char *pidfile);
+-void pidfile_write_release(int pid_fd);
++int pidfile_reassign(const char *pidfile, int newpid);
+
+Index: busybox-1.1.0/networking/udhcp/pidfile.c
+===================================================================
+--- busybox-1.1.0.orig/networking/udhcp/pidfile.c 2006-01-11 06:43:50.000000000 +0100
++++ busybox-1.1.0/networking/udhcp/pidfile.c 2006-03-14 17:15:45.000000000 +0100
+@@ -25,6 +25,7 @@
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <errno.h>
+
+ #include "pidfile.h"
+ #include "common.h"
+@@ -37,39 +38,146 @@
+ }
+
+
+-int pidfile_acquire(const char *pidfile)
++static int pidfile_open(const char *pidfile)
+ {
+- int pid_fd;
+- if (!pidfile) return -1;
++ int fd;
+
+- pid_fd = open(pidfile, O_CREAT | O_WRONLY, 0644);
+- if (pid_fd < 0) {
+- LOG(LOG_ERR, "Unable to open pidfile %s: %m\n", pidfile);
+- } else {
+- lockf(pid_fd, F_LOCK, 0);
+- if (!saved_pidfile)
+- atexit(pidfile_delete);
+- saved_pidfile = (char *) pidfile;
++ if ((fd = open(pidfile, O_CREAT | O_RDWR, 0644)) < 0) {
++ LOG(LOG_ERR, "pidfile_open: open %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ /* NOTE: lockf is not inherited by child after fork */
++ if (lockf(fd, F_LOCK, 0) < 0) {
++ LOG(LOG_ERR, "pidfile_open: lock %s failed: %m\n", pidfile);
++ close(fd);
++ return (-1);
++ }
++
++ return (fd);
++}
++
++
++static int pidfile_check(int fd, const char *pidfile)
++{
++ int len, pid;
++ char buf[20];
++
++ if (lseek(fd, 0L, SEEK_SET) < 0) {
++ LOG(LOG_ERR, "pidfile_check: lseek %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ if ((len = read(fd, buf, sizeof buf - 1)) < 0) {
++ LOG(LOG_ERR, "pidfile_check: read %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ if (len == 0)
++ return (0);
++
++ buf[len] = '\0';
++
++ if ((pid = atoi(buf)) <= 1) {
++ LOG(LOG_WARNING,
++ "pidfile_check: ignoring bogus pid (%s) in %s\n",
++ buf, pidfile);
++ return (0);
++ }
++
++ if (kill((pid_t)pid, 0) == 0) {
++ LOG(LOG_ERR, "pidfile_check: process %d exists (%s)\n",
++ pid, pidfile);
++ return (-1);
++ }
++
++ if (errno != ESRCH) {
++ LOG(LOG_ERR, "pidfile_check: kill %d failed (%s): %m\n",
++ pid, pidfile);
++ return (-1);
++ }
++
++ return (0);
++}
++
++
++static int pidfile_store(int fd, const char *pidfile, int pid)
++{
++ int len;
++ char buf[20];
++
++ if (lseek(fd, 0L, SEEK_SET) < 0) {
++ LOG(LOG_ERR, "pidfile_store: lseek %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ len = snprintf(buf, sizeof buf - 1, "%d\n", pid);
++ buf[len] = '\0';
++
++ if (write(fd, buf, len) < 0) {
++ LOG(LOG_ERR, "pidfile_store: write %s failed: %m\n",
++ pidfile);
++ return (-1);
++ }
++
++ if (ftruncate(fd, len) < 0) {
++ LOG(LOG_ERR, "pidfile_store: ftruncate %d failed (%s): %m\n",
++ len, pidfile);
++ return (-1);
+ }
+
+- return pid_fd;
++ return (0);
+ }
+
+
+-void pidfile_write_release(int pid_fd)
++static void pidfile_close(int fd)
+ {
+- FILE *out;
++ (void)lseek(fd, 0L, SEEK_SET);
++ (void)lockf(fd, F_ULOCK, 0);
++ (void)close(fd);
++}
+
+- if (pid_fd < 0) return;
+
+- if ((out = fdopen(pid_fd, "w")) != NULL) {
+- fprintf(out, "%d\n", getpid());
+- fclose(out);
++int pidfile_acquire(const char *pidfile)
++{
++ int fd, result;
++ if (!pidfile) return (-1);
++
++ if ((fd = pidfile_open(pidfile)) < 0)
++ return (-1);
++
++ if ((result = pidfile_check(fd, pidfile)) == 0)
++ result = pidfile_store(fd, pidfile, getpid());
++
++ pidfile_close(fd);
++
++ if (result == 0) {
++ saved_pidfile = (char *) pidfile;
++ atexit(pidfile_delete);
+ }
+- lockf(pid_fd, F_UNLCK, 0);
+- close(pid_fd);
++
++ return (result);
+ }
+
+
++/*
++ * reassign the pid in a pidfile - used just after a fork so a parent
++ * can store the pid of its child into the file without any window
++ * where the pid in the file is a dead process (which might let another
++ * instance of the program start). Note the parent must use _exit() to
++ * avoid triggering the unlink scheduled above in pidfile_acquire()
++ */
++int pidfile_reassign(const char *pidfile, int pid)
++{
++ int fd, result;
++ if (!pidfile) return (-1);
++
++ if ((fd = pidfile_open(pidfile)) < 0)
++ return (-1);
+
++ result = pidfile_store(fd, pidfile, pid);
+
++ pidfile_close(fd);
++
++ return (result);
++}
+Index: busybox-1.1.0/networking/udhcp/common.c
+===================================================================
+--- busybox-1.1.0.orig/networking/udhcp/common.c 2006-01-11 06:43:50.000000000 +0100
++++ busybox-1.1.0/networking/udhcp/common.c 2006-03-14 17:15:45.000000000 +0100
+@@ -64,16 +64,34 @@
+ #ifdef __uClinux__
+ LOG(LOG_ERR, "Cannot background in uclinux (yet)");
+ #else /* __uClinux__ */
+- int pid_fd;
++ int pid, fd;
+
+- /* hold lock during fork. */
+- pid_fd = pidfile_acquire(pidfile);
+- if (daemon(0, 0) == -1) {
++ /* NOTE: lockf is not inherited by the child after fork */
++ if ((pid = fork()) < 0) {
+ perror("fork");
+ exit(1);
+ }
++
++ if (pid > 0) {
++ /* parent */
++ if (pidfile_reassign(pidfile, pid) < 0) {
++ (void)kill(pid, SIGKILL);
++ exit(1);
++ } else
++ _exit(0);
++ }
++
++ /* child */
++ (void)chdir("/");
++ if ((fd = open("/dev/null", O_RDWR)) >= 0) {
++ (void)dup2(fd, 0);
++ (void)dup2(fd, 1);
++ (void)dup2(fd, 2);
++ (void)close(fd);
++ }
++ (void)setsid();
++
+ daemonized++;
+- pidfile_write_release(pid_fd);
+ #endif /* __uClinux__ */
+ }
+
+@@ -97,14 +115,12 @@
+
+ void start_log_and_pid(const char *client_server, const char *pidfile)
+ {
+- int pid_fd;
+-
+ /* Make sure our syslog fd isn't overwritten */
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- pid_fd = pidfile_acquire(pidfile);
+- pidfile_write_release(pid_fd);
++ if (pidfile_acquire(pidfile) < 0)
++ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+ setlinebuf(stdout);
+@@ -150,8 +166,8 @@
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- pid_fd = pidfile_acquire(pidfile);
+- pidfile_write_release(pid_fd);
++ if (pidfile_acquire(pidfile) < 0)
++ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+ setlinebuf(stdout);
+Index: busybox-1.1.0/networking/udhcp/script.c
+===================================================================
+--- busybox-1.1.0.orig/networking/udhcp/script.c 2006-01-11 06:43:50.000000000 +0100
++++ busybox-1.1.0/networking/udhcp/script.c 2006-03-14 17:15:45.000000000 +0100
+@@ -229,6 +229,6 @@
+ execle(client_config.script, client_config.script,
+ name, NULL, envp);
+ LOG(LOG_ERR, "script %s failed: %m", client_config.script);
+- exit(1);
++ _exit(1);
+ }
+ }
diff --git a/packages/busybox/busybox-static-1.2.1/udhcpscript.patch b/packages/busybox/busybox-static-1.2.1/udhcpscript.patch
new file mode 100644
index 0000000000..fc21d440cd
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/udhcpscript.patch
@@ -0,0 +1,17 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.00-rc3/examples/udhcp/simple.script~udhcpscript
++++ busybox-1.00-rc3/examples/udhcp/simple.script
+@@ -17,8 +17,7 @@
+ /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+ if [ -n "$router" ] ; then
+- echo "deleting routers"
+- while route del default gw 0.0.0.0 dev $interface ; do
++ while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
+ :
+ done
+
diff --git a/packages/busybox/busybox-static-1.2.1/wget-long-options.patch b/packages/busybox/busybox-static-1.2.1/wget-long-options.patch
new file mode 100644
index 0000000000..3c5920a3cb
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/wget-long-options.patch
@@ -0,0 +1,20 @@
+--- busybox-1.2.1.orig/networking/wget.c
++++ busybox-1.2.1/networking/wget.c
+@@ -136,7 +136,7 @@
+ #define WGET_OPT_PREFIX 32
+ #define WGET_OPT_PROXY 64
+
+-#if ENABLE_WGET_LONG_OPTIONS
++#if CONFIG_FEATURE_WGET_LONG_OPTIONS
+ static const struct option wget_long_options[] = {
+ { "continue", 0, NULL, 'c' },
+ { "quiet", 0, NULL, 'q' },
+@@ -180,7 +180,7 @@
+ * Crack command line.
+ */
+ bb_opt_complementally = "-1:\203::";
+-#if ENABLE_WGET_LONG_OPTIONS
++#if CONFIG_FEATURE_WGET_LONG_OPTIONS
+ bb_applet_long_options = wget_long_options;
+ #endif
+ opt = bb_getopt_ulflags(argc, argv, "cq\213O:\203:P:Y:",
diff --git a/packages/busybox/busybox-static-1.2.1/xargs-double-size.patch b/packages/busybox/busybox-static-1.2.1/xargs-double-size.patch
new file mode 100644
index 0000000000..df64554ffc
--- /dev/null
+++ b/packages/busybox/busybox-static-1.2.1/xargs-double-size.patch
@@ -0,0 +1,13 @@
+--- busybox-1.2.1/findutils/xargs.c.org 2006-09-19 18:18:17.084592997 +0200
++++ busybox-1.2.1/findutils/xargs.c 2006-09-19 18:18:09.820275793 +0200
+@@ -466,8 +466,8 @@
+ have it at 1 meg). Things will work fine with a large ARG_MAX but it
+ will probably hurt the system more than it needs to; an array of this
+ size is allocated. */
+- if (orig_arg_max > 20 * 1024)
+- orig_arg_max = 20 * 1024;
++ if (orig_arg_max > 40 * 1024)
++ orig_arg_max = 40 * 1024;
+ n_max_chars = orig_arg_max;
+ }
+ max_chars = xmalloc(n_max_chars);
diff --git a/packages/busybox/busybox_1.6.0.bb b/packages/busybox/busybox_1.6.0.bb
new file mode 100644
index 0000000000..a8678602e7
--- /dev/null
+++ b/packages/busybox/busybox_1.6.0.bb
@@ -0,0 +1,104 @@
+require busybox.inc
+
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += "file://dhcp-increase-retries.patch;patch=1 \
+ file://df_rootfs.patch;patch=1 \
+ file://defconfig"
+
+EXTRA_OEMAKE_append = " V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
+
+do_configure () {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ cml1_do_configure
+}
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ base_do_compile
+}
+
+do_install () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ install -d ${D}${sysconfdir}/init.d
+ oe_runmake "PREFIX=${D}" install
+ cp -pPR ${S}/_install/* ${D}/
+
+ # Move everything to /busybox (not supposed to end up in any package)
+ install -d ${D}/busybox
+ ls ${D} -R
+
+ cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/
+ # Move the busybox binary back to /bin
+ install -d ${D}${base_bindir}
+ mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/
+ # Move back the sh symlink
+ test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
+
+ install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
+ install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
+ if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
+ # Move crond back to /usr/sbin/crond
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then
+ # Move httpd back to /usr/sbin/httpd
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
+ install -d ${D}/srv/www
+ fi
+ if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then
+ # Move udhcpd back to /usr/sbin/udhcpd
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then
+ # Move hwclock back to /sbin/hwclock
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/
+
+ install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
+ # Move dhcpc back to /usr/sbin/udhcpc
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
+
+ install -d ${D}${sysconfdir}/udhcpc.d
+ install -d ${D}${datadir}/udhcpc
+ install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
+ install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
+ fi
+
+ install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
+}
+
+pkg_prerm_${PN} () {
+ # This is so you can make busybox commit suicide - removing busybox with no other packages
+ # providing its files, this will make update-alternatives work, but the update-rc.d part
+ # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
+ tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
+ ln -s /bin/busybox $tmpdir/[
+ ln -s /bin/busybox $tmpdir/test
+ ln -s /bin/busybox $tmpdir/head
+ ln -s /bin/busybox $tmpdir/sh
+ ln -s /bin/busybox $tmpdir/basename
+ ln -s /bin/busybox $tmpdir/echo
+ ln -s /bin/busybox $tmpdir/mv
+ ln -s /bin/busybox $tmpdir/ln
+ ln -s /bin/busybox $tmpdir/dirname
+ ln -s /bin/busybox $tmpdir/rm
+ ln -s /bin/busybox $tmpdir/sed
+ ln -s /bin/busybox $tmpdir/sort
+ export PATH=$PATH:$tmpdir
+ while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; sh /usr/bin/update-alternatives --remove $bn $to; done </etc/busybox.links
+}
diff --git a/packages/classpath/classpath-minimal-native_0.93.bb b/packages/classpath/classpath-minimal-native_0.93.bb
index 8a08a6c1ce..f8e88a0217 100644
--- a/packages/classpath/classpath-minimal-native_0.93.bb
+++ b/packages/classpath/classpath-minimal-native_0.93.bb
@@ -1,8 +1,9 @@
require classpath.inc
DEPENDS = "glib-2.0 libart-lgpl pango libxtst jikes-native zip-native"
+PR = "r1"
-SRC_URI += "file://gconf_version.patch;patch=1"
+S = "${WORKDIR}/classpath-${PV}"
inherit native
diff --git a/packages/classpath/classpath.inc b/packages/classpath/classpath.inc
index e66f5d7456..1d684c0557 100644
--- a/packages/classpath/classpath.inc
+++ b/packages/classpath/classpath.inc
@@ -8,6 +8,7 @@ RPROVIDES = "classpath"
SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz \
file://disable-automake-checks.patch;patch=1 \
+ file://gconf_version.patch;patch=1 \
file://fix-endian-arm-floats.patch;patch=1"
inherit autotools
diff --git a/packages/e17/expedite_cvs.bb b/packages/e17/expedite_cvs.bb
new file mode 100644
index 0000000000..69e0df9dbe
--- /dev/null
+++ b/packages/e17/expedite_cvs.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Expedite is a comprehensive benchmarking suite for evas"
+DEPENDS = "evas-x11"
+LICENSE = "MIT"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r0"
+
+inherit e
+
+SRC_URI = "cvs://anonymous@anoncvs.enlightenment.org/var/cvs/e;module=e17/apps/expedite"
+
+S = "${WORKDIR}/${PN}"
+
+do_configure_append() {
+ find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+}
+
diff --git a/packages/gaim/pidgin.inc b/packages/gaim/pidgin.inc
index b1c4087989..64eb6bd143 100644
--- a/packages/gaim/pidgin.inc
+++ b/packages/gaim/pidgin.inc
@@ -63,6 +63,11 @@ python populate_packages_prepend () {
description='Libpurple protocol plugin for %s',
prepend=True, extra_depends='')
+ do_split_packages(d, purple, '^(ssl-.*)\.so$',
+ output_pattern='libpurple-plugin-%s',
+ description='libpurple plugin %s',
+ prepend=True, extra_depends='libpurple-plugin-ssl')
+
do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
output_pattern='libpurple-plugin-%s',
description='libpurple plugin %s',
diff --git a/packages/gaim/pidgin_2.0.1.bb b/packages/gaim/pidgin_2.0.1.bb
index 411b49ff4b..961467ad95 100644
--- a/packages/gaim/pidgin_2.0.1.bb
+++ b/packages/gaim/pidgin_2.0.1.bb
@@ -5,4 +5,4 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
file://gconf-no-errors.patch;patch=1 \
"
-PR = "r2"
+PR = "r3"
diff --git a/packages/gcc/gcc-cross-initial_3.3.3.bb b/packages/gcc/gcc-cross-initial_3.3.3.bb
index c650e4fe57..4fccaf3888 100644
--- a/packages/gcc/gcc-cross-initial_3.3.3.bb
+++ b/packages/gcc/gcc-cross-initial_3.3.3.bb
@@ -4,6 +4,7 @@ require gcc-cross_${PV}.bb
DEPENDS = "virtual/${TARGET_PREFIX}binutils"
DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
# This is intended to be a -very- basic config
EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
diff --git a/packages/gcc/gcc-cross-sdk_4.1.2.bb b/packages/gcc/gcc-cross-sdk_4.1.2.bb
index c95c2e5953..c42f419766 100644
--- a/packages/gcc/gcc-cross-sdk_4.1.2.bb
+++ b/packages/gcc/gcc-cross-sdk_4.1.2.bb
@@ -1,8 +1,4 @@
-DESCRIPTION = "The GNU cc and gcc C compilers."
-HOMEPAGE = "http://www.gnu.org/software/gcc/"
-SECTION = "devel"
-LICENSE = "GPL"
-PR = "r0"
+PR = "r2"
inherit sdk
@@ -15,27 +11,3 @@ require gcc_${PV}.bb
require gcc4-build-sdk.inc
require gcc-package-sdk.inc
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 \
- file://100-uclibc-conf.patch;patch=1 \
- file://110-arm-eabi.patch;patch=1 \
- file://200-uclibc-locale.patch;patch=1 \
- file://300-libstdc++-pic.patch;patch=1 \
- file://301-missing-execinfo_h.patch;patch=1 \
- file://302-c99-snprintf.patch;patch=1 \
- file://303-c99-complex-ugly-hack.patch;patch=1 \
- file://304-index_macro.patch;patch=1 \
- file://602-sdk-libstdc++-includes.patch;patch=1 \
- file://740-sh-pr24836.patch;patch=1 \
- file://800-arm-bigendian.patch;patch=1 \
- file://arm-nolibfloat.patch;patch=1 \
- file://arm-softfloat.patch;patch=1 \
- file://gcc41-configure.in.patch;patch=1 \
- file://arm-thumb.patch;patch=1 \
- file://arm-thumb-cache.patch;patch=1 \
- file://ldflags.patch;patch=1 \
- file://unbreak-armv4t.patch;patch=1 \
- file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
- "
-
-SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
-
diff --git a/packages/gcc/gcc-package-cross.inc b/packages/gcc/gcc-package-cross.inc
index d9fe3bef4f..a7a4908120 100644
--- a/packages/gcc/gcc-package-cross.inc
+++ b/packages/gcc/gcc-package-cross.inc
@@ -7,7 +7,6 @@ OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
INHIBIT_PACKAGE_STRIP = "1"
PACKAGES = "libgcc libgcc-dev libstdc++ libg2c libg2c-dev libgfortran libgfortran-dev"
-PACKAGES_DYNAMIC = "libgcc* libstdc* libg2c* libgfortran*"
# Called from within gcc-cross, so libdir is set wrong
FILES_libg2c = "${target_libdir}/libg2c.so.*"
diff --git a/packages/glibc/glibc-intermediate_2.4.bb b/packages/glibc/glibc-intermediate_2.4.bb
index 75dae48532..e6aad1cc63 100644
--- a/packages/glibc/glibc-intermediate_2.4.bb
+++ b/packages/glibc/glibc-intermediate_2.4.bb
@@ -7,6 +7,7 @@ do_install () {
}
PACKAGES = ""
+PACKAGES_DYNAMIC = ""
PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
GLIBC_ADDONS = "nptl,ports"
diff --git a/packages/glibc/glibc-intermediate_2.5.bb b/packages/glibc/glibc-intermediate_2.5.bb
index 7f34af2b0d..7610f560a7 100644
--- a/packages/glibc/glibc-intermediate_2.5.bb
+++ b/packages/glibc/glibc-intermediate_2.5.bb
@@ -12,6 +12,7 @@ do_configure_prepend() {
PACKAGES = ""
+PACKAGES_DYNAMIC = ""
PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
GLIBC_ADDONS = "nptl,ports"
diff --git a/packages/glibc/glibc-intermediate_2.6.bb b/packages/glibc/glibc-intermediate_2.6.bb
index 7f34af2b0d..7610f560a7 100644
--- a/packages/glibc/glibc-intermediate_2.6.bb
+++ b/packages/glibc/glibc-intermediate_2.6.bb
@@ -12,6 +12,7 @@ do_configure_prepend() {
PACKAGES = ""
+PACKAGES_DYNAMIC = ""
PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
GLIBC_ADDONS = "nptl,ports"
diff --git a/packages/glibc/glibc-intermediate_cvs.bb b/packages/glibc/glibc-intermediate_cvs.bb
index 2283037c87..4f9d58ee6f 100644
--- a/packages/glibc/glibc-intermediate_cvs.bb
+++ b/packages/glibc/glibc-intermediate_cvs.bb
@@ -8,6 +8,7 @@ do_install () {
}
PACKAGES = ""
+PACKAGES_DYNAMIC = ""
PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
GLIBC_ADDONS = "linuxthreads"
diff --git a/packages/gnome/gnome-doc-utils_0.10.3.bb b/packages/gnome/gnome-doc-utils_0.10.3.bb
index e39aa4018b..315cdbd160 100644
--- a/packages/gnome/gnome-doc-utils_0.10.3.bb
+++ b/packages/gnome/gnome-doc-utils_0.10.3.bb
@@ -1,4 +1,4 @@
-LICENSE = "GPL/LGPL"
+LICENSE = "GPL LGPL"
DEPENDS = "libxml2 libxslt"
PR = "r0"
diff --git a/packages/gnome/gnome-doc-utils_0.7.1.bb b/packages/gnome/gnome-doc-utils_0.7.1.bb
index f190a5ae13..86a36c4bd7 100644
--- a/packages/gnome/gnome-doc-utils_0.7.1.bb
+++ b/packages/gnome/gnome-doc-utils_0.7.1.bb
@@ -1,4 +1,4 @@
-LICENSE = "GPL/LGPL"
+LICENSE = "GPL LGPL"
DEPENDS = "libxml2 libxslt"
PR = "r1"
diff --git a/packages/gpe-announce/files/.mtn2git_empty b/packages/gpe-announce/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gpe-announce/files/.mtn2git_empty
diff --git a/packages/gpe-announce/files/fix-esound.diff b/packages/gpe-announce/files/fix-esound.diff
new file mode 100644
index 0000000000..71ff7e8f2c
--- /dev/null
+++ b/packages/gpe-announce/files/fix-esound.diff
@@ -0,0 +1,24 @@
+diff -ruN gpe-announce-0.13/callbacks.c gpe-announce-0.13-new/callbacks.c
+--- gpe-announce-0.13/callbacks.c 2007-06-14 20:56:15.000000000 +0400
++++ gpe-announce-0.13-new/callbacks.c 2005-08-24 23:04:31.000000000 +0400
+@@ -28,7 +28,7 @@
+ #include <linux/soundcard.h>
+ #include <pthread.h>
+
+-#include <gpe/soundgen.h>
++#include <soundgen.h>
+ #include <gpe/schedule.h>
+
+ #include <linux/types.h>
+diff -ruN gpe-announce-0.13/Makefile gpe-announce-0.13-new/Makefile
+--- gpe-announce-0.13/Makefile 2007-06-14 20:30:00.000000000 +0400
++++ gpe-announce-0.13-new/Makefile 2007-06-14 20:28:30.000000000 +0400
+@@ -43,7 +43,7 @@
+ all: $(PACKAGE)
+
+ $(PACKAGE): $(OBJS)
+- $(CC) -o $@ $^ $(LDFLAGS) $(PACKAGE_LDFLAGS) -lsoundgen -lschedule
++ $(CC) -o $@ $^ $(LDFLAGS) $(PACKAGE_LDFLAGS) -lsoundgen -lschedule -lesd
+
+ install-program: all
+ install -d $(DESTDIR)$(PREFIX)/bin
diff --git a/packages/gpe-announce/gpe-announce_0.13.bb b/packages/gpe-announce/gpe-announce_0.13.bb
index 6124b4c4a8..6ffe317a12 100644
--- a/packages/gpe-announce/gpe-announce_0.13.bb
+++ b/packages/gpe-announce/gpe-announce_0.13.bb
@@ -2,4 +2,6 @@ inherit gpe
DEPENDS = "libsoundgen libschedule gtk+ libgpewidget"
LICENSE = "GPL"
+PR = "r1"
+SRC_URI += "file://fix-esound.diff;patch=1"
diff --git a/packages/gpe-todo/gpe-todo_svn.bb b/packages/gpe-todo/gpe-todo_svn.bb
index 22b2e3ec3c..1bde72df25 100644
--- a/packages/gpe-todo/gpe-todo_svn.bb
+++ b/packages/gpe-todo/gpe-todo_svn.bb
@@ -4,6 +4,8 @@ DEPENDS = "libgpewidget libgpepimc libtododb gtk+"
SECTION = "gpe"
PRIORITY = "optional"
+DEFAULT_PREFERENCE = "-1"
+
inherit autotools pkgconfig
SRC_URI="${GPE_SVN}"
diff --git a/packages/gspcav1/gspcav1_20070110.bb b/packages/gspcav1/gspcav1_20070110.bb
index e1fc443d36..40a99d9bd9 100644
--- a/packages/gspcav1/gspcav1_20070110.bb
+++ b/packages/gspcav1/gspcav1_20070110.bb
@@ -4,7 +4,9 @@ PRIORITY = "optional"
SECTION = "kernel/modules"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
+
+RRECOMMENDS = "kernel-module-videodev kernel-module-v4l1-compat kernel-module-v4l2-common"
SRC_URI = "http://mxhaard.free.fr/spca50x/Download/oldrelease/${PN}-${PV}.tar.gz \
file://Makefile.patch;patch=1 \
diff --git a/packages/gspcav1/gspcav1_20070508.bb b/packages/gspcav1/gspcav1_20070508.bb
index 14c98e3e3a..866d32b86a 100644
--- a/packages/gspcav1/gspcav1_20070508.bb
+++ b/packages/gspcav1/gspcav1_20070508.bb
@@ -6,7 +6,9 @@ LICENSE = "GPL"
DEFAULT_PREFERENCE = "-1"
-PR = "r1"
+PR = "r2"
+
+RRECOMMENDS = "kernel-module-videodev kernel-module-v4l1-compat kernel-module-v4l2-common"
SRC_URI = "http://mxhaard.free.fr/spca50x/Download/oldrelease/${PN}-${PV}.tar.gz \
file://Makefile.patch;patch=1 \
diff --git a/packages/gtk+/gtk+_2.10.12.bb b/packages/gtk+/gtk+_2.10.12.bb
index 895d10e4f3..d344eb42ed 100644
--- a/packages/gtk+/gtk+_2.10.12.bb
+++ b/packages/gtk+/gtk+_2.10.12.bb
@@ -1,6 +1,6 @@
require gtk-2.10.inc
-PR = "r1"
+PR = "r2"
# disable per default - untested and not all patches included.
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/gtk+/gtk-2.10.inc b/packages/gtk+/gtk-2.10.inc
index 7f610294d1..cc97e960a4 100644
--- a/packages/gtk+/gtk-2.10.inc
+++ b/packages/gtk+/gtk-2.10.inc
@@ -28,10 +28,10 @@ FILES_${PN}-dbg += " \
RRECOMMENDS_${PN} = " ttf-dejavu-sans"
-RRECOMMENDS_${PN}_angstrom += " gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-RRECOMMENDS_${PN}_openzaurus += " gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-RRECOMMENDS_${PN}_linux += " glibc-gconv-iso8859-1"
-
+RRECOMMENDS_${PN}_append_angstrom = " gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
+RRECOMMENDS_${PN}_append_openzaurus = " gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
+RRECOMMENDS_${PN}_append_linux = " glibc-gconv-iso8859-1"
+RRECOMMENDS_${PN}_append_linux-gnueabi = " glibc-gconv-iso8859-1"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
diff --git a/packages/gtkmm/gtkmm_2.4.8.bb b/packages/gtkmm/gtkmm_2.4.8.bb
deleted file mode 100644
index 1c5a2a2b10..0000000000
--- a/packages/gtkmm/gtkmm_2.4.8.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require gtkmm.inc
-
-SRC_URI = "${GNOME_MIRROR}/gtkmm/2.4/gtkmm-${PV}.tar.bz2"
-
-do_stage () {
- oe_libinstall -so -C atk/atkmm libatkmm-1.6 ${STAGING_LIBDIR}
- oe_libinstall -so -C pango/pangomm libpangomm-1.4 ${STAGING_LIBDIR}
- oe_libinstall -so -C gdk/gdkmm libgdkmm-2.4 ${STAGING_LIBDIR}
- oe_libinstall -so -C gtk/gtkmm libgtkmm-2.4 ${STAGING_LIBDIR}
-
- autotools_stage_includes
-
- install -m 0644 gdk/gdkmmconfig.h ${STAGING_INCDIR}/gtkmm-2.4
- install -m 0644 gtk/gtkmmconfig.h ${STAGING_INCDIR}/gtkmm-2.4
-}
diff --git a/packages/gtkterm/.mtn2git_empty b/packages/gtkterm/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gtkterm/.mtn2git_empty
diff --git a/packages/gtkterm/gtkterm2_0.2.3.bb b/packages/gtkterm/gtkterm2_0.2.3.bb
new file mode 100644
index 0000000000..c86c0c4a47
--- /dev/null
+++ b/packages/gtkterm/gtkterm2_0.2.3.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "A lightweight terminal emulator based on VTE and Gtk+"
+HOMEPAGE = "http://gtkterm.feige.net/"
+AUTHOR = "Oliver Feige"
+SECTION = "x11/terminals"
+DEPENDS = "gtk+ vte"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gtkterm/gtkterm2-${PV}.tar.gz"
+
+inherit autotools
+
diff --git a/packages/icewm/icewm-1.2.30/.mtn2git_empty b/packages/icewm/icewm-1.2.30/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/icewm/icewm-1.2.30/.mtn2git_empty
diff --git a/packages/icewm/icewm-1.2.26/configure.patch b/packages/icewm/icewm-1.2.30/configure.patch
index ade427d5e0..ade427d5e0 100644
--- a/packages/icewm/icewm-1.2.26/configure.patch
+++ b/packages/icewm/icewm-1.2.30/configure.patch
diff --git a/packages/icewm/icewm-1.2.26/makefile.patch b/packages/icewm/icewm-1.2.30/makefile.patch
index 9473c9b2a9..9473c9b2a9 100644
--- a/packages/icewm/icewm-1.2.26/makefile.patch
+++ b/packages/icewm/icewm-1.2.30/makefile.patch
diff --git a/packages/icewm/icewm_1.2.26.bb b/packages/icewm/icewm_1.2.30.bb
index 47d4fc8189..5266b0adb9 100644
--- a/packages/icewm/icewm_1.2.26.bb
+++ b/packages/icewm/icewm_1.2.30.bb
@@ -8,8 +8,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/icewm/icewm-${PV}.tar.gz \
file://makefile.patch;patch=1 \
file://configure.patch;patch=1"
-S = "${WORKDIR}/icewm-${PV}"
-
inherit autotools pkgconfig
EXTRA_OECONF = "--disable-i18n --without-imlib --with-xpm --with-gnome-menus \
diff --git a/packages/intltool/intltool-native_0.35.5.bb b/packages/intltool/intltool-native_0.35.5.bb
new file mode 100644
index 0000000000..ba9b90c07a
--- /dev/null
+++ b/packages/intltool/intltool-native_0.35.5.bb
@@ -0,0 +1,9 @@
+require intltool_${PV}.bb
+
+inherit native
+DEPENDS = "libxml-parser-perl-native"
+
+export PERL = "/usr/bin/env perl"
+SRC_URI_append = " file://intltool-nowarn.patch;patch=1"
+
+DEFAULT_PREFERENCE = "-1"
diff --git a/packages/intltool/intltool.inc b/packages/intltool/intltool.inc
index f4de1ff4aa..410a89cfa3 100644
--- a/packages/intltool/intltool.inc
+++ b/packages/intltool/intltool.inc
@@ -3,7 +3,8 @@ PRIORITY = "optional"
SECTION = "devel"
LICENSE = "GPL"
-SRC_URI = "${GNOME_MIRROR}/intltool/${PV}/intltool-${PV}.tar.bz2"
+URLV="${@'.'.join(bb.data.getVar('PV',d,1).split('.')[0:2])}"
+SRC_URI = "${GNOME_MIRROR}/intltool/${URLV}/intltool-${PV}.tar.bz2"
S = "${WORKDIR}/intltool-${PV}"
inherit autotools pkgconfig
diff --git a/packages/intltool/intltool_0.35.5.bb b/packages/intltool/intltool_0.35.5.bb
new file mode 100644
index 0000000000..e13e376f12
--- /dev/null
+++ b/packages/intltool/intltool_0.35.5.bb
@@ -0,0 +1,10 @@
+require intltool.inc
+
+DEPENDS = "libxml-parser-perl-native"
+#RDEPENDS = "libxml-parser-perl"
+
+PR = "r0"
+
+RRECOMMENDS = "perl-modules"
+
+DEFAULT_PREFERENCE = "-1"
diff --git a/packages/jamvm/jamvm_1.4.2.bb b/packages/jamvm/jamvm_1.4.5.bb
index 489b4fb94b..489b4fb94b 100644
--- a/packages/jamvm/jamvm_1.4.2.bb
+++ b/packages/jamvm/jamvm_1.4.5.bb
diff --git a/packages/konqueror/konqueror-embedded-20070212/dont-use-kde-config.patch b/packages/konqueror/konqueror-embedded-20070212/dont-use-kde-config.patch
new file mode 100644
index 0000000000..c9f40c8a5f
--- /dev/null
+++ b/packages/konqueror/konqueror-embedded-20070212/dont-use-kde-config.patch
@@ -0,0 +1,43 @@
+--- ./acinclude.m4
++++ ./acinclude.m4
+@@ -4937,31 +4937,11 @@ AC_DEFUN([KDE_SET_PREFIX],
+ AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
+
+ KDE_SET_DEFAULT_BINDIRS
+- if test "x$prefix" = "xNONE"; then
+- dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
+- KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+- else
+- dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
+- kde_save_PATH="$PATH"
+- PATH="$exec_prefix/bin:$prefix/bin:$PATH"
+- KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+- PATH="$kde_save_PATH"
+- fi
+-
+- kde_libs_prefix=`$KDECONFIG --prefix`
+- if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+- AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+- This means it has been moved since you installed it.
+- This won't work. Please recompile kdelibs for the new prefix.
+- ])
+- fi
+- kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+- kde_libs_suffix=`$KDECONFIG --libsuffix`
+
+ AC_MSG_CHECKING([where to install])
+ if test "x$prefix" = "xNONE"; then
+ prefix=$kde_libs_prefix
+- AC_MSG_RESULT([$prefix (as returned by kde-config)])
++ AC_MSG_RESULT([$prefix (as NOT returned by kde-config)])
+ else
+ dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
+ given_prefix=$prefix
+@@ -4973,7 +4953,6 @@ AC_DEFUN([KDE_SET_PREFIX],
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+- AC_SUBST(KDECONFIG)
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+
diff --git a/packages/konqueror/konqueror-embedded_20030705.bb b/packages/konqueror/konqueror-embedded_20030705.bb
index e73a0e206d..979c1ce305 100644
--- a/packages/konqueror/konqueror-embedded_20030705.bb
+++ b/packages/konqueror/konqueror-embedded_20030705.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.konqueror.org/embedded"
SECTION = "opie/applications"
PRIORITY = "optional"
DEPENDS = "libqpe-opie openssl libpcre"
-LICENSE = "LGPL/GPL"
+LICENSE = "LGPL GPL"
PR = "r5"
# Note if this .bb files fails with the error:
diff --git a/packages/konqueror/konqueror-embedded_20060404.bb b/packages/konqueror/konqueror-embedded_20060404.bb
index 159b6dd625..9acfc71204 100644
--- a/packages/konqueror/konqueror-embedded_20060404.bb
+++ b/packages/konqueror/konqueror-embedded_20060404.bb
@@ -3,7 +3,7 @@ SECTION = "opie/applications"
PRIORITY = "optional"
HOMEPAGE = "http://www.konqueror.org/"
DEPENDS = "openssl libpcre virtual/libqte2 dcopidl-native dcopidl2cpp-native"
-LICENSE = "LGPL/GPL"
+LICENSE = "LGPL GPL"
PR = "r3"
# this Konqueror needs the KDEDIR set and the font helvetica installed on the target
diff --git a/packages/konqueror/konqueror-embedded_20070212.bb b/packages/konqueror/konqueror-embedded_20070212.bb
index 31eebaa860..912597c223 100644
--- a/packages/konqueror/konqueror-embedded_20070212.bb
+++ b/packages/konqueror/konqueror-embedded_20070212.bb
@@ -3,7 +3,7 @@ SECTION = "opie/applications"
PRIORITY = "optional"
HOMEPAGE = "http://www.konqueror.org/"
DEPENDS = "openssl libpcre virtual/libqte2 dcopidl-native dcopidl2cpp-native"
-LICENSE = "LGPL/GPL"
+LICENSE = "LGPL GPL"
PR = "r4"
# this Konqueror needs the KDEDIR set and the font helvetica installed on the target
@@ -11,6 +11,7 @@ PR = "r4"
inherit autotools
SRC_URI = "http://www.basyskom.de/uploads/175/35/kdenox_snapshot_Qt2_2007.02.12.tar.bz2 \
+ file://dont-use-kde-config.patch;patch=1 \
file://konqe_new_opie.patch;patch=1 \
file://konqe-kapplication.patch;patch=1"
S = "${WORKDIR}/kdenox"
diff --git a/packages/libgpevtype/libgpevtype_0.50.bb b/packages/libgpevtype/libgpevtype_0.50.bb
index b9d0c19378..a47217a444 100644
--- a/packages/libgpevtype/libgpevtype_0.50.bb
+++ b/packages/libgpevtype/libgpevtype_0.50.bb
@@ -2,8 +2,8 @@ LICENSE = "LGPL"
DESCRIPTION = "Data interchange library for GPE"
SECTION = "gpe/libs"
PRIORITY = "optional"
-DEPENDS = "libmimedir libeventdb"
-PR = "r0"
+DEPENDS = "libmimedir libeventdb libtododb"
+PR = "r1"
inherit pkgconfig gpe autotools
diff --git a/packages/libxosd/files/use-sane-default-font.patch b/packages/libxosd/files/use-sane-default-font.patch
new file mode 100644
index 0000000000..0ede1351e2
--- /dev/null
+++ b/packages/libxosd/files/use-sane-default-font.patch
@@ -0,0 +1,13 @@
+Index: current/src/libxosd/xosd.c
+===================================================================
+--- current.orig/src/libxosd/xosd.c 2007-06-16 19:37:48.000000000 +0000
++++ current/src/libxosd/xosd.c 2007-06-17 05:00:47.000000000 +0000
+@@ -26,7 +26,7 @@
+ #define XOFFSET 10
+
+ const char * const osd_default_font =
+- "-misc-fixed-medium-r-semicondensed--*-*-*-*-c-*-*-*";
++ "fixed";
+ #if 0
+ "-adobe-helvetica-bold-r-*-*-10-*";
+ #endif
diff --git a/packages/libxosd/libxosd_svn.bb b/packages/libxosd/libxosd_svn.bb
index 055568cf4b..ef1068d035 100644
--- a/packages/libxosd/libxosd_svn.bb
+++ b/packages/libxosd/libxosd_svn.bb
@@ -3,10 +3,11 @@ SECTION = "libs/x11"
DEPENDS = "virtual/libx11 libxext"
LICENSE = "LGPL"
PV = "2.2.15+svn${SRCDATE}"
-PR = "r0"
+PR = "r4"
SRC_URI = "svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https \
- file://autofoo.patch;patch=1"
+ file://autofoo.patch;patch=1 \
+ file://use-sane-default-font.patch;patch=1"
S = "${WORKDIR}/current"
inherit autotools binconfig
diff --git a/packages/linux/linux-2.6.20/.mtn2git_empty b/packages/linux/linux-2.6.20/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.20/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.20/at91sam9263ek/.mtn2git_empty b/packages/linux/linux-2.6.20/at91sam9263ek/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.20/at91sam9263ek/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.20/at91sam9263ek/defconfig b/packages/linux/linux-2.6.20/at91sam9263ek/defconfig
new file mode 100644
index 0000000000..220ee87479
--- /dev/null
+++ b/packages/linux/linux-2.6.20/at91sam9263ek/defconfig
@@ -0,0 +1,1393 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.20
+# Thu Jun 14 13:48:57 2007
+#
+CONFIG_ARM=y
+# CONFIG_GENERIC_TIME is not set
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARCH_AT91=y
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+
+#
+# Atmel AT91 System-on-Chip
+#
+# CONFIG_ARCH_AT91RM9200 is not set
+# CONFIG_ARCH_AT91SAM9260 is not set
+# CONFIG_ARCH_AT91SAM9261 is not set
+CONFIG_ARCH_AT91SAM9263=y
+
+#
+# AT91SAM9263 Board Type
+#
+CONFIG_MACH_AT91SAM9263EK=y
+
+#
+# AT91 Board Options
+#
+CONFIG_MTD_AT91_DATAFLASH_CARD=y
+# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set
+
+#
+# AT91 Feature Selections
+#
+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,17105363 root=/dev/ram0 rw"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+CONFIG_IEEE80211_SOFTMAC=m
+CONFIG_IEEE80211_SOFTMAC_DEBUG=y
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_AT91=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=24576
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+# CONFIG_ATA is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+CONFIG_DAVICOM_PHY=y
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_FIXED_PHY is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_MACB=y
+# CONFIG_MACB_TX_SRAM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+CONFIG_NET_WIRELESS_RTNETLINK=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+CONFIG_STRIP=m
+CONFIG_USB_ZD1201=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+# CONFIG_SERIAL_ATMEL_TTYAT is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_ATMEL=y
+# CONFIG_SPI_BITBANG is not set
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+# CONFIG_TIFM_CORE is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+CONFIG_LEDS_AT91=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_ATMEL=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=m
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_DEVICE=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_AIRPRIME=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_DEBUG=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+CONFIG_USB_GADGET_AT91=y
+CONFIG_USB_AT91=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_AT91=y
+# CONFIG_MMC_TIFM_SD is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=m
+CONFIG_RTC_INTF_PROC=m
+CONFIG_RTC_INTF_DEV=m
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_TEST=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_V3020=m
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_XFS_FS=m
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_SECURITY is not set
+# CONFIG_XFS_POSIX_ACL is not set
+# CONFIG_XFS_RT is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="UTF8"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_ERRORS is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_PLIST=y
+CONFIG_IOMAP_COPY=y
diff --git a/packages/linux/linux-rp-2.6.20/defconfig-akita b/packages/linux/linux-rp-2.6.20/defconfig-akita
index cdaf06f7bc..c20d0c2030 100644
--- a/packages/linux/linux-rp-2.6.20/defconfig-akita
+++ b/packages/linux/linux-rp-2.6.20/defconfig-akita
@@ -922,7 +922,53 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
#
# Multimedia devices
#
-# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+
+#
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_USB_DSBR is not set
+
+#
#
# Digital Video Broadcasting Devices
diff --git a/packages/linux/linux-rp-2.6.20/defconfig-spitz b/packages/linux/linux-rp-2.6.20/defconfig-spitz
index 572f212544..ed290b2959 100644
--- a/packages/linux/linux-rp-2.6.20/defconfig-spitz
+++ b/packages/linux/linux-rp-2.6.20/defconfig-spitz
@@ -936,9 +936,54 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
#
# Multimedia devices
#
-# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=y
+ #
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_USB_DSBR is not set
+
+#
+
#
# Digital Video Broadcasting Devices
#
diff --git a/packages/linux/linux-rp_2.6.20.bb b/packages/linux/linux-rp_2.6.20.bb
index 9ef9413641..95a87621d7 100644
--- a/packages/linux/linux-rp_2.6.20.bb
+++ b/packages/linux/linux-rp_2.6.20.bb
@@ -1,6 +1,6 @@
require linux-rp.inc
-PR = "r17"
+PR = "r18"
# Handy URLs
# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
diff --git a/packages/linux/linux.inc b/packages/linux/linux.inc
new file mode 100644
index 0000000000..d4f98f0978
--- /dev/null
+++ b/packages/linux/linux.inc
@@ -0,0 +1,72 @@
+DESCRIPTION = "Linux Kernel"
+SECTION = "kernel"
+LICENSE = "GPL"
+
+# These devices need mkimage to generate a kernel image
+DEPENDS_kb9202 = "u-boot-mkimage-gta01-native"
+DEPENDS_at32stk1000 = "u-boot-mkimage-gta01-native"
+DEPENDS_atngw100 = "u-boot-mkimage-gta01-native"
+DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native"
+
+inherit kernel
+
+KERNEL_IMAGETYPE_progear = "bzImage"
+KERNEL_IMAGETYPE_simpad = "zImage"
+KERNEL_IMAGETYPE_kb9202 = "uImage"
+KERNEL_IMAGETYPE_atngw100 = "uImage"
+KERNEL_IMAGETYPE_at32stk1000 = "uImage"
+KERNEL_IMAGETYPE_at91sam9263ek = "uImage"
+
+# Specify the commandline for you device here:
+CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext2 rootdelay=5"
+
+do_configure_prepend() {
+ echo "" > ${S}/.config
+
+ if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
+ echo "CONFIG_AEABI=y" >> ${S}/.config
+ echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
+ else
+ echo "# CONFIG_AEABI is not set" >> ${S}/.config
+ echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
+ fi
+
+ echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+
+ sed -e '/CONFIG_AEABI/d' \
+ -e '/CONFIG_OABI_COMPAT=/d' \
+ -e '/CONFIG_CMDLINE=/d' \
+ < '${WORKDIR}/defconfig' >>'${S}/.config'
+
+ yes '' | oe_runmake oldconfig
+}
+
+do_install_prepend() {
+ if test -e arch/${ARCH}/boot/Image ; then
+ ln -f arch/arm/boot/Image arch/arm/boot/uImage
+ fi
+
+ if test -e arch/${ARCH}/boot/images/uImage ; then
+ ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage
+ fi
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib
+
+ if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
+ ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
+ rm -f linux.bin.gz
+ gzip -9 linux.bin
+ uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a 20008000 -e 20008000 -n "${DISTRO_NAME} Kernel for ${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ rm -f linux.bin.gz
+ fi
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask prepatch before do_patch after do_unpack
+addtask deploy before do_package after do_install
+
diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb
index d8882187ea..05124370ba 100644
--- a/packages/linux/linux_2.6.20.bb
+++ b/packages/linux/linux_2.6.20.bb
@@ -1,9 +1,4 @@
-DESCRIPTION = "Linux Kernel"
-SECTION = "kernel"
-LICENSE = "GPL"
-
-# These devices need mkimage to generate a kernel image
-DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native"
+require linux.inc
PR = "r7"
@@ -20,40 +15,4 @@ SRC_URI_append_at91sam9263ek = " \
http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \
"
-inherit kernel
-
-
-KERNEL_IMAGETYPE = "bzImage"
-KERNEL_IMAGETYPE_n2100 = "zImage"
-KERNEL_IMAGETYPE_at91sam9263ek = "uImage"
-
-do_configure_prepend() {
- if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
- echo "CONFIG_AEABI=y" >> ${S}/.config
- echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
- else
- echo "# CONFIG_AEABI is not set" >> ${S}/.config
- echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
- fi
-
- sed -e '/CONFIG_AEABI/d' \
- -e '/CONFIG_OABI_COMPAT=/d' \
- '${WORKDIR}/defconfig' >>'${S}/.config'
-
- yes '' | oe_runmake oldconfig
-}
-
-do_install_prepend() {
- if test -e arch/${ARCH}/boot/Image ; then
- ln -f arch/arm/boot/Image arch/arm/boot/uImage
- fi
-
- if test -e arch/${ARCH}/boot/images/uImage ; then
- ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage
- fi
-}
-do_install_append_n2100() {
- install -d ${DEPLOY_DIR_IMAGE}
- install -m 0644 ${S}/arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
-}
diff --git a/packages/linux/linux_2.6.21+2.6.22-rc1.bb b/packages/linux/linux_2.6.21+2.6.22-rc1.bb
index c8d28ee6c2..faca5a88ec 100644
--- a/packages/linux/linux_2.6.21+2.6.22-rc1.bb
+++ b/packages/linux/linux_2.6.21+2.6.22-rc1.bb
@@ -1,19 +1,12 @@
-DESCRIPTION = "Linux Kernel"
-SECTION = "kernel"
-LICENSE = "GPL"
+require linux.inc
DEFAULT_PREFERENCE = "-1"
-
-
-# These devices need mkimage to generate a kernel image
-DEPENDS_kb9202 = "u-boot-mkimage-gta01-native"
-DEPENDS_at32stk1000 = "u-boot-mkimage-gta01-native"
-DEPENDS_atngw100 = "u-boot-mkimage-gta01-native"
-DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native"
-
DEFAULT_PREFERENCE_at91sam9263ek = "-1"
-PR = "r0"
+KERNEL_VERSION = "2.6.22-rc1"
+KERNEL_RELEASE = "2.6.22-rc1"
+
+PR = "r1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-2.6.22-rc1.bz2;patch=1 \
@@ -34,37 +27,4 @@ SRC_URI_append_at91sam9263ek = " http://maxim.org.za/AT91RM9200/2.6/2.6.22-rc1-a
S = "${WORKDIR}/linux-2.6.21"
-inherit kernel
-
-KERNEL_IMAGETYPE_progear = "bzImage"
-KERNEL_IMAGETYPE_simpad = "zImage"
-KERNEL_IMAGETYPE_kb9202 = "uImage"
-KERNEL_IMAGETYPE_atngw100 = "uImage"
-KERNEL_IMAGETYPE_at32stk1000 = "uImage"
-KERNEL_IMAGETYPE_at91sam9263ek = "uImage"
-
-do_configure_prepend() {
- if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
- echo "CONFIG_AEABI=y" >> ${S}/.config
- echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
- else
- echo "# CONFIG_AEABI is not set" >> ${S}/.config
- echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
- fi
-
- sed -e '/CONFIG_AEABI/d' \
- -e '/CONFIG_OABI_COMPAT=/d' \
- '${WORKDIR}/defconfig' >>'${S}/.config'
-
- yes '' | oe_runmake oldconfig
-}
-
-do_install_prepend() {
- if test -e arch/${ARCH}/boot/Image ; then
- ln -f arch/arm/boot/Image arch/arm/boot/uImage
- fi
- if test -e arch/${ARCH}/boot/images/uImage ; then
- ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage
- fi
-}
diff --git a/packages/linux/linux_2.6.21.bb b/packages/linux/linux_2.6.21.bb
index 24d4018de2..41d0a414ea 100644
--- a/packages/linux/linux_2.6.21.bb
+++ b/packages/linux/linux_2.6.21.bb
@@ -1,12 +1,4 @@
-DESCRIPTION = "Linux Kernel"
-SECTION = "kernel"
-LICENSE = "GPL"
-
-# These devices need mkimage to generate a kernel image
-DEPENDS_kb9202 = "u-boot-mkimage-gta01-native"
-DEPENDS_at32stk1000 = "u-boot-mkimage-gta01-native"
-DEPENDS_atngw100 = "u-boot-mkimage-gta01-native"
-DEPENDS_at91sam9263ek = "u-boot-mkimage-gta01-native"
+require linux.inc
DEFAULT_PREFERENCE_at91sam9263ek = "-1"
@@ -26,38 +18,3 @@ SRC_URI_append_simpad = "\
SRC_URI_append_kb9202 = " http://maxim.org.za/AT91RM9200/2.6/2.6.21-at91.patch.gz;patch=1 "
SRC_URI_append_at91sam9263ek = " http://maxim.org.za/AT91RM9200/2.6/2.6.21-at91.patch.gz;patch=1 "
-inherit kernel
-
-KERNEL_IMAGETYPE_progear = "bzImage"
-KERNEL_IMAGETYPE_simpad = "zImage"
-KERNEL_IMAGETYPE_kb9202 = "uImage"
-KERNEL_IMAGETYPE_atngw100 = "uImage"
-KERNEL_IMAGETYPE_at32stk1000 = "uImage"
-KERNEL_IMAGETYPE_at91sam9263ek = "uImage"
-
-do_configure_prepend() {
- if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
- echo "CONFIG_AEABI=y" >> ${S}/.config
- echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
- else
- echo "# CONFIG_AEABI is not set" >> ${S}/.config
- echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
- fi
-
- sed -e '/CONFIG_AEABI/d' \
- -e '/CONFIG_OABI_COMPAT=/d' \
- '${WORKDIR}/defconfig' >>'${S}/.config'
-
- yes '' | oe_runmake oldconfig
-}
-
-do_install_prepend() {
- if test -e arch/${ARCH}/boot/Image ; then
- ln -f arch/arm/boot/Image arch/arm/boot/uImage
- fi
-
- if test -e arch/${ARCH}/boot/images/uImage ; then
- ln -f arch/arm/boot/images/uImage arch/arm/boot/uImage
- fi
-}
-
diff --git a/packages/maemo/hildon-fm_0.9.1-2.bb b/packages/maemo/hildon-fm_0.9.1-2.bb
index 7a82863075..40654295f9 100644
--- a/packages/maemo/hildon-fm_0.9.1-2.bb
+++ b/packages/maemo/hildon-fm_0.9.1-2.bb
@@ -1,5 +1,5 @@
PR = "r1"
-LICENSE = "GPL/LGPL"
+LICENSE = "GPL LGPL"
DEPENDS = "gtk+-2.6.4-1.osso7 outo libxi libxt libpng gconf hildon-lgpl osso-thumbnail osso-gwconnect"
SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/h/hildon-fm/hildon-fm_${PV}.tar.gz"
diff --git a/packages/matchbox2/matchbox-desktop-2_svn.bb b/packages/matchbox2/matchbox-desktop-2_svn.bb
new file mode 100644
index 0000000000..31a6b9836d
--- /dev/null
+++ b/packages/matchbox2/matchbox-desktop-2_svn.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Matchbox Window Manager Desktop"
+LICENSE = "GPL"
+SECTION = "x11/panels"
+DEPENDS = "gtk+ startup-notification"
+
+PV = "0.1+svn${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-startup-notification --disable-libnotify"
+
+PARALLEL_MAKE = ""
+
+# matchbox-<anything>-2 aims to replace their -1 counterpart, but at this point in time it's unfinished and unusable, so make it parallel installable
+do_install_append() {
+ mv ${D}${bindir}/matchbox-desktop ${D}${bindir}/matchbox-desktop-2
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+
diff --git a/packages/matchbox2/matchbox-panel-2_svn.bb b/packages/matchbox2/matchbox-panel-2_svn.bb
index be2e7f39cf..63e6dd9265 100644
--- a/packages/matchbox2/matchbox-panel-2_svn.bb
+++ b/packages/matchbox2/matchbox-panel-2_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "matchbox-panel-2 is a lightweight dock (system tray) application based on Gtk+"
LICENSE = "GPL"
SECTION = "x11/panels"
-DEPENDS = "gtk+"
+DEPENDS = "gtk+ apmd startup-notification"
PV = "0.1+svn${SRCDATE}"
PR = "r6"
@@ -11,7 +11,7 @@ S = "${WORKDIR}/${PN}"
inherit autotools pkgconfig
-EXTRA_OECONF = "--disable-startup-notification --disable-libnotify"
+EXTRA_OECONF = "--enable-startup-notification --disable-libnotify"
# matchbox-<anything>-2 aims to replace their -1 counterpart, but at this point in time it's unfinished and unusable, so make it parallel installable
do_install_append() {
diff --git a/packages/meta/meta-sdk.bb b/packages/meta/meta-sdk.bb
index e793c08de0..6640815217 100644
--- a/packages/meta/meta-sdk.bb
+++ b/packages/meta/meta-sdk.bb
@@ -32,7 +32,6 @@ do_populate_sdk() {
cat <<EOF >${SDK_DIR}/ipkg-host.conf
src oe file:${DEPLOY_DIR_IPK}
-arch ${BUILD_ARCH} 1
EOF
cat <<EOF >${SDK_DIR}/ipkg-target.conf
src oe file:${DEPLOY_DIR_IPK}
@@ -41,6 +40,7 @@ EOF
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf
+ echo "arch ${BUILD_ARCH}-$arch-sdk $priority" >> ${SDK_DIR}/ipkg-host.conf
priority=$(expr $priority + 5)
done
diff --git a/packages/mozilla/minimo_cvs.bb b/packages/mozilla/minimo_cvs.bb
index 834192ad0f..9c29926100 100644
--- a/packages/mozilla/minimo_cvs.bb
+++ b/packages/mozilla/minimo_cvs.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "A minimal version of the Mozilla web browser for mobile devices"
SECTION = "x11/network"
-LICENSE = "MPL/GPL/LGPL"
+LICENSE = "MPL GPL LGPL"
HOMEPAGE = "http://www.mozilla.org/projects/minimo/"
PRIORITY = "optional"
diff --git a/packages/ntpclient/ntpclient_2003_194.bb b/packages/ntpclient/ntpclient_2003_194.bb
index 52143baee0..84304334e5 100644
--- a/packages/ntpclient/ntpclient_2003_194.bb
+++ b/packages/ntpclient/ntpclient_2003_194.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://doolittle.icarus.com/ntpclient"
AUTHOR = "Larry Doolittle <larry@doolittle.boa.org>"
RDEPENDS = "busybox"
SECTION = "admin"
-LICENSE = "GPL/v2"
+LICENSE = "GPLv2"
PR = "r1"
# The ntpclient package uses version numbers that include an underscore :(
PV = "2003_194"
diff --git a/packages/openmoko-base/openmoko-libs_svn.bb b/packages/openmoko-base/openmoko-libs_svn.bb
index 4e6446f96a..caa70363a2 100644
--- a/packages/openmoko-base/openmoko-libs_svn.bb
+++ b/packages/openmoko-base/openmoko-libs_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "openmoko-libs is a set of libraries implementing a Gtk+ based application framework for mobile communication applications"
SECTION = "openmoko/libs"
LICENSE = "LGPL"
-DEPENDS += "gtk+ eds-dbus libgsmd"
+DEPENDS += "gtk+ eds-dbus libgsmd libxosd"
PV = "0.0.1+svn${SRCDATE}"
PR = "r5"
diff --git a/packages/opensync/libopensync_svn.bb b/packages/opensync/libopensync_svn.bb
index ac7da051c8..67501cc6e9 100644
--- a/packages/opensync/libopensync_svn.bb
+++ b/packages/opensync/libopensync_svn.bb
@@ -4,6 +4,8 @@ DEPENDS = "sqlite3 libxml2 zlib glib-2.0"
PV = "0.22+svn${SRCDATE}"
SRC_URI = "svn://svn.opensync.org;module=trunk;proto=http"
+DEFAULT_PREFERENCE = "-1"
+
inherit autotools pkgconfig lib_package
S = "${WORKDIR}/trunk"
diff --git a/packages/qemu/qemu-qop-nogfx-native_svn.bb b/packages/qemu/qemu-qop-nogfx-native_svn.bb
index 4936761339..1a041c8536 100644
--- a/packages/qemu/qemu-qop-nogfx-native_svn.bb
+++ b/packages/qemu/qemu-qop-nogfx-native_svn.bb
@@ -4,6 +4,7 @@ PROVIDES = "qemu-native"
SRC_URI = "svn://nowt.dyndns.org/svn/qemu;module=trunk;proto=https \
file://configure.patch;patch=1 \
+ http://www.busybox.net/downloads/qemu/qemu-gcc-4-all.patch;patch=1 \
"
S = "${WORKDIR}/trunk"
diff --git a/packages/qemu/qemu_cvs.bb b/packages/qemu/qemu_cvs.bb
index 8d22a6f1f8..23589fec9e 100644
--- a/packages/qemu/qemu_cvs.bb
+++ b/packages/qemu/qemu_cvs.bb
@@ -14,8 +14,11 @@ SRC_URI = "cvs://anonymous@cvs.savannah.nongnu.org/sources/qemu;method=pserver;r
file://compiler.patch;patch=1 \
file://qemu-usb-wacom-0.8.2.patch;patch=1 \
file://qemu-usb-wacom-pressure.patch;patch=1 \
- file://qemu-usb-wacom-buttons.patch;patch=1"
+ file://qemu-usb-wacom-buttons.patch;patch=1 \
+ http://www.busybox.net/downloads/qemu/qemu-gcc-4-all.patch;patch=1"
S = "${WORKDIR}/qemu"
+EXTRA_OECONF="--disable-gcc-check"
+
inherit autotools
diff --git a/packages/qt/qt-x11-free-common.inc b/packages/qt/qt-x11-free-common.inc
index d21787786f..cb4ed12f8d 100644
--- a/packages/qt/qt-x11-free-common.inc
+++ b/packages/qt/qt-x11-free-common.inc
@@ -76,7 +76,7 @@ do_install() {
}
PACKAGES =+ "qt-x11-plugins-imageformats qt-x11-plugins-sqldrivers qt-x11-plugins-designer \
- qt-x11-designer qt-x11-assistant qt-x11-qvfb qt-x11-qtconfig qt-x11-plugins-debug"
+ qt-x11-designer qt-x11-assistant qt-x11-qvfb qt-x11-qtconfig"
FILES_qt-x11-plugins-imageformats = "${prefix}/plugins/imageformats/*.so"
FILES_qt-x11-plugins-sqldrivers = "${prefix}/plugins/sqldrivers/*.so"
FILES_qt-x11-plugins-designer = "${prefix}/plugins/designer/*.so"
@@ -84,4 +84,4 @@ FILES_qt-x11-designer = "${bindir}/designer"
FILES_qt-x11-assistant = "${bindir}/assistant"
FILES_qt-x11-qvfb = "${bindir}/qvfb"
FILES_qt-x11-qtconfig = "${bindir}/qtconfig"
-FILES_qt-x11-plugins-debug += "${prefix}/plugins/*/.debug ${D}/qt-x11-plugins-debug"
+FILES_qt-x11-dbg += "${prefix}/plugins/*/.debug ${D}/qt-x11-plugins-debug"
diff --git a/packages/schroedinger/schroedinger_0.2.0.0.bb b/packages/schroedinger/schroedinger_0.2.0.0.bb
index 7812f30da7..78653783d9 100644
--- a/packages/schroedinger/schroedinger_0.2.0.0.bb
+++ b/packages/schroedinger/schroedinger_0.2.0.0.bb
@@ -1,5 +1,5 @@
HOMEPAGE = "http://schrodinger.sourceforge.net/"
-LICENSE = "MPL/GPL/LGPL and MIT"
+LICENSE = "MPL GPL LGPL MIT"
DEPENDS = "liboil gstreamer gst-plugins-base"
SRC_URI = "${SOURCEFORGE_MIRROR}/schrodinger/${P}.tar.gz"
diff --git a/packages/subversion/subversion_1.3.1.bb b/packages/subversion/subversion_1.3.1.bb
index e49ebb5549..775fed148f 100644
--- a/packages/subversion/subversion_1.3.1.bb
+++ b/packages/subversion/subversion_1.3.1.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The Subversion (svn) client"
SECTION = "console/network"
DEPENDS = "apr-util-0.9.12 neon"
-LICENSE = "Apache/BSD"
+LICENSE = "Apache BSD"
HOMEPAGE = "http://subversion.tigris.org"
PR = "r1"
diff --git a/packages/subversion/subversion_1.4.0.bb b/packages/subversion/subversion_1.4.0.bb
index a608aac063..59f42b8c66 100644
--- a/packages/subversion/subversion_1.4.0.bb
+++ b/packages/subversion/subversion_1.4.0.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The Subversion (svn) client"
SECTION = "console/network"
DEPENDS = "apr-util neon"
RDEPENDS = "neon"
-LICENSE = "Apache/BSD"
+LICENSE = "Apache BSD"
HOMEPAGE = "http://subversion.tigris.org"
PR = "r1"
diff --git a/packages/subversion/subversion_1.4.3.bb b/packages/subversion/subversion_1.4.3.bb
index 1b73017d25..9674329f6c 100644
--- a/packages/subversion/subversion_1.4.3.bb
+++ b/packages/subversion/subversion_1.4.3.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The Subversion (svn) client"
SECTION = "console/network"
DEPENDS = "apr-util neon"
RDEPENDS = "neon"
-LICENSE = "Apache/BSD"
+LICENSE = "Apache BSD"
HOMEPAGE = "http://subversion.tigris.org"
PR = "r1"
diff --git a/packages/tasks/task-gpe.bb b/packages/tasks/task-gpe.bb
index ed9460ef13..cec095c0ff 100644
--- a/packages/tasks/task-gpe.bb
+++ b/packages/tasks/task-gpe.bb
@@ -119,8 +119,8 @@ RDEPENDS_gpe-task-desktopapps = "\
thunderbird \
galculator \
gnumeric \
- gpdf \
- totem"
+ gpdf"
+# totem"
RDEPENDS_gpe-task-sectest = "\
mbmerlin \
@@ -128,11 +128,10 @@ RDEPENDS_gpe-task-sectest = "\
ettercap \
stunnel \
curl \
- dsniff \
+# dsniff \
prismstumbler \
tcpdump \
kismet \
hydra \
thcrut \
miniclipboard"
-# driftnet \
diff --git a/packages/tasks/task-sdk-base.bb b/packages/tasks/task-sdk-base.bb
index 52956239eb..4041b27536 100644
--- a/packages/tasks/task-sdk-base.bb
+++ b/packages/tasks/task-sdk-base.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Basic SDK development packages"
-PR = "r0"
+PR = "r1"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
@@ -9,7 +9,7 @@ RDEPENDS = "\
task-sdk-bare \
glibc \
glibc-dev \
- libgcc1 \
+ libgcc \
alsa-dev \
audiofile-dev \
bluez-libs-dev \
diff --git a/packages/tomoe/libtomoe-gtk_0.1.0.bb b/packages/tomoe/libtomoe-gtk_0.1.0.bb
index edbbc3a2e9..31cccf6fe9 100644
--- a/packages/tomoe/libtomoe-gtk_0.1.0.bb
+++ b/packages/tomoe/libtomoe-gtk_0.1.0.bb
@@ -6,7 +6,7 @@ LICENSE = "LGPL"
inherit autotools pkgconfig
-SRC_URI = "http://prdownloads.sourceforge.jp/tomoe/17171/libtomoe-gtk-0.1.0.tar.gz"
+SRC_URI = "http://keihanna.dl.sourceforge.jp/tomoe/17171/libtomoe-gtk-0.1.0.tar.gz"
do_stage() {
autotools_stage_all
diff --git a/packages/tomoe/tomoe_0.2.1.bb b/packages/tomoe/tomoe_0.2.1.bb
index 7affece4a4..e77ef2a50e 100644
--- a/packages/tomoe/tomoe_0.2.1.bb
+++ b/packages/tomoe/tomoe_0.2.1.bb
@@ -9,4 +9,4 @@ do_stage () {
autotools_stage_all
}
-SRC_URI = "http://prdownloads.sourceforge.jp/tomoe/16048/tomoe-0.2.1.tar.gz"
+SRC_URI = "http://keihanna.dl.sourceforge.jp/tomoe/16048/tomoe-0.2.1.tar.gz"
diff --git a/packages/tomoe/uim-tomoe-gtk_0.2.0.bb b/packages/tomoe/uim-tomoe-gtk_0.2.0.bb
index 34503c0197..f0ed9c84a4 100644
--- a/packages/tomoe/uim-tomoe-gtk_0.2.0.bb
+++ b/packages/tomoe/uim-tomoe-gtk_0.2.0.bb
@@ -6,4 +6,4 @@ LICENSE = "LGPL"
inherit autotools pkgconfig
-SRC_URI = "http://prdownloads.sourceforge.jp/tomoe/17172/uim-tomoe-gtk-0.2.0.tar.gz"
+SRC_URI = "http://keihanna.dl.sourceforge.jp/tomoe/17172/uim-tomoe-gtk-0.2.0.tar.gz"
diff --git a/packages/udev/udev.inc b/packages/udev/udev.inc
index 32b9b28784..e9c83d4e5a 100644
--- a/packages/udev/udev.inc
+++ b/packages/udev/udev.inc
@@ -12,17 +12,12 @@ SRC_URI += " \
file://local.rules \
file://init"
-UDEV_DEVFS_RULES ?= "0"
+inherit update-rc.d autotools pkgconfig
-PACKAGES =+ "udev-utils libvolume-id libvolume-id-dev"
+PARALLEL_MAKE = ""
+UDEV_DEVFS_RULES ?= "0"
PKG_libvolume-id-dev = "libvolume-id-dev"
-FILES_libvolume-id-dev = "${includedir}/libvolume_id.h ${libdir}/libvolume_id.a ${libdir}/libvolume_id.so ${libdir}/pkgconfig/libvolume_id.pc"
-FILES_udev-utils = "${usrbindir}/udevinfo ${usrbindir}/udevtest"
-FILES_libvolume-id = "${base_libdir}/libvolume_id.so.*"
-
-inherit update-rc.d autotools pkgconfig
-
INITSCRIPT_NAME = "udev"
INITSCRIPT_PARAMS = "start 04 S ."
@@ -37,8 +32,6 @@ bindir = "/bin"
sbindir = "/sbin"
UDEV_EXTRAS = "<override me>"
-FILES_${PN} += "${usrbindir}/* ${usrsbindir}/*"
-FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
EXTRA_OEMAKE = "-e \
'EXTRAS=${UDEV_EXTRAS}' \
'STRIP=echo'"
@@ -68,3 +61,10 @@ do_install () {
do_stage () {
autotools_stage_all
}
+
+PACKAGES =+ "udev-utils libvolume-id libvolume-id-dev"
+FILES_libvolume-id-dev = "${includedir}/libvolume_id.h ${libdir}/libvolume_id.a ${libdir}/libvolume_id.so ${libdir}/pkgconfig/libvolume_id.pc"
+FILES_udev-utils = "${usrbindir}/udevinfo ${usrbindir}/udevtest"
+FILES_libvolume-id = "${base_libdir}/libvolume_id.so.*"
+FILES_${PN} += "${usrbindir}/* ${usrsbindir}/*"
+FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
diff --git a/packages/uim/uim-native_1.3.1.bb b/packages/uim/uim-native_1.3.1.bb
index 5249ac6394..e77d24d819 100644
--- a/packages/uim/uim-native_1.3.1.bb
+++ b/packages/uim/uim-native_1.3.1.bb
@@ -1,3 +1,6 @@
require uim.inc
DEPENDS = "gtk+ anthy intltool-native"
inherit native autotools pkgconfig
+PR = "r1"
+
+S = "${WORKDIR}/uim-${PV}"
diff --git a/packages/uim/uim.inc b/packages/uim/uim.inc
index 94eb11d332..41cdc860c6 100644
--- a/packages/uim/uim.inc
+++ b/packages/uim/uim.inc
@@ -14,3 +14,5 @@ EXTRA_OECONF += "--disable-applet \
--without-eb"
SRC_URI = "http://uim.freedesktop.org/releases/uim/stable/uim-${PV}.tar.bz2"
+
+FILES-${PN}-dbg += "${libdir}/*/*/immodules/.debug"
diff --git a/packages/uim/uim_1.3.1.bb b/packages/uim/uim_1.3.1.bb
index e5ddcd0737..39d52b7fa2 100644
--- a/packages/uim/uim_1.3.1.bb
+++ b/packages/uim/uim_1.3.1.bb
@@ -1,7 +1,7 @@
require uim.inc
DEPENDS = "gtk+ uim-native anthy fontconfig libxft xt glib-2.0 ncurses"
SECTION_uim-gtk2.0 = "x11/inputmethods"
-PR = "r1"
+PR = "r2"
SRC_URI += "file://uim-module-manager.patch;patch=1"
diff --git a/packages/vte/vte_0.11.15.bb b/packages/vte/vte_0.11.15.bb
index 274cd81070..71ca0a04bd 100644
--- a/packages/vte/vte_0.11.15.bb
+++ b/packages/vte/vte_0.11.15.bb
@@ -1,10 +1,14 @@
+DESCRIPTION = "vte is a virtual terminal emulator"
LICENSE = "LGPL"
-PR = "r1"
+PR = "r2"
inherit gnome
EXTRA_OECONF = "--disable-gtk-doc"
do_stage() {
-autotools_stage_all
+ autotools_stage_all
}
+
+PACKAGES =+ "libvte"
+FILES_libvte = "${libdir}/*.so*"
diff --git a/packages/wrt/wrt-imagetools-native.bb b/packages/wrt/wrt-imagetools-native.bb
index cd5d802765..f9f459eea6 100644
--- a/packages/wrt/wrt-imagetools-native.bb
+++ b/packages/wrt/wrt-imagetools-native.bb
@@ -1,4 +1,5 @@
-SRC_URI = "cvs://anonymous@openwrt.org/openwrt;module=openwrt/target/utils/src;tag=TESTED"
+#SRC_URI = "svn://svn.openwrt.org/openwrt;module=trunk/tools/firmware-utils/src;proto=https"
+SRC_URI = ${SOURCEFORGE_MIRROR}/gakusei/openwrt-imagetools-svn-rev7641.tar.bz2
S = "${WORKDIR}/src/"
inherit native
@@ -13,4 +14,4 @@ do_stage() {
install -m 0755 ${S}/trx ${STAGING_BINDIR}
install -m 0755 ${S}/motorola-bin ${STAGING_BINDIR}
install -m 0755 ${S}/addpattern ${STAGING_BINDIR}
-} \ No newline at end of file
+}
diff --git a/packages/xkbd/xkbd-layout-ru_0.1.1.bb b/packages/xkbd/xkbd-layout-ru_0.1.1.bb
new file mode 100644
index 0000000000..e65d91b7c0
--- /dev/null
+++ b/packages/xkbd/xkbd-layout-ru_0.1.1.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "xkbd i18n layouts"
+SECTION = "x11"
+PRIORITY = "optional"
+LICENSE = "GPL"
+PACKAGE_ARCH = "all"
+PR = "r0"
+RDEPENDS = "xkbd"
+
+SRC_URI = "http://whitenoise.ssrlab.com/pda/xkbd/xkbd-ru-en-123_0.1.1.tar.gz"
+
+S = "${WORKDIR}"
+
+do_install () {
+ install -d ${D}${prefix}/share/xkbd
+ cd usr/share/xkbd/
+ for i in *.xkbd; do
+ install -m 644 $i ${D}${prefix}/share/xkbd/${i}
+ done
+}
+
+FILES_${PN} = "${prefix}/share/xkbd/*.xkbd"
diff --git a/packages/xorg-xserver/xserver-kdrive-imageon_X11R7.1-1.1.0.bb b/packages/xorg-xserver/xserver-kdrive-imageon_X11R7.1-1.1.0.bb
index 106d5405a6..cb2edffd01 100644
--- a/packages/xorg-xserver/xserver-kdrive-imageon_X11R7.1-1.1.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive-imageon_X11R7.1-1.1.0.bb
@@ -11,7 +11,7 @@ DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext
PROVIDES = "virtual/xserver"
RPROVIDES = "virtual/xserver"
-PR = "r1"
+PR = "r3"
FILESPATH = "${FILE_DIRNAME}/xserver-kdrive"
diff --git a/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch b/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch
index f4272f80e0..f2db7acb4b 100644
--- a/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch
+++ b/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch
@@ -902,7 +902,7 @@
+#endif
--- /dev/null
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon_cursor.c
-@@ -0,0 +1,566 @@
+@@ -0,0 +1,569 @@
+/*
+ * Copyright © 2007 Manuel Teira
+ *
@@ -934,8 +934,9 @@
+#include "imageon_regs.h"
+
+#define W100_CURSOR_HEIGHT (16)
-+#define W100_CURSOR_PITCH (4)
+#define W100_CURSOR_WIDTH (16)
++#define W100_CURSOR_PITCH (W100_CURSOR_WIDTH / 4)
++
+#define W100_CURSOR_SIZE W100_CURSOR_PITCH * W100_CURSOR_WIDTH
+
+static CARD16 expand2bpp[256];
@@ -968,7 +969,7 @@
+ (((y) * W100_CURSOR_PITCH + ((x) / 4)) >> 2)
+
+#define PixelShift(x, y) \
-+ (2 * ((x) % W100_CURSOR_WIDTH))
++ (2 * ((x) % 16))
+
+#define PixelMask(x, y) \
+ ((0xc0000000) >> PixelShift(x, y))
@@ -1210,7 +1211,7 @@
+ cursor_v_pos_u vpos;
+ graphic_h_disp_u graphic_hdisp;
+ graphic_v_disp_u graphic_vdisp;
-+ int tx, ty, tw, th;
++ BoxRec cursorBox, deviceBox;
+
+
+ if (!pCurPriv->has_cursor) {
@@ -1224,38 +1225,40 @@
+ graphic_vdisp.val = w100c->regs.GRAPHIC_V_DISP;
+ xoffs = 0;
+ yoffs = 0;
-+ x -= pCurPriv->xhot;
-+ y -= pCurPriv->yhot;
-+ tx = W100MapToHWX(w100c, x, y, pCurPriv->width, pCurPriv->height);
-+ ty = W100MapToHWY(w100c, x, y, pCurPriv->width, pCurPriv->height);
-+ tw = W100MapToHWW(w100c, x, y, pCurPriv->width, pCurPriv->height);
-+ th = W100MapToHWH(w100c, x, y, pCurPriv->width, pCurPriv->height);
++ cursorBox.x1 = x - pCurPriv->xhot;
++ cursorBox.y1 = y - pCurPriv->yhot;
++ cursorBox.x2 = cursorBox.x1 + pCurPriv->width - 1;
++ cursorBox.y2 = cursorBox.y1 + pCurPriv->height - 1;
++ W100MapToDevice(w100c, &cursorBox, &deviceBox);
+
-+ if (tx < 0) {
-+ xoffs = -tx;
-+ tw -= xoffs;
-+ tx = 0;
++ if (deviceBox.x1 < 0) {
++ xoffs = -deviceBox.x1;
++ deviceBox.x1 = 0;
+ }
+
-+ if (ty < 0) {
-+ yoffs = -ty;
-+ th -= yoffs;
-+ ty = 0;
++ if (deviceBox.y1 < 0) {
++ yoffs = -deviceBox.y1;
++ deviceBox.y1 = 0;
+ }
-+
-+ hpos.f.cur_h_start = graphic_hdisp.f.graphic_h_start + tx;
-+ hpos.f.cur_h_end = hpos.f.cur_h_start + tw;
++
++ hpos.f.cur_h_start = graphic_hdisp.f.graphic_h_start + deviceBox.x1;
++ hpos.f.cur_h_end = graphic_hdisp.f.graphic_h_start + deviceBox.x2 + 1;
+ hpos.f.cur_en = 1;
-+ vpos.f.cur_v_start = graphic_vdisp.f.graphic_v_start + ty;
-+ vpos.f.cur_v_end = vpos.f.cur_v_start + th;
++ vpos.f.cur_v_start = graphic_vdisp.f.graphic_v_start + deviceBox.y1;
++ vpos.f.cur_v_end = graphic_vdisp.f.graphic_v_start + deviceBox.y2 + 1;
++
+ cursor_offset.f.cur_x_offset = xoffs;
+ cursor_offset.f.cur_y_offset = yoffs;
+ cursor_offset.f.cur_offset = (CARD32)
+ W100_HOST2CARD(pCurPriv->area->vidmem->base
+ + pCurPriv->area->offset);
+ DBG_IMAGEON(("W100MoveCursor dst(x:%d,y:%d),"
++ "hwpos(hpos.start:%d,hpos.end:%d,vpos.start:%d,vpos.end:%d),"
+ "mapped(x:%d,y:%d,xoffs:%d,yoffs:%d)\n",
-+ x, y, tx, ty, xoffs, yoffs));
++ x, y,
++ hpos.f.cur_h_start, hpos.f.cur_h_end,
++ vpos.f.cur_v_start, vpos.f.cur_v_end,
++ deviceBox.x1, deviceBox.y1, xoffs, yoffs));
+
+ W100DisableDisplayUpdate(w100c);
+ MMIO_OUT32(mmCURSOR1_OFFSET, cursor_offset.val);
@@ -1471,7 +1474,7 @@
+}
--- /dev/null
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon_draw.c
-@@ -0,0 +1,237 @@
+@@ -0,0 +1,238 @@
+/*
+ * Copyright © 2007 Manuel Teira
+ *
@@ -1520,6 +1523,7 @@
+ KdScreenPriv(pPix->drawable.pScreen);
+ W100ScreenInfo(pScreenPriv);
+ W100CardInfo(pScreenPriv);
++ W100PortPrivPtr pPortPriv = w100s->pAdaptor->pPortPrivates[0].ptr;
+ int fifoEntries = 4;
+
+ DBG_IMAGEON(("W100PrepareSolid(alu:%d, pm:0x%08x, fg:%d)\n",
@@ -1711,7 +1715,7 @@
+}
--- /dev/null
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon.h
-@@ -0,0 +1,261 @@
+@@ -0,0 +1,284 @@
+/*
+ * Copyright © 2007 Manuel Teira
+ *
@@ -1822,6 +1826,13 @@
+ Bool supported;
+} W100ModeSpec;
+
++typedef struct _W100BoxRec {
++ CARD16 x;
++ CARD16 y;
++ CARD16 w;
++ CARD16 h;
++} W100BoxRec, *W100BoxPtr;
++
+typedef struct _W100Mode {
+ CARD16 width;
+ CARD16 height;
@@ -1929,23 +1940,39 @@
+ CARD32 videoStatus;
+ CARD32 videoCtrl;
+ RegionRec clip;
-+ KdOffscreenArea *offSurface;
-+ CARD32 offSize;
-+ KdOffscreenArea *ovlSurface;
-+ CARD32 ovlSize;
-+ CARD32 YPlaneOffset;
-+ CARD32 UPlaneOffset;
-+ CARD32 VPlaneOffset;
-+ CARD32 colorKey;
-+ CARD8 brightness;
-+ CARD32 maxOverlaySize;
-+ CARD16 ovlX;
-+ CARD16 ovlY;
-+ CARD16 ovlWidth;
-+ CARD16 ovlHeight;
-+ CARD8 videoHorExp;
-+ CARD8 videoVerExp;
-+ int id;
++ struct {
++ int width; /* Source width */
++ int height; /* Source height */
++ unsigned char *buffer; /* Source buffer */
++ int id; /* Source FOURCC */
++ int size; /* Size of source rect (bytes) */
++ KdOffscreenArea *surface; /* Source surface (on card memory) */
++ BoxRec box; /* Source rect boundaries */
++ } src;
++ struct {
++ BoxRec box; /* Screen rectangle */
++ } dst;
++ struct {
++ int size; /* Size of the overlay surface (bytes) */
++ KdOffscreenArea *surface; /* Overlay surface (on card memory) */
++ BoxRec box; /* Overlay box (util size) */
++ BoxRec frame; /* Overlay box (plus corrections) */
++ Bool changed; /* To avoid recalculations */
++ int horExp; /* Horizontal expansion */
++ int verExp; /* Vertical expansion */
++ int maxSize; /* Maximum allowed surface size (bytes) */
++ int colorKey; /* Colour to replace with overlay */
++ int brightness; /* Brigthness */
++ } ovl;
++ struct {
++ int size; /* Number of planes */
++ int bpp; /* bpp of the planes */
++ int offset[3]; /* Planes offsets */
++ CARD32 yplane; /* Offset (card) of Y plane */
++ CARD32 uplane; /* Offset (card) of U plane */
++ CARD32 vplane; /* Offset (card) of V plane */
++ } planes;
++ Bool changed; /* To track changes and avoid recalculations */
+} W100PortPrivRec, *W100PortPrivPtr;
+
+extern KdCardFuncs W100Funcs;
@@ -6231,7 +6258,7 @@
+}
--- /dev/null
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon_support.c
-@@ -0,0 +1,1438 @@
+@@ -0,0 +1,1474 @@
+/*
+ * Copyright © 2007 Manuel Teira
+ *
@@ -6856,7 +6883,6 @@
+ } else {
+ w100c->ctx.mask.enable = FALSE;
+ }
-+
+}
+
+Bool W100SetSource(KdScreenInfo *screen,
@@ -6962,184 +6988,140 @@
+ pPix->drawable.bitsPerPixel);
+}
+
-+int W100MapToHWX(W100CardInfo *w100c,
-+ int x, int y, int w, int h)
++void W100MapToDevice(W100CardInfo *w100c, BoxPtr src, BoxPtr dst)
+{
-+ int tx;
+ switch (w100c->hw_window.randr & RR_Rotate_All) {
+ case RR_Rotate_0:
-+ tx = x;
++ dst->x1 = src->x1;
++ dst->y1 = src->y1;
++ dst->x2 = src->x2;
++ dst->y2 = src->y2;
+ break;
+ case RR_Rotate_90:
-+ tx = w100c->hw_window.height - (y + h);
++ dst->x1 = w100c->hw_window.height - src->y2 - 1;
++ dst->y1 = src->x1;
++ dst->x2 = w100c->hw_window.height - src->y1 - 1;
++ dst->y2 = src->x2;
+ break;
+ case RR_Rotate_180:
-+ tx = w100c->hw_window.width - (x + w);
++ dst->x1 = w100c->hw_window.width - src->x2 - 1;
++ dst->y1 = w100c->hw_window.height - src->y2 - 1;
++ dst->x2 = w100c->hw_window.width - src->x1 - 1;
++ dst->y2 = w100c->hw_window.height - src->y1 - 1;
+ break;
+ case RR_Rotate_270:
-+ tx = y;
++ dst->x1 = src->y1;
++ dst->y1 = w100c->hw_window.width - src->x2 - 1;
++ dst->x2 = src->y2;
++ dst->y2 = w100c->hw_window.width - src->x1 - 1;
+ break;
-+ default:
-+ tx = x;
+ }
-+ return tx;
++ DBG_IMAGEON(("MapToDevice (x1:%d,y1:%d,x2:%d,y2:%d)->(x1:%d,y1:%d,x2:%d,y2:%d)\n",
++ src->x1, src->y1, src->x2, src->y2,
++ dst->x1, dst->y1, dst->x2, dst->y2));
+}
+
-+int W100MapToHWY(W100CardInfo *w100c,
-+ int x, int y, int w, int h)
++void W100MapFromDevice(W100CardInfo *w100c, BoxPtr src, BoxPtr dst)
+{
-+ int ty;
+ switch (w100c->hw_window.randr & RR_Rotate_All) {
+ case RR_Rotate_0:
-+ ty = y;
++ dst->x1 = src->x1;
++ dst->y1 = src->y1;
++ dst->x2 = src->x2;
++ dst->y2 = src->y2;
+ break;
+ case RR_Rotate_90:
-+ ty = x;
++ dst->x1 = src->y1;
++ dst->y1 = w100c->hw_window.height - src->x2 - 1;
++ dst->x2 = src->y2;
++ dst->y2 = w100c->hw_window.height - src->x1 - 1;
+ break;
+ case RR_Rotate_180:
-+ ty = w100c->hw_window.height - (y + h);
++ dst->x1 = w100c->hw_window.width - src->x2 - 1;
++ dst->y1 = w100c->hw_window.height - src->y2 - 1;
++ dst->x2 = w100c->hw_window.width - src->x1 - 1;
++ dst->y2 = w100c->hw_window.height - src->y1 - 1;
+ break;
+ case RR_Rotate_270:
-+ ty = w100c->hw_window.width - (x + w);
++ dst->x1 = w100c->hw_window.height - src->y2 - 1;
++ dst->y1 = src->x1;
++ dst->x2 = w100c->hw_window.width - src->y1 - 1;
++ dst->y2 = src->x2;
+ break;
-+ default:
-+ ty = y;
+ }
-+ return ty;
++ DBG_IMAGEON(("MapFromDevice (x1:%d,y1:%d,x2:%d,y2:%d)->(x1:%d,y1:%d,x2:%d,y2:%d)\n",
++ src->x1, src->y1, src->x2, src->y2,
++ dst->x1, dst->y1, dst->x2, dst->y2));
+}
+
-+int W100MapToHWW(W100CardInfo *w100c,
-+ int x, int y, int w, int h)
++void W100MoveTo(BoxPtr src, int x, int y)
+{
-+ int tw;
-+ switch (w100c->hw_window.randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ case RR_Rotate_180:
-+ tw = w;
-+ break;
-+ case RR_Rotate_90:
-+ case RR_Rotate_270:
-+ tw = h;
-+ break;
-+ }
-+ return tw;
++ src->x1 += x;
++ src->y1 += y;
++ src->x2 += x;
++ src->y2 += y;
+}
+
-+int W100MapToHWH(W100CardInfo *w100c,
-+ int x, int y, int w, int h)
++void W100ChangeOrigin(BoxPtr src, int x, int y)
+{
-+ int th;
-+ switch (w100c->hw_window.randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ case RR_Rotate_180:
-+ th = h;
-+ break;
-+ case RR_Rotate_90:
-+ case RR_Rotate_270:
-+ th = w;
-+ break;
++ src->x1 -= x;
++ src->y1 -= y;
++ src->x2 -= x;
++ src->y2 -= y;
++}
++
++void W100ScaleBox(BoxPtr src, BoxPtr dst, int scale)
++{
++ if (scale >= 0) {
++ dst->x1 = src->x1 << scale;
++ dst->x2 = src->x2 << scale;
++ dst->y1 = src->y1 << scale;
++ dst->y2 = src->y2 << scale;
++ } else {
++ dst->x1 = src->x1 >> -scale;
++ dst->x2 = src->x2 >> -scale;
++ dst->y1 = src->y1 >> -scale;
++ dst->y2 = src->y2 >> -scale;
+ }
-+ return th;
+}
+
-+CARD16 W100XformX(W100CardInfo *w100c,
-+ CARD16 x, CARD16 y, CARD16 w, CARD16 h)
++void W100TrajectoryOrigin(W100CardInfo *w100c, BoxPtr box, short *x, short *y)
+{
-+ CARD16 tx;
+ switch (w100c->ctx.xform.randr & RR_Rotate_All) {
+ case RR_Rotate_0:
+ if (w100c->ctx.xform.mirror) {
-+ tx = x + w - 1;
++ *x = box->x2;
+ } else {
-+ tx = x;
++ *x = box->x1;
+ }
++ *y = box->y1;
+ break;
+ case RR_Rotate_90:
-+ tx = x + h - 1;
-+ break;
-+ case RR_Rotate_180:
++ *x = box->x2;
+ if (w100c->ctx.xform.mirror) {
-+ tx = x;
++ *y = box->y2;
+ } else {
-+ tx = x + w - 1;
++ *y = box->y1;
+ }
+ break;
-+ case RR_Rotate_270:
-+ default:
-+ tx = x;
-+ break;
-+ }
-+ return tx;
-+}
-+
-+CARD16 W100XformY(W100CardInfo *w100c,
-+ CARD16 x, CARD16 y, CARD16 w, CARD16 h)
-+{
-+ CARD16 ty;
-+ switch (w100c->ctx.xform.randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ ty = y;
-+ break;
-+ case RR_Rotate_90:
++ case RR_Rotate_180:
+ if (w100c->ctx.xform.mirror) {
-+ ty = y + w - 1;
++ *x = box->x1;
+ } else {
-+ ty = y;
++ *x = box->x2;
+ }
-+ break;
-+ case RR_Rotate_180:
-+ ty = y + h - 1;
++ *y = box->y2;
+ break;
+ case RR_Rotate_270:
-+ default:
++ *x = box->x1;
+ if (w100c->ctx.xform.mirror) {
-+ ty = y;
++ *y = box->y1;
+ } else {
-+ ty = y + w - 1;
++ *y = box->y2;
+ }
-+ break;
+ }
-+ return ty;
+}
-+
-+CARD16 W100XformW(W100CardInfo *w100c,
-+ CARD16 x, CARD16 y, CARD16 w, CARD16 h)
-+{
-+ CARD16 tw;
-+
-+ switch (w100c->ctx.xform.randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ case RR_Rotate_180:
-+ default:
-+ tw = w;
-+ break;
-+ case RR_Rotate_90:
-+ case RR_Rotate_270:
-+ tw = h;
-+ break;
-+ }
-+ return tw;
-+}
-+
-+CARD16 W100XformH(W100CardInfo *w100c,
-+ CARD16 x, CARD16 y, CARD16 w, CARD16 h)
-+{
-+ CARD16 th;
-+
-+ switch (w100c->ctx.xform.randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ case RR_Rotate_180:
-+ default:
-+ th = h;
-+ break;
-+ case RR_Rotate_90:
-+ case RR_Rotate_270:
-+ th = w;
-+ break;
-+ }
-+ return th;
-+}
-+
++
+CARD8 W100GetScaler(CARD16 dstsize, CARD16 srcsize)
+{
+ return W100_MAX(1, W100_MIN(31, ((16 * srcsize) + dstsize - 1) / dstsize));
@@ -7152,22 +7134,18 @@
+}
+
+
-+static void W100Blt(KdScreenInfo *screen,
-+ int randr,
-+ int bpp,
++static void W100Blt(KdScreenInfo *screen,
++ int randr, int bpp,
+ CARD32 srcOffset,
-+ CARD16 srcW,
-+ CARD16 srcH,
+ CARD16 srcPitch,
++ BoxPtr srcBox,
+ CARD32 dstOffset,
+ CARD16 dstPitch,
-+ CARD16 dstX,
-+ CARD16 dstY)
++ BoxPtr dstBox)
+{
+ ScreenPtr pScreen = screen->pScreen;
+ KdScreenPriv(pScreen);
+ W100CardInfo(pScreenPriv);
-+ CARD16 x, y, w, h;
+ int fifoEntries = 9;
+ Bool hasXForm = FALSE;
+ eng_cntl_u eng_cntl;
@@ -7176,12 +7154,8 @@
+ src_width_u src_width;
+ src_height_u src_height;
+ dst_width_height_u dst_width_height;
-+
-+ DBG_IMAGEON(("W100Blt(randr:%d,bpp:%d,srcOffset:0x%08x,"
-+ "srcW:%d,srcH:%d,srcPitch:%d,dstOffset:0x%08x,"
-+ "dstPitch:%d,dstX:%d,dstY:%d)\n",
-+ randr, bpp, srcOffset, srcW, srcH,
-+ srcPitch, dstOffset, dstPitch, dstX, dstY));
++ CARD16 dstX;
++ CARD16 dstY;
+
+ if (randr & (RR_Rotate_90|RR_Rotate_270)) {
+ hasXForm = TRUE;
@@ -7195,21 +7169,28 @@
+ W100SetRotation(w100c, randr, FALSE);
+ W100SetSource(screen, srcPitch, srcOffset, bpp);
+ W100SetDestination(screen, dstPitch, dstOffset, bpp);
-+
-+ x = W100XformX(w100c, dstX, dstY, srcW, srcH);
-+ y = W100XformY(w100c, dstX, dstY, srcW, srcH);
-+ w = W100XformW(w100c, dstX, dstY, srcW, srcH);
-+ h = W100XformH(w100c, dstX, dstY, srcW, srcH);
-+
-+ src_x_y.f.src_y = 0;
-+ src_x_y.f.src_x = 0;
-+ dst_x_y.f.dst_x = x;
-+ dst_x_y.f.dst_y = y;
-+ src_width.f.src_width = srcW;
-+ src_height.f.src_height = srcH;
-+ dst_width_height.f.dst_height = h;
-+ dst_width_height.f.dst_width_b0 = w & 0xff;
-+ dst_width_height.f.dst_width_b1 = (w >> 8) & 0x3f;
++ W100TrajectoryOrigin(w100c, dstBox, &dstX, &dstY);
++
++ src_x_y.f.src_x = srcBox->x1;
++ src_x_y.f.src_y = srcBox->y1;
++ dst_x_y.f.dst_x = dstX;
++ dst_x_y.f.dst_y = dstY;
++ src_width.f.src_width = srcBox->x2 - srcBox->x1 + 1;
++ src_height.f.src_height = srcBox->y2 - srcBox->y1 + 1;
++ dst_width_height.f.dst_height = dstBox->y2 - dstBox->y1 + 1;
++ dst_width_height.f.dst_width_b0 = (dstBox->x2 - dstBox->x1 + 1) & 0xff;
++ dst_width_height.f.dst_width_b1 = ((dstBox->x2 - dstBox->x1 + 1) >> 8) & 0x3f;
++
++ DBG_IMAGEON(("W100Blt src(x:%d,y:%d,w:%d,h:%d) dst(x:%d,y:%d,w:%d,h:%d)\n",
++ src_x_y.f.src_x,
++ src_x_y.f.src_y,
++ src_width.f.src_width,
++ src_height.f.src_height,
++ dst_x_y.f.dst_x,
++ dst_x_y.f.dst_y,
++ dst_width_height.f.dst_width_b0 |
++ dst_width_height.f.dst_width_b1 << 8,
++ dst_width_height.f.dst_height));
+
+ if (W100WaitCmdFifoEntries(w100c, fifoEntries)) {
+ MMIO_OUT32(mmDST_PITCH, w100c->ctx.dst.pitch);
@@ -7239,20 +7220,17 @@
+ int randr,
+ int bpp,
+ CARD32 srcOffset,
-+ CARD16 srcW,
-+ CARD16 srcH,
+ CARD16 srcPitch,
++ BoxPtr srcBox,
+ CARD32 dstOffset,
+ CARD16 dstPitch,
-+ CARD16 dstX,
-+ CARD16 dstY,
++ BoxPtr dstBox,
+ CARD8 xscaler,
+ CARD8 yscaler)
+{
+ ScreenPtr pScreen = screen->pScreen;
+ KdScreenPriv(pScreen);
+ W100CardInfo(pScreenPriv);
-+ CARD16 x, y, w, h, sw, sh;
+ Bool hasXForm = FALSE;
+ dp_datatype_u dp_datatype;
+ dp_mix_u dp_mix;
@@ -7266,13 +7244,22 @@
+ dst_width_height_u dst_width_height;
+ int firstStage = 10;
+ int secondStage = 10;
-+
-+ DBG_IMAGEON(("W100StretchBlt(randr:%d,bpp:%d,srcOffset:0x%08x,"
-+ "srcW:%d,srcH:%d,srcPitch:%d,dstOffset:0x%08x,"
-+ "dstPitch:%d,dstX:%d,dstY:%d,xscaler:%d,yscaler:%d)\n",
-+ randr, bpp, srcOffset, srcW, srcH,
-+ srcPitch, dstOffset, dstPitch,
-+ dstX, dstY, xscaler, yscaler));
++ CARD16 dx, dy, sw, sh, dw, dh;
++ BoxRec dst;
++
++ DBG_IMAGEON(("W100StretchBlt(randr:%d,bpp:%d,"
++ "src(x1:%d,y1:%d,x2:%d,y2:%d,pitch:%d,offset:%d),"
++ "dst(x1:%d,y1:%d,x2:%d,y2:%d,pitch:%d,offset:%d),"
++ "xscaler:%d,yscaler:%d)\n",
++ randr, bpp,
++ srcBox->x1, srcBox->y1, srcBox->x2, srcBox->y2,
++ srcPitch, srcOffset,
++ dstBox->x1, dstBox->y1, dstBox->x2, dstBox->y2,
++ dstPitch, dstOffset,
++ xscaler, yscaler));
++
++ sw = W100ApplyScaler(srcBox->x2 - srcBox->x1 + 1, xscaler);
++ sh = W100ApplyScaler(srcBox->y2 - srcBox->y1 + 1, yscaler);
+
+ if (randr & (RR_Rotate_90|RR_Rotate_270)) {
+ hasXForm = TRUE;
@@ -7281,12 +7268,23 @@
+ eng_cntl.f.dis_src_uses_dst_dirmaj = 1;
+ ++firstStage;
+ ++secondStage;
++ dh = sw;
++ dw = sh;
++ } else {
++ dh = sh;
++ dw = sw;
+ }
+
++ dst.x1 = dstBox->x1;
++ dst.y1 = dstBox->y1;
++ dst.x2 = dst.x1 + dw - 1;
++ dst.y2 = dst.y1 + dh - 1;
++
+ W100ResetContext(w100c);
+ W100SetRotation(w100c, randr, FALSE);
+ W100SetSource(screen, srcPitch, srcOffset, bpp);
+ W100SetDestination(screen, dstPitch, dstOffset, bpp);
++ W100TrajectoryOrigin(w100c, &dst, &dx, &dy);
+
+ src_inc.val = 0;
+ src_inc.f.src_xinc = xscaler;
@@ -7308,23 +7306,15 @@
+ e2.f.srcblend = E2_SRCBLEND_ZERO;
+ e2.f.dstblend = E2_DSTBLEND_ZERO;
+
-+ sw = W100ApplyScaler(srcW, xscaler);
-+ sh = W100ApplyScaler(srcH, yscaler);
-+
-+ x = W100XformX(w100c, dstX, dstY, sw, sh);
-+ y = W100XformY(w100c, dstX, dstY, sw, sh);
-+ w = W100XformW(w100c, dstX, dstY, sw, sh);
-+ h = W100XformH(w100c, dstX, dstY, sw, sh);
-+
-+ src_x_y.f.src_y = 0;
-+ src_x_y.f.src_x = 0;
-+ dst_x_y.f.dst_x = x;
-+ dst_x_y.f.dst_y = y;
++ src_x_y.f.src_x = srcBox->x1;
++ src_x_y.f.src_y = srcBox->y1;
++ dst_x_y.f.dst_x = dx;
++ dst_x_y.f.dst_y = dy;
+ src_width.f.src_width = sw + 1;
+ src_height.f.src_height = sh;
-+ dst_width_height.f.dst_height = h;
-+ dst_width_height.f.dst_width_b0 = w & 0xff;
-+ dst_width_height.f.dst_width_b1 = (w >> 8) & 0x3f;
++ dst_width_height.f.dst_height = dh;
++ dst_width_height.f.dst_width_b0 = dw & 0xff;
++ dst_width_height.f.dst_width_b1 = (dw >> 8) & 0x3f;
+
+
+ if (W100WaitCmdFifoEntries(w100c, firstStage)) {
@@ -7373,20 +7363,17 @@
+ int randr,
+ int bpp,
+ CARD32 srcOffset,
-+ CARD16 srcW,
-+ CARD16 srcH,
+ CARD16 srcPitch,
++ BoxPtr srcBox,
+ CARD32 dstOffset,
+ CARD16 dstPitch,
-+ CARD16 dstX,
-+ CARD16 dstY,
++ BoxPtr dstBox,
+ CARD8 xscaler,
+ CARD8 yscaler)
+{
+ ScreenPtr pScreen = screen->pScreen;
+ KdScreenPriv(pScreen);
+ W100CardInfo(pScreenPriv);
-+ CARD16 x, y, w, h, sw, sh;
+ Bool hasXForm = FALSE;
+ dp_datatype_u dp_datatype;
+ dp_mix_u dp_mix;
@@ -7401,14 +7388,23 @@
+ dst_width_height_u dst_width_height;
+ int firstStage = 11;
+ int secondStage = 11;
-+
-+ DBG_IMAGEON(("W100ScaledBlt(randr:%d,bpp:%d,srcOffset:0x%08x,"
-+ "srcW:%d,srcH:%d,srcPitch:%d,dstOffset:0x%08x,"
-+ "dstPitch:%d,dstX:%d,dstY:%d,xscaler:%d,yscaler:%d)\n",
-+ randr, bpp, srcOffset, srcW, srcH,
-+ srcPitch, dstOffset, dstPitch,
-+ dstX, dstY, xscaler, yscaler));
-+
++ CARD16 dx, dy, sw, sh, dw, dh;
++ BoxRec dst;
++
++ DBG_IMAGEON(("W100ScaledBlt(randr:%d,bpp:%d,"
++ "src(x1:%d,y1:%d,x2:%d,y2:%d,pitch:%d,offset:%d),"
++ "dst(x1:%d,y1:%d,x2:%d,y2:%d,pitch:%d,offset:%d),"
++ "xscaler:%d,yscaler:%d)\n",
++ randr, bpp,
++ srcBox->x1, srcBox->y1, srcBox->x2, srcBox->y2,
++ srcPitch, srcOffset,
++ dstBox->x1, dstBox->y1, dstBox->x2, dstBox->y2,
++ dstPitch, dstOffset,
++ xscaler, yscaler));
++
++ sw = W100ApplyScaler(srcBox->x2 - srcBox->x1 + 1, xscaler);
++ sh = W100ApplyScaler(srcBox->y2 - srcBox->y1 + 1, yscaler);
++
+ if (randr & (RR_Rotate_90|RR_Rotate_270)) {
+ hasXForm = TRUE;
+ eng_cntl.val = w100c->regs.ENG_CNTL;
@@ -7416,12 +7412,27 @@
+ eng_cntl.f.dis_src_uses_dst_dirmaj = 1;
+ ++firstStage;
+ ++secondStage;
++ dh = sw;
++ dw = sh;
++ } else {
++ dh = sh;
++ dw = sw;
+ }
+
++ dst.x1 = dstBox->x1;
++ dst.y1 = dstBox->y1;
++ dst.x2 = dst.x1 + dw - 1;
++ dst.y2 = dst.y1 + dh - 1;
++
+ W100ResetContext(w100c);
+ W100SetRotation(w100c, randr, FALSE);
+ W100SetSource(screen, srcPitch, srcOffset, bpp);
+ W100SetDestination(screen, dstPitch, dstOffset, bpp);
++ W100TrajectoryOrigin(w100c, &dst, &dx, &dy);
++
++ DBG_IMAGEON(("Corrected dst(x1:%d,y1:%d,x2:%d,y2:%d). Origin(%d,%d)\n",
++ dst.x1, dst.y1, dst.x2, dst.y2,
++ dx, dy));
+
+ src_inc.val = 0;
+ src_inc.f.src_xinc = xscaler;
@@ -7446,25 +7457,18 @@
+ e2.f.srcblend = E2_SRCBLEND_ZERO;
+ e2.f.dstblend = E2_DSTBLEND_ZERO;
+
-+ sw = W100ApplyScaler(srcW, xscaler);
-+ sh = W100ApplyScaler(srcH, yscaler);
-+
-+ x = W100XformX(w100c, dstX, dstY, sw, sh);
-+ y = W100XformY(w100c, dstX, dstY, sw, sh);
-+ w = W100XformW(w100c, dstX, dstY, sw, sh);
-+ h = W100XformH(w100c, dstX, dstY, sw, sh);
+
-+ src_x_y.f.src_y = 0;
-+ src_x_y.f.src_x = 0;
-+ src2_x_y.f.src_y = 0 + 4;
-+ src2_x_y.f.src_x = 0;
-+ dst_x_y.f.dst_x = x;
-+ dst_x_y.f.dst_y = y;
++ src_x_y.f.src_x = srcBox->x1;
++ src_x_y.f.src_y = srcBox->y1;
++ src2_x_y.f.src_x = srcBox->x1;
++ src2_x_y.f.src_y = srcBox->y1 + 4;
++ dst_x_y.f.dst_x = dx;
++ dst_x_y.f.dst_y = dy;
+ src_width.f.src_width = sw + 1;
+ src_height.f.src_height = sh;
-+ dst_width_height.f.dst_height = h;
-+ dst_width_height.f.dst_width_b0 = w & 0xff;
-+ dst_width_height.f.dst_width_b1 = (w >> 8) & 0x3f;
++ dst_width_height.f.dst_height = dh;
++ dst_width_height.f.dst_width_b0 = dw & 0xff;
++ dst_width_height.f.dst_width_b1 = (dw >> 8) & 0x3f;
+
+ if (W100WaitCmdFifoEntries(w100c, firstStage)) {
+ /* Set Source */
@@ -7517,82 +7521,93 @@
+}
+
+void W100PlanarBlt(KdScreenInfo *screen,
-+ int planes,
-+ int bpp,
-+ int randr,
++ int planes, int planeOffsets[],
++ int bpp, int randr,
+ KdOffscreenArea *src,
+ int srcW,
-+ int srcPitch,
+ int srcH,
++ BoxPtr srcBox,
+ KdOffscreenArea *dst,
-+ int planeOffsets[],
+ int dstW,
-+ int dstPitch,
+ int dstH,
-+ int dstX,
-+ int dstY)
++ BoxPtr dstBox)
+{
+ ScreenPtr pScreen = screen->pScreen;
+ KdScreenPriv(pScreen);
+ W100CardInfo(pScreenPriv);
+ W100ScreenInfo(pScreenPriv);
++
++ CARD16 dstBoxW, dstBoxH, srcBoxW, srcBoxH;
+ CARD8 *srcOffset, *dstBase, *dstOffset;
-+ int xoffs, yoffs;
++ int xerror, yerror;
+ unsigned int subsampling[] = {0, 1, 1};
+ int plane;
-+ int stretch = ((srcW != dstW) || (srcH != dstH));
++ srcBoxW = srcBox->x2 - srcBox->x1 + 1;
++ srcBoxH = srcBox->y2 - srcBox->y1 + 1;
++ if (randr & (RR_Rotate_90 | RR_Rotate_270)) {
++ dstBoxW = dstBox->y2 - dstBox->y1 + 1;
++ dstBoxH = dstBox->x2 - dstBox->x1 + 1;
++ } else {
++ dstBoxW = dstBox->x2 - dstBox->x1 + 1;
++ dstBoxH = dstBox->y2 - dstBox->y1 + 1;
++ }
++
++ Bool stretch = ((srcBoxW != dstBoxW) || (srcBoxH != dstBoxH));
+ CARD8 xscaler, yscaler;
++ BoxRec dstb = *dstBox;
+
+ DBG_IMAGEON(("W100PlanarBlt(planes:%d,bpp:%d,randr:%d,"
-+ "src(w:%d,pitch:%d,h:%d),"
-+ "dst(w:%d,pitch:%d,h:%d,x:%d,y:%d)\n",
++ "src(x1:%d,y1:%d,x2:%d,y2:%d,w:%d,h:%d),"
++ "dst(x1:%d,y1:%d,x2:%d,y2:%d,w:%d,h:%d)\n",
+ planes, bpp, randr,
-+ srcW, srcPitch, srcH,
-+ dstW, dstPitch, dstH, dstX, dstY));
++ srcBox->x1, srcBox->y1, srcBox->x2, srcBox->y2, srcW, srcH,
++ dstBox->x1, dstBox->y1, dstBox->x2, dstBox->y2, dstW, dstH));
+
++ xerror = yerror = 0;
+ if (stretch) {
-+ xscaler = W100GetScaler(dstW, srcW);
-+ yscaler = W100GetScaler(dstH, srcH);
-+ xoffs = yoffs = 0;
++ xscaler = W100GetScaler(dstBoxW, srcBoxW);
++ yscaler = W100GetScaler(dstBoxH, srcBoxH);
+ if (xscaler != 16 || yscaler != 16) {
-+ xoffs = (dstW - W100ApplyScaler(srcW, xscaler)) / 2;
-+ yoffs = (dstH - W100ApplyScaler(srcH, yscaler)) / 2;
++ xerror = (dstBoxW - W100ApplyScaler(srcBoxW, xscaler)) / 2;
++ yerror = (dstBoxH - W100ApplyScaler(srcBoxH, yscaler)) / 2;
+ DBG_IMAGEON(("Stretching with xscaler:%d,yscaler:%d,"
-+ "xoffs:%d,yoffs:%d\n",
-+ xscaler, yscaler, xoffs, yoffs));
++ "xerror:%d,yerror:%d\n",
++ xscaler, yscaler, xerror, yerror));
+ } else {
-+ xoffs = yoffs = 0;
++ xerror = yerror = 0;
+ stretch = FALSE;
+ }
+ }
+
++ W100MoveTo(&dstb, xerror, yerror);
++
+ srcOffset = src->vidmem->base + src->offset;
+ dstBase = dst->vidmem->base + dst->offset;
+ for (plane = 0; plane < planes; plane++) {
++ BoxRec srcCBox;
++ BoxRec dstCBox;
+ dstOffset = dstBase + planeOffsets[plane];
++ W100ScaleBox(srcBox, &srcCBox, -subsampling[plane]);
++ W100ScaleBox(&dstb, &dstCBox, -subsampling[plane]);
+ if (stretch) {
+ W100ScaledBlt(screen, randr, bpp,
+ (CARD32) srcOffset,
+ srcW >> subsampling[plane],
-+ srcH >> subsampling[plane],
-+ srcPitch >> subsampling[plane],
++ &srcCBox,
+ (CARD32) dstOffset,
-+ dstPitch >> subsampling[plane],
-+ (dstX + xoffs) >> subsampling[plane],
-+ (dstY + yoffs) >> subsampling[plane],
++ dstW >> subsampling[plane],
++ &dstCBox,
+ xscaler, yscaler);
+ } else {
+ W100Blt(screen, randr, bpp,
+ (CARD32) srcOffset,
+ srcW >> subsampling[plane],
-+ srcH >> subsampling[plane],
-+ srcPitch >> subsampling[plane],
++ &srcCBox,
+ (CARD32) dstOffset,
-+ dstPitch >> subsampling[plane],
-+ dstX >> subsampling[plane],
-+ dstY >> subsampling[plane]);
++ dstW >> subsampling[plane],
++ &dstCBox);
+ }
-+ srcOffset += (srcPitch * srcH) >> (subsampling[plane] * 2);
++ srcOffset += (srcW * srcH) >> (subsampling[plane] * 2);
+ }
+}
+
@@ -7668,11 +7683,59 @@
+ *y >>= 1;
+ }
+}
-+
++
++void W100VSync(W100CardInfo *w100c)
++{
++ int timeout = 30000; /* VSync timeout = 30[ms] > 16.8[ms] */
++ active_v_disp_u active_v_disp;
++ disp_int_cntl_u disp_int_cntl;
++ gen_int_cntl_u gen_int_cntl;
++ gen_int_status_wr_u gen_int_status;
++
++ active_v_disp.val = MMIO_IN32(mmACTIVE_V_DISP);
++
++ /*set vline pos */
++ disp_int_cntl.val = 0;
++ disp_int_cntl.f.vline_int_pos = active_v_disp.f.active_v_end;
++ MMIO_OUT32(mmDISP_INT_CNTL, disp_int_cntl.val);
++
++ /* disable vline irq */
++ gen_int_cntl.val = MMIO_IN32(mmGEN_INT_CNTL);
++ gen_int_cntl.f.crtc_vline_mask = 0;
++ MMIO_OUT32(mmGEN_INT_CNTL, gen_int_cntl.val);
++
++ /* clear vline irq status */
++ gen_int_status.val = 0;
++ gen_int_status.f.crtc_vline_stat_ak = 1;
++ MMIO_OUT32(mmGEN_INT_STATUS, gen_int_status.val);
++
++ /* enable vline irq */
++ gen_int_cntl.f.crtc_vline_mask = 1;
++ MMIO_OUT32(gen_int_cntl.val, mmGEN_INT_CNTL);
++
++ /* clear vline irq status */
++ MMIO_OUT32(mmGEN_INT_STATUS, gen_int_status.val);
++
++ while (timeout > 0) {
++ if (MMIO_IN32(mmGEN_INT_STATUS) & 0x00000002) {
++ break;
++ }
++ usleep(1);
++ timeout--;
++ }
++
++ /* disable vline irq */
++ gen_int_cntl.f.crtc_vline_mask = 0;
++ MMIO_OUT32(mmGEN_INT_CNTL, gen_int_cntl.val);
++
++ /* clear vline irq status */
++ MMIO_OUT32(mmGEN_INT_STATUS, gen_int_status.val);
++}
++
+
--- /dev/null
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon_video.c
-@@ -0,0 +1,1051 @@
+@@ -0,0 +1,1172 @@
+/*
+ * Copyright © 2007 Manuel Teira
+ *
@@ -7754,19 +7817,32 @@
+static struct {
+ CARD8 xfactor;
+ CARD8 yfactor;
-+} ovlResizers[10] = {
-+ { 0, 0 },
-+ { 1, 0 },
-+ { 0, 1 },
-+ { 1, 1 },
-+ { 2, 1 },
-+ { 1, 2 },
-+ { 2, 2 },
-+ { 3, 2 },
-+ { 2, 3 },
-+ { 3, 3 }
++} ovlResizers[NUM_OVL_RESIZERS] = {
++ { 0, 0 },
++ { 0, 1 }, { 1, 0 }, { 1, 1 },
++ { 1, 2 }, { 2, 1 }, { 2, 2 },
++ { 2, 3 }, { 3, 2 }, { 3, 3 }
+};
+
++static int W100SurfaceSize(W100PortPrivPtr port, short w, short h)
++{
++ int size = 0;
++ DBG_IMAGEON(("W100SurfaceSize for id=%08x, w=%d, h=%d\n",
++ port->src.id, w, h));
++
++ switch (port->src.id) {
++ case FOURCC_YV12:
++ case FOURCC_I420:
++ size = (3 * w * h) / 2;
++ break;
++ case FOURCC_UYVY:
++ case FOURCC_YUY2:
++ size = w * h * 2;
++ break;
++ }
++ return size;
++}
++
+static void W100ClearSurface(KdScreenInfo *screen,
+ KdOffscreenArea *area,
+ CARD16 x,
@@ -7825,8 +7901,8 @@
+{
+ W100ScreenInfo *w100s = screen->driver;
+ W100CardInfo(screen);
-+ W100PortPrivPtr pPortPriv = w100s->pAdaptor->pPortPrivates[0].ptr;
-+
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
++ CARD16 w, h, pitch;
+ video_ctrl_u video_ctrl;
+ video_y_offset_u video_y_offset;
+ video_y_pitch_u video_y_pitch;
@@ -7840,56 +7916,56 @@
+ graphic_h_disp_u graphic_h_disp;
+ graphic_v_disp_u graphic_v_disp;
+
-+ CARD16 w, h;
++ w = pitch = port->ovl.frame.x2 - port->ovl.frame.x1 + 1;
++ h = port->ovl.frame.y2 - port->ovl.frame.y1 + 1;
+
-+ DBG_IMAGEON(("W100OverlaySetup(ovlX:%d,ovlY:%d,ovlWidth:%d,ovlHeight:%d,"
-+ "videoHorExp:%d,videoVerExp:%d,YPlane:0x%08x,UPlane:0x%08x,"
-+ "VPlane:0x%08x)\n",
-+ pPortPriv->ovlX, pPortPriv->ovlY,
-+ pPortPriv->ovlWidth, pPortPriv->ovlHeight,
-+ pPortPriv->videoHorExp, pPortPriv->videoVerExp,
-+ pPortPriv->YPlaneOffset, pPortPriv->UPlaneOffset,
-+ pPortPriv->VPlaneOffset));
++ ErrorF("W100OverlaySetup(ovlX:%d,ovlY:%d,ovlWidth:%d,ovlHeight:%d,"
++ "videoHorExp:%d,videoVerExp:%d,YPlane:0x%08x,UPlane:0x%08x,"
++ "VPlane:0x%08x)\n",
++ port->ovl.frame.x1, port->ovl.frame.y1, w, h,
++ port->ovl.horExp,
++ port->ovl.verExp,
++ port->planes.yplane,
++ port->planes.uplane,
++ port->planes.vplane);
+
-+ if (pPortPriv->videoStatus & W100_OVERLAY_CONFIGURED) {
++ if (port->videoStatus & W100_OVERLAY_CONFIGURED) {
+ return;
+ }
+
-+ w = pPortPriv->ovlWidth << pPortPriv->videoHorExp;
-+ h = pPortPriv->ovlHeight << pPortPriv->videoVerExp;
++ w <<= port->ovl.horExp;
++ h <<= port->ovl.verExp;
+
+ video_ctrl.val = w100c->regs.VIDEO_CTRL;
+
+ video_ctrl.f.video_inv_hor = 0;
+ video_ctrl.f.video_inv_ver = 0;
+ video_ctrl.f.yuv2rgb_option = 0;
-+ video_ctrl.f.video_hor_exp = pPortPriv->videoHorExp;
-+ video_ctrl.f.video_ver_exp = pPortPriv->videoVerExp;
++ video_ctrl.f.video_hor_exp = port->ovl.horExp;
++ video_ctrl.f.video_ver_exp = port->ovl.verExp;
+ video_ctrl.f.video_ch_sel = 0;
+
+ video_ctrl.f.yuv2rgb_en = 1;
+ //Only support this, by the moment
+ video_ctrl.f.video_mode = OVLFORMAT_YUV420;
+
-+ video_y_pitch.f.y_pitch = pPortPriv->ovlWidth;
-+ video_u_pitch.f.u_pitch = pPortPriv->ovlWidth >> 1;
-+ video_v_pitch.f.v_pitch = pPortPriv->ovlWidth >> 1;
+
-+ /*
-+ video_y_offset.f.y_offset = pPortPriv->YPlaneOffset +
-+ video_y_pitch.f.y_pitch * pPortPriv->ovlY + pPortPriv->ovlX;
-+ video_u_offset.f.u_offset = pPortPriv->UPlaneOffset +
-+ video_u_pitch.f.u_pitch * pPortPriv->ovlY + (pPortPriv->ovlX / 2);
-+ video_v_offset.f.v_offset = pPortPriv->VPlaneOffset +
-+ video_v_pitch.f.v_pitch * pPortPriv->ovlY + (pPortPriv->ovlX / 2);
-+ */
++ video_y_pitch.val = 0;
++ video_u_pitch.val = 0;
++ video_v_pitch.val = 0;
++ video_y_pitch.f.y_pitch = pitch;
++ video_u_pitch.f.u_pitch = pitch >> 1;
++ video_v_pitch.f.v_pitch = pitch >> 1;
+
-+ video_y_offset.f.y_offset = pPortPriv->YPlaneOffset;
-+ video_u_offset.f.u_offset = pPortPriv->UPlaneOffset;
-+ video_v_offset.f.v_offset = pPortPriv->VPlaneOffset;
++ video_y_offset.val = 0;
++ video_u_offset.val = 0;
++ video_v_offset.val = 0;
++ video_y_offset.f.y_offset = port->planes.yplane;
++ video_u_offset.f.u_offset = port->planes.uplane;
++ video_v_offset.f.v_offset = port->planes.vplane;
+
+ graphic_key.val = 0;
-+ graphic_key.f.keyer_color = pPortPriv->colorKey;
++ graphic_key.f.keyer_color = port->ovl.colorKey;
+ graphic_key.f.keyer_mask = 0xffffUL;
+ video_ctrl.f.keyer_en = 1;
+
@@ -7897,10 +7973,11 @@
+ graphic_v_disp.val = w100c->regs.GRAPHIC_V_DISP;
+
+ video_hpos.f.video_h_start = graphic_h_disp.f.graphic_h_start
-+ + pPortPriv->ovlX;
++ + port->ovl.frame.x1;
+ video_hpos.f.video_h_end = video_hpos.f.video_h_start + w;
++
+ video_vpos.f.video_v_start = graphic_v_disp.f.graphic_v_start
-+ + pPortPriv->ovlY;
++ + port->ovl.frame.y1;
+ video_vpos.f.video_v_end = video_vpos.f.video_v_start + h;
+ if (video_hpos.f.video_h_end > graphic_h_disp.f.graphic_h_end) {
+ w = graphic_h_disp.f.graphic_h_end - video_hpos.f.video_h_start;
@@ -7911,9 +7988,11 @@
+
+ W100DisableDisplayUpdate(w100c);
+ //This need to be tuned deeply, to get an stable
-+ //overlay image
++ //overlay image:
++ //Best results seems to be present with 0x40xxxxxx
++ //But overlay surface must be located in a 8 dot multiple
+ MMIO_OUT32(mmDISP_DEBUG2,
-+ (w100c->regs.DISP_DEBUG2 & ~0xff000000) | 0x80000000 );
++ (w100c->regs.DISP_DEBUG2 & ~0xff000000) | 0x40000000 );
+ MMIO_OUT32(mmGRAPHIC_KEY, graphic_key.val);
+ MMIO_OUT32(mmVIDEO_Y_OFFSET, video_y_offset.val);
+ MMIO_OUT32(mmVIDEO_Y_PITCH, video_y_pitch.val);
@@ -7926,52 +8005,56 @@
+ MMIO_OUT32(mmVIDEO_V_POS, video_vpos.val);
+ W100EnableDisplayUpdate(w100c);
+
-+ pPortPriv->videoCtrl = video_ctrl.val;
-+ pPortPriv->videoStatus |= W100_OVERLAY_CONFIGURED;
++ port->videoCtrl = video_ctrl.val;
++ port->videoStatus |= W100_OVERLAY_CONFIGURED;
+}
+
+static void W100OverlayEnable(KdScreenInfo *screen)
+{
+ W100ScreenInfo *w100s = screen->driver;
+ W100CardInfo(screen);
-+ W100PortPrivPtr pPortPriv = w100s->pAdaptor->pPortPrivates[0].ptr;
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
+ video_ctrl_u video_ctrl;
+
-+ DBG_IMAGEON(("W100OverlayEnable()\n"));
-+
-+ if (!(pPortPriv->videoStatus & W100_OVERLAY_CONFIGURED)) {
++ if (!(port->videoStatus & W100_OVERLAY_CONFIGURED)) {
+ W100OverlaySetup(screen);
+ }
+
-+ video_ctrl.val = pPortPriv->videoCtrl;
-+ video_ctrl.f.en_video_req = 1;
-+ video_ctrl.f.en_video_crtc = 1;
-+ video_ctrl.f.en_graphic_req_video = 1;
-+ W100DisableDisplayUpdate(w100c);
-+ MMIO_OUT32(mmVIDEO_CTRL, video_ctrl.val);
-+ W100EnableDisplayUpdate(w100c);
-+ pPortPriv->videoCtrl = video_ctrl.val;
-+ pPortPriv->videoStatus |= W100_OVERLAY_ON;
++ if (!(port->videoStatus & W100_OVERLAY_ON)) {
++ ErrorF("W100OverlayEnable()\n");
++ video_ctrl.val = port->videoCtrl;
++ video_ctrl.f.en_video_req = 1;
++ video_ctrl.f.en_video_crtc = 1;
++ video_ctrl.f.en_graphic_req_video = 1;
++ W100DisableDisplayUpdate(w100c);
++ MMIO_OUT32(mmVIDEO_CTRL, video_ctrl.val);
++ W100EnableDisplayUpdate(w100c);
++ port->videoCtrl = video_ctrl.val;
++ port->videoStatus |= W100_OVERLAY_ON;
++ }
+}
+
+static void W100OverlayDisable(KdScreenInfo *screen)
+{
-+ DBG_IMAGEON(("W100OverlayDisable()\n"));
++
+ W100ScreenInfo *w100s = screen->driver;
+ W100CardInfo(screen);
-+ W100PortPrivPtr pPortPriv = w100s->pAdaptor->pPortPrivates[0].ptr;
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
+
+ video_ctrl_u video_ctrl;
+
-+ video_ctrl.val = pPortPriv->videoCtrl;
-+ video_ctrl.f.en_video_req = 0;
-+ video_ctrl.f.en_video_crtc = 0;
-+ video_ctrl.f.en_graphic_req_video = 0;
-+ W100DisableDisplayUpdate(w100c);
-+ MMIO_OUT32(mmVIDEO_CTRL, video_ctrl.val);
-+ W100EnableDisplayUpdate(w100c);
-+ pPortPriv->videoCtrl = video_ctrl.val;
-+ pPortPriv->videoStatus &= ~W100_OVERLAY_ON;
++ if ((port->videoStatus & W100_OVERLAY_ON)) {
++ ErrorF("W100OverlayDisable()\n");
++ video_ctrl.val = port->videoCtrl;
++ video_ctrl.f.en_video_req = 0;
++ video_ctrl.f.en_video_crtc = 0;
++ video_ctrl.f.en_graphic_req_video = 0;
++ W100DisableDisplayUpdate(w100c);
++ MMIO_OUT32(mmVIDEO_CTRL, video_ctrl.val);
++ W100EnableDisplayUpdate(w100c);
++ port->videoCtrl = video_ctrl.val;
++ port->videoStatus &= ~W100_OVERLAY_ON;
++ }
+}
+
+static void W100VideoSave(ScreenPtr pScreen, KdOffscreenArea *area)
@@ -7979,28 +8062,44 @@
+ KdScreenPriv(pScreen);
+ W100CardInfo(pScreenPriv);
+ W100ScreenInfo(pScreenPriv);
-+ W100PortPrivPtr pPortPriv = w100s->pAdaptor->pPortPrivates[0].ptr;
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
+
-+ if (pPortPriv->offSurface == area) {
-+ pPortPriv->offSurface = NULL;
-+ pPortPriv->offSize = 0;
++ if (port->src.surface == area) {
++ port->src.surface = NULL;
+ }
-+ if (pPortPriv->ovlSurface == area) {
-+ pPortPriv->ovlSurface = NULL;
-+ pPortPriv->ovlSize = 0;
++
++ if (port->ovl.surface == area) {
++ port->ovl.surface = NULL;
+ }
+}
+
-+static void W100HostPlanarData(KdScreenInfo *screen,
-+ int id,
-+ CARD8 *src,
-+ KdOffscreenArea *dst,
-+ CARD32 srcPitch, CARD32 srcHeight,
-+ CARD32 dstPitch, CARD32 dstHeight,
-+ CARD16 srcX, CARD16 srcY,
-+ CARD16 dstX, CARD16 dstY,
-+ CARD16 w, CARD16 h)
++static void W100SaveSurface(CARD8 *src, int size, const char *file)
+{
++ int fd;
++ if (fd = open(file, O_WRONLY | O_CREAT | O_TRUNC,
++ S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) {
++ write(fd, (void*) src, size);
++ close(fd);
++ }
++}
++
++static void W100HostPlanarData(KdScreenInfo *screen)
++{
++ W100ScreenInfo *w100s = screen->driver;
++ W100CardInfo(screen);
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
++ KdOffscreenArea *dst = port->src.surface;
++ CARD8 *src = port->src.buffer;
++ CARD16 srcPitch = port->src.width; //WARN: padding?
++ CARD16 srcHeight = port->src.height;
++ CARD16 dstPitch = port->src.box.x2 - port->src.box.x1 + 1; //WARN: padding?
++ CARD16 dstHeight = port->src.box.y2 - port->src.box.y1 + 1;
++ CARD16 srcX = port->src.box.x1;
++ CARD16 srcY = port->src.box.y1;
++ CARD16 dstX = 0;
++ CARD16 dstY = 0;
++ CARD16 w = dstPitch;
++ CARD16 h = dstHeight;
+ CARD8 *dstBase = dst->vidmem->base + dst->offset;
+ CARD8 *dstPtr;
+ CARD8 *srcPtr;
@@ -8025,7 +8124,7 @@
+ dstPtr = dstBase + (dstHeight * dstPitch) //Start of U Plane
+ + (dstX >> 1) //X Offset
+ + ((dstY * dstPitch) >> 2); //Y Offset
-+ if (id == FOURCC_I420) {
++ if (port->src.id == FOURCC_I420) {
+ srcPtr = src + (srcHeight * srcPitch) //Start of U Plane
+ + (srcX >> 1) //X Offset
+ + ((srcY * srcPitch) >> 2); //Y Offset
@@ -8044,7 +8143,7 @@
+ dstPtr = dstBase + ((5 * dstHeight * dstPitch) / 4) //Start of V Plane
+ + (dstX >> 1) //X Offset
+ + ((dstY * dstPitch) >> 2); //Y Offset
-+ if (id == FOURCC_I420) {
++ if (port->src.id == FOURCC_I420) {
+ srcPtr = src + ((5 * srcHeight * srcPitch) / 4) //Start of V Plane
+ + (srcX >> 1) //X Offset
+ + ((srcY * srcPitch) >> 2); //Y Offset
@@ -8060,16 +8159,22 @@
+ }
+}
+
-+static void W100HostPackedData(KdScreenInfo *screen,
-+ int id,
-+ CARD8 *src,
-+ KdOffscreenArea *dst,
-+ CARD32 srcPitch,
-+ CARD32 dstPitch,
-+ CARD16 srcX, CARD16 srcY,
-+ CARD16 dstX, CARD16 dstY,
-+ CARD16 w, CARD16 h)
++static void W100HostPackedData(KdScreenInfo *screen)
+{
++ W100ScreenInfo *w100s = screen->driver;
++ W100CardInfo(screen);
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
++ KdOffscreenArea *dst = port->src.surface;
++ CARD8 *src = port->src.buffer;
++ CARD16 srcPitch = port->src.width << 1; //WARN: padding?
++ CARD16 dstPitch = (port->src.box.x2 - port->src.box.x1 + 1) << 1;
++ CARD16 srcX = port->src.box.x1;
++ CARD16 srcY = port->src.box.y1;
++ CARD16 dstX = 0;
++ CARD16 dstY = 0;
++ CARD16 w = port->src.box.x2 - port->src.box.x1 + 1;
++ CARD16 h = port->src.box.y2 - port->src.box.y1 + 1;
++
+ CARD8 *dstBase = dst->vidmem->base + dst->offset;
+ CARD8 *dstPtr = dstBase + (dstY * dstPitch) + (dstX << 1);
+ CARD8 *srcPtr = src + (srcY + srcPitch) + (srcX << 1);
@@ -8079,7 +8184,7 @@
+ srcPitch, srcPtr, srcX, srcY,
+ dstPitch, dstPtr, dstX, dstY,
+ w, h));
-+ while(h--) {
++ while (h--) {
+ memcpy(dstPtr, srcPtr, (w << 1)); /* 16bpp assumed */
+ srcPtr += srcPitch;
+ dstPtr += dstPitch;
@@ -8090,31 +8195,29 @@
+static void W100StopVideo(KdScreenInfo *screen, pointer data, Bool exit)
+{
+ W100CardInfo(screen);
-+ W100PortPrivPtr pPriv = (W100PortPrivPtr)data;
++ W100PortPrivPtr port = (W100PortPrivPtr)data;
+
+ DBG_IMAGEON(("W100StopVideo(exit:%d)\n", exit));
+
-+ REGION_EMPTY(screen->pScreen, &pPriv->clip);
++ REGION_EMPTY(screen->pScreen, &port->clip);
+
+ if (exit) {
-+ if (pPriv->videoStatus & W100_OVERLAY_ON) {
++ if (port->videoStatus & W100_OVERLAY_ON) {
+ W100OverlayDisable(screen);
+ }
-+ if (pPriv->offSurface) {
-+ KdOffscreenFree(screen->pScreen, pPriv->offSurface);
-+ pPriv->offSurface = NULL;
-+ pPriv->offSize = 0;
++ if (port->src.surface) {
++ KdOffscreenFree(screen->pScreen, port->src.surface);
++ port->src.surface = NULL;
+ }
-+ if (pPriv->ovlSurface) {
-+ KdOffscreenFree(screen->pScreen, pPriv->ovlSurface);
-+ pPriv->ovlSurface = NULL;
-+ pPriv->ovlSize = 0;
++
++ if (port->ovl.surface) {
++ KdOffscreenFree(screen->pScreen, port->ovl.surface);
++ port->ovl.surface = NULL;
+ }
-+ pPriv->videoStatus &= ~W100_OVERLAY_ON;
++ port->src.id = -1; // Just to avoid cached values.
+ } else {
-+ if (pPriv->videoStatus & W100_OVERLAY_ON) {
++ if (port->videoStatus & W100_OVERLAY_ON) {
+ W100OverlayDisable(screen);
-+ pPriv->videoStatus &= ~W100_OVERLAY_ON;
+ }
+ }
+}
@@ -8125,18 +8228,18 @@
+ pointer data)
+{
+ W100CardInfo(screen);
-+ W100PortPrivPtr pPriv = (W100PortPrivPtr)data;
++ W100PortPrivPtr port = (W100PortPrivPtr)data;
+
+ if (attribute == xvBrightness) {
+ DBG_IMAGEON(("Setting Brightness attribute to %d\n", value));
+ W100SetBrightness(w100c, value);
-+ pPriv->brightness = value;
++ port->ovl.brightness = value;
+ } else if (attribute == xvMaxOverlaySize) {
+ DBG_IMAGEON(("Setting MaxOverlaySize to %d\n", value));
-+ pPriv->maxOverlaySize = value;
++ port->ovl.maxSize = value;
+ } else if (attribute == xvColorKey) {
+ DBG_IMAGEON(("Setting ColorKey attribute to %d\n", value));
-+ pPriv->colorKey = value;
++ port->ovl.colorKey = value;
+ }
+ return Success;
+}
@@ -8147,17 +8250,17 @@
+ pointer data)
+{
+ W100CardInfo(screen);
-+ W100PortPrivPtr pPriv = (W100PortPrivPtr)data;
++ W100PortPrivPtr port = (W100PortPrivPtr)data;
+
+ if (attribute == xvBrightness) {
+ DBG_IMAGEON(("Getting Brightness attribute\n"));
-+ *value = pPriv->brightness;
++ *value = port->ovl.brightness;
+ } else if (attribute == xvMaxOverlaySize) {
-+ *value = pPriv->maxOverlaySize;
++ *value = port->ovl.maxSize;
+ DBG_IMAGEON(("Getting Contrast attribute\n"));
+ } else if (attribute == xvColorKey) {
+ DBG_IMAGEON(("Getting ColorKey attribute\n"));
-+ *value = pPriv->colorKey;
++ *value = port->ovl.colorKey;
+ }
+ return Success;
+}
@@ -8166,7 +8269,8 @@
+ Bool motion,
+ short vid_w, short vid_h, /*Video dimensions */
+ short drw_w, short drw_h, /*Drawable dimensions */
-+ unsigned int *p_w, unsigned int *p_h,
++ unsigned int *p_w,
++ unsigned int *p_h,
+ pointer data)
+{
+ DBG_IMAGEON(("W100QueryBestSize(vid_w:%d,vid_h:%d,drw_w:%d,drw_h:%d)\n",
@@ -8184,6 +8288,8 @@
+{
+ int size, tmp;
+
++ DBG_IMAGEON(("W100QueryImageAttributes(id:%d,w:%d,h:%d)\n", id, *w, *h));
++
+ if (*w > IMAGE_MAX_WIDTH) {
+ *w = IMAGE_MAX_WIDTH;
+ }
@@ -8215,7 +8321,7 @@
+ if (pitches) pitches[1] = pitches[2] = tmp;
+ tmp *= (*h >> 1);
+ size += tmp;
-+ if(offsets) offsets[2] = size;
++ if (offsets) offsets[2] = size;
+ size += tmp;
+ break;
+ /* Packed Formats */
@@ -8230,376 +8336,454 @@
+ return size;
+}
+
-+
-+static void W100ClipVideo(BoxPtr dst,
-+ INT32 *x1,
-+ INT32 *x2,
-+ INT32 *y1,
-+ INT32 *y2,
-+ BoxPtr extents,
-+ INT32 width,
-+ INT32 height)
++static void W100ClipVideo(BoxPtr src, BoxPtr dst, BoxPtr extents,
++ short width, short height)
+{
+ INT32 vscale, hscale, delta;
-+ int diff;
++ INT32 diff, x1, x2, y1, y2;
+
-+ hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1);
-+ vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1);
++ hscale = ((src->x2 - src->x1) << 16) / (dst->x2 - dst->x1);
++ vscale = ((src->y2 - src->y1) << 16) / (dst->y2 - dst->y1);
+
-+ *x1 <<= 16; *x2 <<= 16;
-+ *y1 <<= 16; *y2 <<= 16;
++ x1 = src->x1 << 16;
++ x2 = src->x2 << 16;
++ y1 = src->y1 << 16;
++ y2 = src->y2 << 16;
+
+ diff = extents->x1 - dst->x1;
-+ if(diff > 0) {
-+ dst->x1 = extents->x1;
-+ *x1 += diff * hscale;
++ if (diff > 0) {
++ dst->x1 = extents->x1;
++ x1 += diff * hscale;
+ }
++
+ diff = dst->x2 - extents->x2;
-+ if(diff > 0) {
-+ dst->x2 = extents->x2;
-+ *x2 -= diff * hscale;
++ if (diff > 0) {
++ dst->x2 = extents->x2;
++ x2 -= diff * hscale;
+ }
++
+ diff = extents->y1 - dst->y1;
-+ if(diff > 0) {
-+ dst->y1 = extents->y1;
-+ *y1 += diff * vscale;
++ if (diff > 0) {
++ dst->y1 = extents->y1;
++ y1 += diff * vscale;
+ }
++
+ diff = dst->y2 - extents->y2;
-+ if(diff > 0) {
-+ dst->y2 = extents->y2;
-+ *y2 -= diff * vscale;
++ if (diff > 0) {
++ dst->y2 = extents->y2;
++ y2 -= diff * vscale;
+ }
+
-+ if(*x1 < 0) {
-+ diff = (- *x1 + hscale - 1)/ hscale;
-+ dst->x1 += diff;
-+ *x1 += diff * hscale;
++ if (x1 < 0) {
++ diff = (- x1 + hscale - 1) / hscale;
++ dst->x1 += diff;
++ x1 += diff * hscale;
+ }
-+ delta = *x2 - (width << 16);
-+ if(delta > 0) {
-+ diff = (delta + hscale - 1)/ hscale;
-+ dst->x2 -= diff;
-+ *x2 -= diff * hscale;
++
++ delta = x2 - (width << 16);
++ if (delta > 0) {
++ diff = (delta + hscale - 1) / hscale;
++ dst->x2 -= diff;
++ x2 -= diff * hscale;
+ }
-+ if(*y1 < 0) {
-+ diff = (- *y1 + vscale - 1)/ vscale;
-+ dst->y1 += diff;
-+ *y1 += diff * vscale;
++
++ if (y1 < 0) {
++ diff = (- y1 + vscale - 1) / vscale;
++ dst->y1 += diff;
++ y1 += diff * vscale;
+ }
-+ delta = *y2 - (height << 16);
-+ if(delta > 0) {
-+ diff = (delta + vscale - 1)/ vscale;
-+ dst->y2 -= diff;
-+ *y2 -= diff * vscale;
++ delta = y2 - (height << 16);
++ if (delta > 0) {
++ diff = (delta + vscale - 1) / vscale;
++ dst->y2 -= diff;
++ y2 -= diff * vscale;
+ }
-+}
++
++ src->x1 = x1 >> 16;
++ src->x2 = x2 >> 16;
++ src->y1 = y1 >> 16;
++ src->y2 = y2 >> 16;
++}
+
-+static int W100PutImage(KdScreenInfo *screen,
-+ DrawablePtr pDraw, /* Destination drawable */
-+ short src_x, short src_y, /* Source coordinates */
-+ short drw_x, short drw_y, /* Destination coordinates */
-+ short src_w, short src_h, /* Source rectangle to put */
-+ short drw_w, short drw_h, /* Destination size */
-+ int id, /* FOURCC id */
-+ unsigned char *buf, /* Source data */
-+ short width, /* Source width */
-+ short height, /* Source height */
-+ Bool sync, /* Sync before returning */
-+ RegionPtr clipBoxes,
-+ pointer data)
++static Bool W100SetOverlaySource(W100PortPrivPtr port,
++ unsigned char *buffer,
++ int id,
++ short src_x, short src_y,
++ short src_w, short src_h,
++ short width, short height,
++ short drw_x, short drw_y,
++ short drw_w, short drw_h,
++ RegionPtr clipBoxes)
+{
-+ ScreenPtr pScreen = screen->pScreen;
-+ KdScreenPriv(pScreen);
-+ W100CardInfo(pScreenPriv);
-+ W100ScreenInfo(pScreenPriv);
-+ W100PortPrivPtr pPortPriv = (W100PortPrivPtr)data;
-+ CARD32 baseAddr;
-+ int randr = w100c->hw_window.randr;
-+ int offWidth, offHeight;
-+ int ovlWidth, ovlHeight;
-+ int ovlX, ovlY;
-+ int dstX, dstY;
-+ int offSize;
-+ int ovlSize;
-+ int planes;
-+ int bpp;
-+ int i;
-+ INT32 x1, x2, y1, y2;
-+ BoxRec dstBox;
-+ int planeOffsets[3];
+
++ BoxRec srcBox, dstBox;
++ Bool changed = FALSE;
+
-+ DBG_IMAGEON(("W100PutImage(src(x:%d,y:%d,w:%d,h:%d),"
-+ "drw(x:%d,y:%d,w:%d,h:%d),"
-+ "width:%d,height:%d)\n",
-+ src_x,src_y,src_w,src_h,
-+ drw_x,drw_y,drw_w,drw_h,
-+ width, height));
-+
-+ /* Clip */
-+ x1 = src_x;
-+ x2 = src_x + src_w;
-+ y1 = src_y;
-+ y2 = src_y + src_h;
++ srcBox.x1 = src_x;
++ srcBox.x2 = src_x + src_w - 1;
++ srcBox.y1 = src_y;
++ srcBox.y2 = src_y + src_h - 1;
+
+ dstBox.x1 = drw_x;
-+ dstBox.x2 = drw_x + drw_w;
++ dstBox.x2 = drw_x + drw_w - 1;
+ dstBox.y1 = drw_y;
-+ dstBox.y2 = drw_y + drw_h;
++ dstBox.y2 = drw_y + drw_h - 1;
+
-+ W100ClipVideo(&dstBox, &x1, &x2, &y1, &y2,
-+ REGION_EXTENTS(pScreen, clipBoxes),
++ W100ClipVideo(&srcBox, &dstBox,
++ REGION_EXTENTS(pScreen, clipBoxes),
+ width, height);
+
-+ if ((x1 >= x2) || (y1 >= y2)) {
-+ return Success;
++ port->src.buffer = buffer;
++ port->ovl.changed = FALSE;
++
++ if (port->src.id != id) {
++ port->src.id = id;
++ changed = TRUE;
++ port->ovl.changed = TRUE;
++ }
++ if (port->src.box.x1 != srcBox.x1) {
++ port->src.box.x1 = srcBox.x1;
++ changed = TRUE;
++ }
++ if (port->src.box.x2 != srcBox.x2) {
++ port->src.box.x2 = srcBox.x2;
++ changed = TRUE;
++ }
++ if (port->src.box.y1 != srcBox.y1) {
++ port->src.box.y1 = srcBox.y1;
++ changed = TRUE;
++ }
++ if (port->src.box.y2 != srcBox.y2) {
++ port->src.box.y2 = srcBox.y2;
++ changed = TRUE;
++ }
++ if (port->src.width != width) {
++ port->src.width = width;
++ changed = TRUE;
++ }
++ if (port->src.height != height) {
++ port->src.height = height;
++ changed = TRUE;
+ }
+
-+ src_w = (x2 - x1) >> 16;
-+ src_h = (y2 - y1) >> 16;
-+ drw_w = dstBox.x2 - dstBox.x1;
-+ drw_h = dstBox.y2 - dstBox.y1;
-+ drw_x = dstBox.x1;
-+ drw_y = dstBox.y1;
-+ src_x = x1 >> 16;
-+ src_y = y1 >> 16;
-+
-+ /* Calculate dimensions for offscren and overlay surfaces */
-+ offWidth = src_w;
-+ offHeight = src_h;
++ if (port->dst.box.x1 != dstBox.x1) {
++ port->dst.box.x1 = dstBox.x1;
++ changed = TRUE;
++ }
++ if (port->dst.box.x2 != dstBox.x2) {
++ port->dst.box.x2 = dstBox.x2;
++ changed = TRUE;
++ }
++ if (port->dst.box.y1 != dstBox.y1) {
++ port->dst.box.y1 = dstBox.y1;
++ changed = TRUE;
++ }
++ if (port->dst.box.y2 != dstBox.y2) {
++ port->dst.box.y2 = dstBox.y2;
++ changed = TRUE;
++ }
+
-+ ovlX = W100MapToHWX(w100c, drw_x, drw_y, drw_w, drw_h);
-+ ovlY = W100MapToHWY(w100c, drw_x, drw_y, drw_w, drw_h);
++ if (changed) {
++ port->src.size = W100SurfaceSize(port,
++ srcBox.x2 - srcBox.x1 + 1,
++ srcBox.y2 - srcBox.y1 + 1);
++ }
++ port->changed = changed;
++ return changed;
++}
+
-+ for (i = 0; i < NUM_OVL_RESIZERS; i++) {
-+ CARD16 candidate_w = drw_w >> ovlResizers[i].xfactor;
-+ CARD16 candidate_h = drw_h >> ovlResizers[i].yfactor;
-+
-+ switch (randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ ovlWidth = W100_ALIGN(candidate_w, OVL_W_ALIGN);
-+ ovlHeight = W100_ALIGN(candidate_h, OVL_H_ALIGN);
-+ dstX = 0;
-+ dstY = 0;
-+ pPortPriv->videoHorExp = ovlResizers[i].xfactor;
-+ pPortPriv->videoVerExp = ovlResizers[i].yfactor;
-+ break;
-+ case RR_Rotate_180:
-+ ovlWidth = W100_ALIGN(candidate_w, OVL_W_ALIGN);
-+ ovlHeight = W100_ALIGN(candidate_h, OVL_H_ALIGN);
-+ dstX = ovlWidth - candidate_w;
-+ dstY = ovlHeight - candidate_h;
-+ pPortPriv->videoHorExp = ovlResizers[i].xfactor;
-+ pPortPriv->videoVerExp = ovlResizers[i].yfactor;
-+ break;
-+ case RR_Rotate_90:
-+ ovlWidth = W100_ALIGN(candidate_h, OVL_W_ALIGN);
-+ ovlHeight = W100_ALIGN(candidate_w, OVL_H_ALIGN);
-+ dstX = (ovlWidth - candidate_h) / 2;
-+ dstY = (ovlHeight - candidate_w) / 2;
-+ pPortPriv->videoHorExp = ovlResizers[i].yfactor;
-+ pPortPriv->videoVerExp = ovlResizers[i].xfactor;
-+ break;
-+ case RR_Rotate_270:
-+ ovlWidth = W100_ALIGN(candidate_h, OVL_W_ALIGN);
-+ ovlHeight = W100_ALIGN(candidate_w, OVL_H_ALIGN);
-+ dstX = 0;
-+ dstY = ovlHeight - candidate_w;
-+ pPortPriv->videoHorExp = ovlResizers[i].yfactor;
-+ pPortPriv->videoVerExp = ovlResizers[i].xfactor;
-+ break;
-+ }
+
-+ /* Calculate sizes for the surfaces */
-+ switch (id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ offSize = (3 * offWidth * offHeight) / 2;
-+ ovlSize = (3 * ovlWidth * ovlHeight) / 2;
-+ planes = 3;
-+ planeOffsets[0] = 0;
-+ planeOffsets[1] = ovlWidth * ovlHeight;
-+ planeOffsets[2] = (5 * (ovlWidth * ovlHeight)) / 4;
-+ bpp = 8;
-+ break;
-+ case FOURCC_UYVY:
-+ case FOURCC_YUY2:
-+ offSize = offWidth * offHeight * 2;
-+ ovlSize = ovlWidth * ovlHeight * 2;
-+ planes = 1;
-+ planeOffsets[0] = 0;
-+ bpp = 16;
-+ break;
-+ }
-+ if (ovlSize <= pPortPriv->maxOverlaySize) {
-+ DBG_IMAGEON(("Using %dx%d overlay surface (%d bytes). "
-+ "Resizer(xfactor:%d,yfactor:%d)\n",
-+ ovlWidth, ovlHeight, ovlSize,
-+ ovlResizers[i].xfactor, ovlResizers[i].yfactor));
-+ drw_w = candidate_w;
-+ drw_h = candidate_h;
-+ break;
-+ }
++
++static int W100SetOverlaySurfaces(KdScreenInfo *screen,
++ short x, short y, short w, short h)
++{
++ W100ScreenInfo *w100s = screen->driver;
++ W100CardInfo(screen);
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
++
++ if (port->ovl.changed ||
++ (port->ovl.frame.x1 != x) ||
++ (port->ovl.frame.y1 != y) ||
++ (port->ovl.frame.x2 != (x + w - 1)) ||
++ (port->ovl.frame.y2 != (y + h - 1))) {
++
++ port->ovl.changed = TRUE;
++ port->ovl.frame.x1 = x;
++ port->ovl.frame.x2 = x + w - 1;
++ port->ovl.frame.y1 = y;
++ port->ovl.frame.y2 = y + h - 1;
++
++ W100MapToDevice(w100c, &port->dst.box, &port->ovl.box);
++ W100ChangeOrigin(&port->ovl.box,
++ port->ovl.frame.x1, port->ovl.frame.y1);
++ port->ovl.box.x2 >>= port->ovl.horExp;
++ port->ovl.box.y2 >>= port->ovl.verExp;
++ DBG_IMAGEON(("Translated ovl.box(x1:%d,y1:%d,x2:%d,y2:%d)\n",
++ port->ovl.box.x1, port->ovl.box.y1,
++ port->ovl.box.x2, port->ovl.box.y2));
+ }
+
-+ /* Reallocate the surfaces, if existing ones are not valid.
-+ * If overlay surface is not valid, dump both ones, to give
-+ * ovlSurface more chances to get internal memory
-+ */
-+ if (pPortPriv->ovlSurface && ovlSize != pPortPriv->ovlSize) {
-+ DBG_IMAGEON(("Freeing overlay and offscreen surfaces\n"));
-+ KdOffscreenFree(screen->pScreen, pPortPriv->ovlSurface);
-+ KdOffscreenFree(screen->pScreen, pPortPriv->offSurface);
-+ pPortPriv->ovlSurface = NULL;
-+ pPortPriv->offSurface = NULL;
-+ }
-+
-+ if (pPortPriv->offSurface && offSize != pPortPriv->offSize) {
-+ DBG_IMAGEON(("Freeing offscreen surface\n"));
-+ KdOffscreenFree(screen->pScreen, pPortPriv->offSurface);
-+ pPortPriv->offSurface = NULL;
-+ }
-+
-+ if (!pPortPriv->ovlSurface) {
-+ pPortPriv->ovlSurface = KdOffscreenAllocPrio(screen->pScreen,
-+ ovlSize, 0, TRUE,
-+ W100VideoSave,
-+ pPortPriv,
-+ KD_VIDMEM_MAXPRIO,
-+ KD_VIDMEM_MAXPRIO,
-+ TRUE);
-+ if (!pPortPriv->ovlSurface) {
-+ ErrorF("Using non internal memory to overlay. "
-+ "Expected bad performance\n");
-+ pPortPriv->ovlSurface = KdOffscreenAlloc(screen->pScreen,
-+ ovlSize, 0, TRUE,
-+ W100VideoSave,
-+ pPortPriv);
++ switch (port->src.id) {
++ case FOURCC_YV12:
++ case FOURCC_I420:
++ port->planes.size = 3;
++ port->planes.offset[0] = 0;
++ port->planes.offset[1] = w * h;
++ port->planes.offset[2] = (5 * (w * h)) / 4;
++ port->planes.bpp = 8;
++ break;
++ case FOURCC_UYVY:
++ case FOURCC_YUY2:
++ port->planes.size = 1;
++ port->planes.offset[0] = 0;
++ port->planes.bpp = 16;
++ break;
++ }
++
++ if (port->ovl.surface && port->ovl.size != port->ovl.surface->size) {
++ KdOffscreenFree(screen->pScreen, port->ovl.surface);
++ KdOffscreenFree(screen->pScreen, port->src.surface);
++ port->ovl.surface = NULL;
++ port->src.surface = NULL;
++ }
++ if (port->src.surface && port->src.size != port->src.surface->size) {
++ KdOffscreenFree(screen->pScreen, port->src.surface);
++ port->src.surface = NULL;
++ }
++
++ if (!port->ovl.surface) {
++ port->ovl.surface = KdOffscreenAllocPrio(screen->pScreen,
++ port->ovl.size, 0, TRUE,
++ W100VideoSave,
++ port,
++ KD_VIDMEM_MAXPRIO,
++ KD_VIDMEM_MAXPRIO,
++ TRUE);
++ if (!port->ovl.surface) {
++ ErrorF("Using external memory for overlay surface. "
++ "Expect bad performance\n");
++ port->ovl.surface = KdOffscreenAlloc(screen->pScreen,
++ port->ovl.size, 0, TRUE,
++ W100VideoSave,
++ port);
+ }
-+ if (!pPortPriv->ovlSurface) {
++ if (!port->ovl.surface) {
+ ErrorF("Unable to allocate %d bytes for overlay surface\n",
-+ ovlSize);
++ port->ovl.size);
+ return BadAlloc;
+ }
-+
-+ pPortPriv->ovlSize = ovlSize;
-+ W100ClearSurface(screen, pPortPriv->ovlSurface,
-+ 0, 0, (ovlWidth * bpp / 8),
-+ ovlWidth, ovlHeight, id);
-+ }
-+
-+ if (!pPortPriv->offSurface) {
-+ pPortPriv->offSurface = KdOffscreenAlloc(screen->pScreen,
-+ offSize, 0, TRUE,
-+ W100VideoSave,
-+ pPortPriv);
-+ if (!pPortPriv->offSurface) {
++
++ W100ClearSurface(screen, port->ovl.surface,
++ 0, 0,
++ (w * port->planes.bpp / 8),
++ w, h, port->src.id);
++ }
++ if (!port->src.surface) {
++ port->src.surface = KdOffscreenAlloc(screen->pScreen,
++ port->src.size, 0, TRUE,
++ W100VideoSave,
++ port);
++ if (!port->src.surface) {
+ ErrorF("Unable to allocate %d bytes for offscreen surface\n",
-+ offSize);
++ port->src.size);
+ return BadAlloc;
+ }
-+ pPortPriv->offSize = offSize;
+ }
+
-+ /* Copy the data into the offscreen surface */
-+ W100WaitIdle(w100c);
++ CARD32 baseAddr = (CARD32) W100_HOST2CARD(port->ovl.surface->vidmem->base +
++ port->ovl.surface->offset);
+
-+ switch (id) {
++
++ switch (port->src.id) {
+ case FOURCC_YV12:
+ case FOURCC_I420:
-+ W100HostPlanarData(screen, //screen
-+ id, //id
-+ buf, //src
-+ pPortPriv->offSurface, //dst
-+ width, //srcPitch
-+ height, //srcHeight
-+ offWidth, //dstPitch
-+ offHeight, //dstHeight
-+ src_x, //srcX
-+ src_y, //srcY
-+ 0, //dstX
-+ 0, //dstY
-+ src_w, //w
-+ src_h); //h
++ port->planes.yplane = baseAddr + port->planes.offset[0];
++ port->planes.uplane = baseAddr + port->planes.offset[1];
++ port->planes.vplane = baseAddr + port->planes.offset[2];
+ break;
+ case FOURCC_UYVY:
+ case FOURCC_YUY2:
-+ W100HostPackedData(screen, //screen
-+ id, //id
-+ buf, //src
-+ pPortPriv->offSurface, //dst
-+ width << 1, //srcPitch
-+ offWidth << 1, //dstPitch
-+ src_x, //srcX
-+ src_y, //srcY
-+ 0, //dstX
-+ 0, //dstY
-+ src_w, //w
-+ src_h); //h
++ port->planes.yplane = baseAddr + port->planes.offset[0];
++ port->planes.uplane = 0;
++ port->planes.vplane = 0;
+ break;
+ }
+
-+ /* Update cliplist */
-+ if(!REGION_EQUAL(screen->pScreen, &pPortPriv->clip, clipBoxes)) {
-+ REGION_COPY(screen->pScreen, &pPortPriv->clip, clipBoxes);
-+ KXVPaintRegion(pDraw, &pPortPriv->clip, pPortPriv->colorKey);
++ return Success;
++}
++
++static int W100OvlSetup(KdScreenInfo *screen)
++{
++ W100ScreenInfo *w100s = screen->driver;
++ W100CardInfo(screen);
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
++ BoxRec ovlBox;
++ short x, y, w, h;
++ int i;
++
++ W100MapToDevice(w100c, &port->dst.box, &ovlBox);
++
++ x = ovlBox.x1 & ~7;
++ y = ovlBox.y1;
++
++ for (i = 0; i < NUM_OVL_RESIZERS; i++) {
++ w = (ovlBox.x2 - x + 1) >> ovlResizers[i].xfactor;
++ h = (ovlBox.y2 - y + 1) >> ovlResizers[i].yfactor;
++ w = W100_ALIGN(w, OVL_W_ALIGN);
++ h = W100_ALIGN(h, OVL_H_ALIGN);
++ port->ovl.size = W100SurfaceSize(port, w, h);
++ DBG_IMAGEON(("Trying overlay surface (x:%d,y:%d,w:%d,h:%d). Size %d."
++ " xfactor:%d, yfactor:%d\n",
++ x, y, w, h, port->ovl.size,
++ ovlResizers[i].xfactor,
++ ovlResizers[i].yfactor));
++ if (port->ovl.size <= port->ovl.maxSize) {
++ ErrorF("Using (x=%d,y=%d,w=%d,h=%d) overlay surface (%d bytes). "
++ "Resizer(xfactor:%d,yfactor:%d)\n",
++ x, y, w, h, port->ovl.size,
++ ovlResizers[i].xfactor, ovlResizers[i].yfactor);
++ port->ovl.horExp = ovlResizers[i].xfactor;
++ port->ovl.verExp = ovlResizers[i].yfactor;
++ return W100SetOverlaySurfaces(screen, x, y, w, h);
++ }
+ }
++ return BadAlloc;
++}
++
++static void W100OvlHostData(KdScreenInfo *screen)
++{
++ W100ScreenInfo *w100s = screen->driver;
++ W100CardInfo(screen);
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
+
-+ /* Calculate the incard offsets for the different planes */
-+ baseAddr = (CARD32) W100_HOST2CARD(pPortPriv->ovlSurface->vidmem->base +
-+ pPortPriv->ovlSurface->offset);
-+ switch (id) {
++ W100WaitIdle(w100c);
++ switch (port->src.id) {
+ case FOURCC_YV12:
+ case FOURCC_I420:
-+ pPortPriv->YPlaneOffset = baseAddr + planeOffsets[0];
-+ pPortPriv->UPlaneOffset = baseAddr + planeOffsets[1];
-+ pPortPriv->VPlaneOffset = baseAddr + planeOffsets[2];
++ W100HostPlanarData(screen);
+ break;
+ case FOURCC_UYVY:
+ case FOURCC_YUY2:
-+ pPortPriv->YPlaneOffset = baseAddr + planeOffsets[0];
-+ pPortPriv->UPlaneOffset = 0;
-+ pPortPriv->VPlaneOffset = 0;
++ W100HostPackedData(screen);
++ break;
+ }
++}
+
-+ DBG_IMAGEON(("Offsets(Y:0x%08x,U:0x%08x,V:0x%08x)\n",
-+ pPortPriv->YPlaneOffset,
-+ pPortPriv->UPlaneOffset,
-+ pPortPriv->VPlaneOffset));
-+
-+
-+ /* Blit from offSurface to ovlSurface taking into account
-+ * the randr needed transformation
-+ */
-+ W100DisableDisplayUpdate(w100c);
-+ W100PlanarBlt(screen, planes, bpp, randr,
-+ pPortPriv->offSurface,
-+ src_w, offWidth * bpp / 8, src_h,
-+ pPortPriv->ovlSurface, planeOffsets,
-+ drw_w, ovlWidth * bpp / 8, drw_h,
-+ dstX, dstY);
-+ W100EnableDisplayUpdate(w100c);
++static void W100OvlBlt(KdScreenInfo *screen)
++{
++ W100ScreenInfo *w100s = screen->driver;
++ W100CardInfo(screen);
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
++ static int frame = 0;
++ int srcW = port->src.box.x2 - port->src.box.x1 + 1;
++ int srcH = port->src.box.y2 - port->src.box.y1 + 1;
++ int dstW = port->ovl.frame.x2 - port->ovl.frame.x1 + 1;
++ int dstH = port->ovl.frame.y2 - port->ovl.frame.y1 + 1;
++
++ DBG_IMAGEON(("ovl.box(x1:%d,y1:%d,x2:%d,y2:%d),"
++ "src.box(x1:%d,y1:%d,x2:%d,y2:%d),"
++ "dstW:%d, dstH:%d\n",
++ port->ovl.box.x1, port->ovl.box.y1,
++ port->ovl.box.x2, port->ovl.box.y2,
++ port->src.box.x1, port->src.box.y1,
++ port->src.box.x2, port->src.box.y2,
++ dstW, dstH));
++
++ W100PlanarBlt(screen, //KdScreenInfo* screen
++ port->planes.size, //int planes
++ port->planes.offset, //int planeOffsets[]
++ port->planes.bpp, //int bpp
++ w100c->hw_window.randr, //int randr
++ port->src.surface, //KdOffscrenArea *src
++ srcW, //int srcW
++ srcH, //int srcH
++ &port->src.box, //BoxPtr srcBox
++ port->ovl.surface, //KdOffscreenArea *dst
++ dstW, //int dstW
++ dstH, //int dstH
++ &port->ovl.box); //BoxPtr dstBox
++
++#if 0
++ if (++frame == 10) {
++ W100SaveSurface(port->src.surface->vidmem->base +
++ port->src.surface->offset,
++ port->src.surface->size,
++ "/media/card/kdrive/source.yuv");
++ W100SaveSurface(port->ovl.surface->vidmem->base +
++ port->ovl.surface->offset,
++ port->ovl.surface->size,
++ "/media/card/kdrive/ovl.yuv");
++ exit(1);
++ }
++#endif
++}
+
++static void W100OvlUpdate(KdScreenInfo *screen)
++{
++ W100ScreenInfo *w100s = screen->driver;
++ W100PortPrivPtr port = w100s->pAdaptor->pPortPrivates[0].ptr;
+
-+ if ((pPortPriv->ovlWidth != ovlWidth) ||
-+ (pPortPriv->ovlHeight != ovlHeight) ||
-+ (pPortPriv->ovlX != ovlX) ||
-+ (pPortPriv->ovlY != ovlY) ||
-+ (pPortPriv->id != id)) {
-+ pPortPriv->videoStatus &= ~W100_OVERLAY_CONFIGURED;
++ if (port->videoStatus & W100_OVERLAY_ON) {
+ W100OverlayDisable(screen);
+ }
-+ /* Enable overlay */
-+ pPortPriv->ovlWidth = ovlWidth;
-+ pPortPriv->ovlHeight = ovlHeight;
-+ pPortPriv->ovlX = ovlX;
-+ pPortPriv->ovlY = ovlY;
-+ pPortPriv->id = id;
++ port->videoStatus &= ~W100_OVERLAY_CONFIGURED;
++
+ W100OverlayEnable(screen);
++}
++
++static int W100PutImage(KdScreenInfo *screen,
++ DrawablePtr pDraw, /* Destination drawable */
++ short src_x, short src_y, /* Source coordinates */
++ short drw_x, short drw_y, /* Destination coordinates */
++ short src_w, short src_h, /* Source rectangle to put */
++ short drw_w, short drw_h, /* Destination size */
++ int id, /* FOURCC id */
++ unsigned char *buffer, /* Source data */
++ short width, /* Source width */
++ short height, /* Source height */
++ Bool sync, /* Sync before returning */
++ RegionPtr clipBoxes,
++ pointer data)
++{
++ ScreenPtr pScreen = screen->pScreen;
++ KdScreenPriv(pScreen);
++ W100CardInfo(pScreenPriv);
++ W100ScreenInfo(pScreenPriv);
++ W100PortPrivPtr port = (W100PortPrivPtr) data;
++ int errCode;
++
++ DBG_IMAGEON(("W100PutImage(src(x:%d,y:%d,w:%d,h:%d),"
++ "drw(x:%d,y:%d,w:%d,h:%d),"
++ "width:%d,height:%d), buffer:%p)\n",
++ src_x,src_y,src_w,src_h,
++ drw_x,drw_y,drw_w,drw_h,
++ width, height,
++ buffer));
++
++ if (W100SetOverlaySource(port, buffer, id,
++ src_x, src_y, src_w, src_h,
++ width, height,
++ drw_x, drw_y, drw_w, drw_h,
++ clipBoxes)) {
++ if ((errCode = W100OvlSetup(screen)) != Success) {
++ return errCode;
++ }
++ }
++ W100OvlHostData(screen);
++ /* Update cliplist */
++ if(!REGION_EQUAL(screen->pScreen, &port->clip, clipBoxes)) {
++ REGION_COPY(screen->pScreen, &port->clip, clipBoxes);
++ KXVPaintRegion(pDraw, &port->clip, port->ovl.colorKey);
++ }
+
++ W100OvlBlt(screen);
++
++ if (port->ovl.changed) {
++ W100OvlUpdate(screen);
++ }
+ return Success;
+}
-+
++
+static KdVideoAdaptorPtr
+W100SetupImageVideo(ScreenPtr pScreen)
+{
@@ -8607,7 +8791,7 @@
+ W100ScreenInfo(pScreenPriv);
+ W100CardInfo(pScreenPriv);
+ KdVideoAdaptorPtr adaptor;
-+ W100PortPrivPtr pPortPriv;
++ W100PortPrivPtr port;
+
+ adaptor = xcalloc(1, sizeof(KdVideoAdaptorRec)
+ + sizeof(W100PortPrivRec)
@@ -8626,9 +8810,9 @@
+ adaptor->nPorts = 1;
+ adaptor->pPortPrivates = (DevUnion*)(&adaptor[1]);
+
-+ pPortPriv = (W100PortPrivPtr)(&adaptor->pPortPrivates[1]);
++ port = (W100PortPrivPtr)(&adaptor->pPortPrivates[1]);
+
-+ adaptor->pPortPrivates[0].ptr = (pointer)(pPortPriv);
++ adaptor->pPortPrivates[0].ptr = (pointer)(port);
+
+ adaptor->nAttributes = NUM_ATTRIBUTES;
+ adaptor->pAttributes = Attributes;
@@ -8646,7 +8830,7 @@
+ adaptor->ReputImage = NULL;
+ adaptor->QueryImageAttributes = W100QueryImageAttributes;
+
-+ REGION_INIT(pScreen, &pPortPriv->clip, NullBox, 0);
++ REGION_INIT(pScreen, &port->clip, NullBox, 0);
+
+ w100s->pAdaptor = adaptor;
+
@@ -8654,9 +8838,9 @@
+ xvColorKey = MAKE_ATOM("XV_COLORKEY");
+ xvMaxOverlaySize = MAKE_ATOM("XV_MAXOVERLAYSIZE");
+
-+ pPortPriv->maxOverlaySize = OVL_MAX_SIZE;
-+ pPortPriv->colorKey = 0xff00;
-+ pPortPriv->brightness = W100GetBrightness(w100c);
++ port->ovl.maxSize = OVL_MAX_SIZE;
++ port->ovl.colorKey = 0xff00;
++ port->ovl.brightness = W100GetBrightness(w100c);
+ return adaptor;
+}
+
@@ -8711,14 +8895,14 @@
+ KdScreenPriv(pScreen);
+ W100ScreenInfo(pScreenPriv);
+ KdVideoAdaptorPtr adaptor = w100s->pAdaptor;
-+ W100PortPrivPtr pPortPriv;
++ W100PortPrivPtr port;
+ int i;
+
+ if (!adaptor)
+ return;
+
-+ pPortPriv = (W100PortPrivPtr)(&adaptor->pPortPrivates[0].ptr);
-+ REGION_UNINIT(pScreen, &pPortPriv->clip);
++ port = (W100PortPrivPtr)(&adaptor->pPortPrivates[0].ptr);
++ REGION_UNINIT(pScreen, &port->clip);
+
+ xfree(adaptor);
+ w100s->pAdaptor = NULL;
@@ -8726,7 +8910,7 @@
+
--- /dev/null
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon_support.h
-@@ -0,0 +1,98 @@
+@@ -0,0 +1,108 @@
+/*
+ * Copyright © 2007 Manuel Teira
+ *
@@ -8757,6 +8941,7 @@
+extern CARD8 W100SolidRop[16];
+extern CARD8 W100BltRop[16];
+
++/* Card control */
+void W100DisableDisplayUpdate(W100CardInfo *w100c);
+void W100EnableDisplayUpdate(W100CardInfo *w100c);
+void W100SetupGraphicEngine(W100CardInfo *w100c);
@@ -8764,8 +8949,13 @@
+void W100SetupGraphicWindow(W100CardInfo *w100c);
+void W100EnableGraphicWindow(W100CardInfo *w100c);
+void W100DisableGraphicWindow(W100CardInfo *w100c);
-+inline Bool W100WaitCmdFifoEntries(W100CardInfo *w100c, int entries);
++void W100VSync(W100CardInfo *w100c);
++
++/* Wait for card slots */
++__inline__ Bool W100WaitCmdFifoEntries(W100CardInfo *w100c, int entries);
+Bool W100WaitIdle(W100CardInfo *w100c);
++
++/* Set context of the current operation */
+void W100ResetContext(W100CardInfo *w100c);
+CARD32 W100ComputeSolidGmc(W100CardInfo *w100c, CARD8 alu);
+CARD32 W100ComputeCopyGmc(W100CardInfo *w100c, CARD8 alu);
@@ -8779,51 +8969,55 @@
+ CARD32 dstOffset, CARD8 bpp);
+Bool W100SetSourcePixmap(PixmapPtr pPix);
+Bool W100SetDestinationPixmap(PixmapPtr pPix);
-+int W100MapToHWX(W100CardInfo *w100c,
-+ int x, int y, int w, int h);
-+int W100MapToHWY(W100CardInfo *w100c,
-+ int x, int y, int w, int h);
-+int W100MapToHWW(W100CardInfo *w100c,
-+ int x, int y, int w, int h);
-+int W100MapToHWH(W100CardInfo *w100c,
-+ int x, int y, int w, int h);
-+CARD16 W100XformX(W100CardInfo *w100c, CARD16 x, CARD16 y, CARD16 w, CARD16 h);
-+CARD16 W100XformY(W100CardInfo *w100c, CARD16 x, CARD16 y, CARD16 w, CARD16 h);
-+CARD16 W100XformW(W100CardInfo *w100c, CARD16 x, CARD16 y, CARD16 w, CARD16 h);
-+CARD16 W100XformH(W100CardInfo *w100c, CARD16 x, CARD16 y, CARD16 w, CARD16 h);
++
++/* Scaler related functions */
+CARD8 W100GetScaler(CARD16 dstsize, CARD16 srcsize);
+CARD16 W100ApplyScaler(CARD16 srcsize, CARD8 scaler);
-+static void W100Blt(KdScreenInfo *screen, int randr, int bpp,
-+ CARD32 srcOffset, CARD16 srcW, CARD16 srcH, CARD16 srcPitch,
-+ CARD32 dstOffset, CARD16 dstPitch,
-+ CARD16 dstX, CARD16 dstY);
-+static void W100StretchBlt(KdScreenInfo *screen, int randr, int bpp,
-+ CARD32 srcOffset, CARD16 srcW, CARD16 srcH,
-+ CARD16 srcPitch,
-+ CARD32 dstOffset, CARD16 dstPitch,
-+ CARD16 dstX, CARD16 dstY,
-+ CARD8 xscaler, CARD8 yscaler);
++
++/* Blitting functions */
++void W100PlanarBlt(KdScreenInfo *screen, int planes, int planeOffsets[],
++ int bpp, int randr,
++ KdOffscreenArea *src, int srcW, int srcH, BoxPtr srcBox,
++ KdOffscreenArea *dst, int dstW, int dstH, BoxPtr dstBox);
+static void W100ScaledBlt(KdScreenInfo *screen, int randr, int bpp,
-+ CARD32 srcOffset, CARD16 srcW, CARD16 srcH,
-+ CARD16 srcPitch,
-+ CARD32 dstOffset, CARD16 dstPitch,
-+ CARD16 dstX, CARD16 dstY,
++ CARD32 srcOffset, CARD16 srcPitch, BoxPtr srcBox,
++ CARD32 dstOffset, CARD16 dstPitch, BoxPtr dstBox,
++ CARD8 xscaler, CARD8 yscaler);
++static void W100StretchBlt(KdScreenInfo *screen, int randr, int bpp,
++ CARD32 srcOffset, CARD16 srcPitch, BoxPtr srcBox,
++ CARD32 dstOffset, CARD16 dstPitch, BoxPtr dstBox,
+ CARD8 xscaler, CARD8 yscaler);
-+void W100PlanarBlt(KdScreenInfo *screen, int planes, int bpp, int randr,
-+ KdOffscreenArea *src, int srcW, int srcPitch, int srcH,
-+ KdOffscreenArea *dst, int planeOffsets[],
-+ int dstW, int dstPitch, int dstH,
-+ int dstX, int dstY);
++static void W100Blt(KdScreenInfo *screen, int randr, int bpp,
++ CARD32 srcOffset, CARD16 srcPitch, BoxPtr srcBox,
++ CARD32 dstOffset, CARD16 dstPitch, BoxPtr dstBox);
++
++/* Brightness functions */
+CARD8 W100GetBrightness(W100CardInfo *w100c);
+void W100SetBrightness(W100CardInfo *w100c, CARD8 value);
++
++
++/* Get and set mode and rotation info */
+int W100GetRotation(W100CardInfo *w100c);
+W100ModeSpec *W100GetModeSpec(W100CardInfo *w100c, W100Mode *mode);
+Bool W100GetFbMode(W100CardInfo *w100c, W100Mode *mode);
+Bool W100CheckFbMode(W100CardInfo *w100c, W100ModeSpec *modes);
+W100ModeSpec *W100GetBestMode(W100CardInfo *w100c, int width, int height);
-+void W100TransformTsLibCoordinates(long *x, long *y, void *closure);
++
++/* SysFS helpers */
+Bool W100SysFsGet(W100CardInfo *w100c, const char *path, char *value);
+Bool W100SysFsSet(W100CardInfo *w100c, const char *path, const char *value);
++
++/* Coordinate transformations */
++void W100TransformTsLibCoordinates(long *x, long *y, void *closure);
++void W100MapToDevice(W100CardInfo *w100c, BoxPtr src, BoxPtr dst);
++void W100MapFromDevice(W100CardInfo *w100c, BoxPtr src, BoxPtr dst);
++void W100ChangeOrigin(BoxPtr src, int x, int y);
++void W100TrajectoryOrigin(W100CardInfo *w100c, BoxPtr box, short *x, short *y);
++void W100ScaleBox(BoxPtr src, BoxPtr dst, int scale);
++void W100MoveTo(BoxPtr src, int x, int y);
++
++
++
+#endif
--- xorg-server-X11R7.1-1.1.0.work/hw/kdrive/linux/tslib.c~kdrive-imageon
+++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/linux/tslib.c
diff --git a/packages/xtscal/xtscal.inc b/packages/xtscal/xtscal.inc
index 220c262a9f..8dc5d1a0c6 100644
--- a/packages/xtscal/xtscal.inc
+++ b/packages/xtscal/xtscal.inc
@@ -3,6 +3,9 @@ SECTION = "x11/base"
LICENSE = "GPL"
DEPENDS = "virtual/libx11 libxft libxrandr xcalibrate"
+# xtscal needs a font to display text
+RRECOMMENDS = "ttf-dejavu-sans"
+
SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2"
inherit autotools
diff --git a/packages/xtscal/xtscal_0.6.3.bb b/packages/xtscal/xtscal_0.6.3.bb
index c19fcaf93d..b75f1b7781 100644
--- a/packages/xtscal/xtscal_0.6.3.bb
+++ b/packages/xtscal/xtscal_0.6.3.bb
@@ -1,5 +1,5 @@
require xtscal.inc
-PR = "r5"
+PR = "r6"
SRC_URI += "file://xtscal-cxk.patch;patch=1"
diff --git a/removal.txt b/removal.txt
index 60101a68e4..7c9dc251aa 100644
--- a/removal.txt
+++ b/removal.txt
@@ -25,10 +25,3 @@ Maintainer: None
Reason: Obsoleted by task-base
Proposed by: Koen Kooi
Note: Moved to packages/obsolete/tasks on 2006-12-22
-
-Package Name: gtkmm-2.4.8
-Removal Date: 2007-06-10
-Maintainer: Joaquim Duran (joaquinduran@adtelecom.es)
-Reason: fails compilation for at least half a year
- newer version available
-Note: Will contact Joaquim before dropping.