summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/insane.bbclass4
-rw-r--r--conf/distro/angstrom-2007.1.conf8
-rw-r--r--conf/distro/generic.conf2
-rw-r--r--conf/distro/include/slugos.inc6
-rw-r--r--conf/machine/htcuniversal.conf3
-rw-r--r--conf/machine/netvista.conf4
-rw-r--r--packages/btscanner/btscanner_2.0.bb2
-rw-r--r--packages/cups/cups_1.2.10.bb76
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.2.bb42
-rw-r--r--packages/gcc/gcc-cross_4.1.1.bb2
-rw-r--r--packages/gcc/gcc-cross_4.1.2.bb2
-rw-r--r--packages/gcc/gcc-package-sdk.inc2
-rw-r--r--packages/gcc/gcc_4.1.1.bb3
-rw-r--r--packages/gcc/gcc_4.1.2.bb3
-rw-r--r--packages/glib-2.0/glib-2.0-2.12.11/.mtn2git_empty0
-rw-r--r--packages/glib-2.0/glib-2.0-2.12.11/configure-libtool.patch20
-rw-r--r--packages/glib-2.0/glib-2.0_2.12.11.bb6
-rwxr-xr-xpackages/gpephone/gpe-session-scripts-phone/phonesession8
-rw-r--r--packages/gpephone/gpe-session-scripts-phone_0.67.bb2
-rw-r--r--packages/gpephone/ptim-engine/.mtn2git_empty0
-rw-r--r--packages/gpephone/ptim-engine/gtkmodule-location.patch11
-rw-r--r--packages/gpephone/ptim-engine_svn.bb23
-rw-r--r--packages/gpephone/ptim-headers_svn.bb18
-rw-r--r--packages/gpephone/ptim-helper/.mtn2git_empty0
-rw-r--r--packages/gpephone/ptim-helper/gtkmodule-location.patch22
-rw-r--r--packages/gpephone/ptim-helper_svn.bb23
-rw-r--r--packages/gpephone/ptim-manager/.mtn2git_empty0
-rw-r--r--packages/gpephone/ptim-manager/gtkmodule-location.patch21
-rw-r--r--packages/gpephone/ptim-manager_svn.bb23
-rw-r--r--packages/gsm/files/htcuniversal/.mtn2git_empty0
-rw-r--r--packages/gsm/files/htcuniversal/default10
-rw-r--r--packages/gsm/files/interpreter-ready.patch47
-rw-r--r--packages/gsm/files/magician/default5
-rw-r--r--packages/gsm/files/magician/ldisc.patch66
-rw-r--r--packages/gsm/files/magician/vendor-tihtc.patch325
-rw-r--r--packages/gsm/files/numeric.patch56
-rw-r--r--packages/gsm/files/plugin.patch935
-rw-r--r--packages/gsm/libgsmd_svn.bb14
-rw-r--r--packages/gtk+/gtk+_2.6.10.bb2
-rw-r--r--packages/hal/files/99_hal1
-rw-r--r--packages/hal/hal_0.5.9.bb2
-rw-r--r--packages/hwdata/.mtn2git_empty0
-rw-r--r--packages/hwdata/hwdata_0.191.bb14
-rw-r--r--packages/images/opie-image.bb5
-rwxr-xr-xpackages/irda-utils/files/init55
-rw-r--r--packages/irda-utils/irda-utils_0.9.16.bb4
-rw-r--r--packages/libwpd/libwpd_0.8.4.bb2
-rw-r--r--packages/libwpd/libwpd_0.8.6.bb2
-rw-r--r--packages/linux/linux-jlime-jornada6xx-2.6.21rc5/hp6xx-IRQ3.patch4
-rw-r--r--packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb5
-rw-r--r--packages/linux/linux-x86-2.6.20/netvista/defconfig63
-rw-r--r--packages/linux/linux-x86_2.6.20.bb10
-rw-r--r--packages/meta/meta-sdk-sbox.bb18
-rw-r--r--packages/meta/meta-sdk.bb17
-rw-r--r--packages/meta/slugos-packages.bb6
-rw-r--r--packages/tasks/task-base.bb4
-rw-r--r--packages/tasks/task-gpephone.bb6
-rw-r--r--packages/tasks/task-sdk-sbox.bb12
-rw-r--r--packages/tasks/task-sdk.bb43
-rw-r--r--packages/tzcode/tzcode-native_2007e.bb (renamed from packages/tzcode/tzcode-native_2007d.bb)0
-rw-r--r--packages/tzdata/tzdata_2007e.bb (renamed from packages/tzdata/tzdata_2007d.bb)0
-rw-r--r--packages/xserver-common/xserver-common_1.16.bb18
62 files changed, 1509 insertions, 578 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index e5a1cd03d4..21348a8bb6 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -255,6 +255,10 @@ def package_qa_check_arch(path,name,d):
import bb, os
target_os = bb.data.getVar('TARGET_OS', d, True)
target_arch = bb.data.getVar('TARGET_ARCH', d, True)
+
+ # FIXME: Cross package confuse this check, so just skip them
+ if bb.data.inherits_class('cross', d):
+ return True
# avoid following links to /usr/bin (e.g. on udev builds)
# we will check the files pointed to anyway...
diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf
index e7f4fdc654..86e87f31d6 100644
--- a/conf/distro/angstrom-2007.1.conf
+++ b/conf/distro/angstrom-2007.1.conf
@@ -8,7 +8,7 @@
#DISTRO_VERSION = "2007.4"
DISTRO_VERSION = "test-${DATE}"
-DISTRO_REVISION = "39"
+DISTRO_REVISION = "41"
require conf/distro/include/angstrom.inc
require conf/distro/include/sane-srcdates.inc
@@ -133,7 +133,7 @@ PREFERRED_VERSION_fontconfig = "2.4.1"
PREFERRED_VERSION_freetype = "2.3.1"
PREFERRED_VERSION_freetype-native = "2.2.1"
PREFERRED_VERSION_cairo = "1.4.2"
-PREFERRED_VERSION_glib-2.0 = "2.12.10"
+PREFERRED_VERSION_glib-2.0 = "2.12.11"
#Small machines prefer kdrive, but we might ship full Xorg in other images
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
@@ -198,8 +198,8 @@ PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uc
#use EABI toolchain
PREFERRED_VERSION_gcc ?= "4.1.2"
-PREFERRED_VERSION_gcc-cross ?= "4.1.1"
-PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross ?= "4.1.2"
+PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.2"
PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
diff --git a/conf/distro/generic.conf b/conf/distro/generic.conf
index 17d7d657b1..a9d667372f 100644
--- a/conf/distro/generic.conf
+++ b/conf/distro/generic.conf
@@ -25,7 +25,7 @@ INHERIT += "debian multimachine"
# Packaging and output format
#
INHERIT += "package_ipk"
-IMAGE_FSTYPES = "tar.gz ext2.gz jffs2"
+IMAGE_FSTYPES ?= "tar.gz ext2.gz jffs2"
#
# Kernel
diff --git a/conf/distro/include/slugos.inc b/conf/distro/include/slugos.inc
index d64cb2c917..bc1a6fbfdd 100644
--- a/conf/distro/include/slugos.inc
+++ b/conf/distro/include/slugos.inc
@@ -133,8 +133,8 @@ INHERIT += "nslu2-mirrors"
PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r63"
-PREFERRED_VERSION_ipkg ?= "0.99.154"
-PREFERRED_VERSION_ipkg-native ?= "0.99.154"
+PREFERRED_VERSION_ipkg ?= "0.99.163"
+PREFERRED_VERSION_ipkg-native ?= "0.99.163"
#FIXME: HACK: REMOVE THIS
IGNORE_STRIP_ERRORS = ""
@@ -143,3 +143,5 @@ IGNORE_STRIP_ERRORS = ""
# needs, nail down a specific, known-working version of madwifi-ng.
# Remove this once the madwifi-ng stuff seems to stabilize once again.
PREFERRED_VERSION_madwifi-ng ?= "r2156-20070225"
+
+PREFERRED_VERSION_linux-libc-headers = "2.6.18" \ No newline at end of file
diff --git a/conf/machine/htcuniversal.conf b/conf/machine/htcuniversal.conf
index 485d90df7f..dbe3a5a010 100644
--- a/conf/machine/htcuniversal.conf
+++ b/conf/machine/htcuniversal.conf
@@ -15,7 +15,8 @@ require conf/machine/include/tune-xscale.conf
#require conf/machine/include/tune-iwmmxt.conf
GUI_MACHINE_CLASS = "bigscreen"
-MACHINE_FEATURES = "kernel26 apm alsa irda usbgadget usbhost keyboard touchscreen screen wifi bluetooth"
+MACHINE_FEATURES = "kernel26 apm alsa irda usbgadget usbhost keyboard touchscreen screen wifi bluetooth phone"
+MACHINE_TASK_PROVIDER = "task-base"
#
# Software/packages selection
diff --git a/conf/machine/netvista.conf b/conf/machine/netvista.conf
index 25bf6649bd..65a797c680 100644
--- a/conf/machine/netvista.conf
+++ b/conf/machine/netvista.conf
@@ -7,6 +7,8 @@ TARGET_ARCH = "i486"
# TARGET_VENDOR = "-oe"
PACKAGE_EXTRA_ARCHS = "netvista"
PREFERRED_PROVIDER_virtual/kernel = "linux-x86"
+XSERVER = "xserver-kdrive-vesa"
+
# todo: convert to task-base
# BOOTSTRAP_EXTRA_RDEPENDS = "kernel pciutils udev kernel-modules"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
@@ -14,7 +16,7 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
MACHINE_TASK_PROVIDER = "task-base"
MACHINE_FEATURES = "kernel26 pci usbhost ext2 screen keyboard irda apm alsa"
-ROOT_FLASH_SIZE = "32"
+ROOT_FLASH_SIZE = "64"
GUI_MACHINE_CLASS = "bigscreen"
udevdir = "/dev"
diff --git a/packages/btscanner/btscanner_2.0.bb b/packages/btscanner/btscanner_2.0.bb
index ac991ef078..1e75824c0e 100644
--- a/packages/btscanner/btscanner_2.0.bb
+++ b/packages/btscanner/btscanner_2.0.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Extract information from Bluetooth devices in range."
SECTION = "libs"
PRIORITY = "optional"
HOMEPAGE = "http://www.pentest.co.uk/cgi-bin/viewcat.cgi?cat=downloads&section=01_bluetooth"
-DEPENDS = "bluez-libs gdbm ncurses"
+DEPENDS = "bluez-libs gdbm ncurses libxml2"
PR = "r0"
LICENSE = "GPLv2"
diff --git a/packages/cups/cups_1.2.10.bb b/packages/cups/cups_1.2.10.bb
new file mode 100644
index 0000000000..8201dd9201
--- /dev/null
+++ b/packages/cups/cups_1.2.10.bb
@@ -0,0 +1,76 @@
+DESCRIPTION = "An Internet printing system for Unix."
+SECTION = "console/utils"
+LICENSE = "GPL LGPL"
+DEPENDS = "gnutls jpeg dbus dbus-glib libpng zlib install-native fakeroot-native"
+PR = "r0"
+
+SRC_URI = "ftp://ftp3.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2 \
+ "
+
+inherit autotools binconfig
+
+LDFLAGS += " -L${STAGING_LIBDIR} "
+
+EXTRA_OECONF = " \
+ --enable-gnutls \
+ --enable-dbus \
+ --enable-browsing \
+ --disable-openssl \
+ --disable-tiff \
+ --without-php \
+ --without-perl \
+ --without-python \
+ --without-java \
+ "
+
+
+do_configure() {
+ gnu-configize
+ libtoolize --force
+ oe_runconf
+}
+
+do_compile () {
+ sed -i s:STRIP:NOSTRIP: Makedefs
+ sed -i s:serial:: backend/Makefile
+
+ echo "all:" > man/Makefile
+ echo "install:" >> man/Makefile
+
+ oe_runmake "SSLLIBS=-lgnutls -L${STAGING_LIBDIR}" \
+ "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
+ "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
+ "LIBZ=-lz -L${STAGING_LIBDIR}" \
+ "-I."
+}
+
+fakeroot do_install () {
+ oe_runmake "DSTROOT=${D}" install
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/cups
+ install ${S}/cups/*.h ${STAGING_INCDIR}/cups/
+ install ${S}/filter/*.h ${STAGING_INCDIR}/cups/
+ oe_libinstall -C cups -so libcups ${STAGING_LIBDIR}
+ oe_libinstall -C filter -so libcupsimage ${STAGING_LIBDIR}
+}
+
+FILES_${PN}-dbg += "${libdir}/cups/backend/.debug \
+ ${libdir}/cups/cgi-bin/.debug \
+ ${libdir}/cups/filter/.debug \
+ ${libdir}/cups/monitor/.debug \
+ ${libdir}/cups/notifier/.debug \
+ ${libdir}/cups/daemon/.debug \
+ "
+#package the html for the webgui inside the main packages (~1MB uncompressed)
+
+FILES_${PN} += "${datadir}/doc/cups/images \
+ ${datadir}/doc/cups/*html \
+ ${datadir}/doc/cups/*.css \
+ ${datadir}/icons/ \
+ "
+
+
+
+
diff --git a/packages/gcc/gcc-cross-sdk_4.1.2.bb b/packages/gcc/gcc-cross-sdk_4.1.2.bb
new file mode 100644
index 0000000000..f3968f512d
--- /dev/null
+++ b/packages/gcc/gcc-cross-sdk_4.1.2.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "devel"
+LICENSE = "GPL"
+PR = "r0"
+
+inherit sdk
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PACKAGES = "${PN}"
+
+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://801-arm-bigendian-eabi.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-cross_4.1.1.bb b/packages/gcc/gcc-cross_4.1.1.bb
index 67dbc83940..04b34919ec 100644
--- a/packages/gcc/gcc-cross_4.1.1.bb
+++ b/packages/gcc/gcc-cross_4.1.1.bb
@@ -15,4 +15,6 @@ require gcc3-build-cross.inc
# cross packaging
require gcc-package-cross.inc
+SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
+
EXTRA_OECONF += "--with-mpfr=${STAGING_DIR}/${BUILD_SYS}"
diff --git a/packages/gcc/gcc-cross_4.1.2.bb b/packages/gcc/gcc-cross_4.1.2.bb
index bb1114cf3b..dab2f332a2 100644
--- a/packages/gcc/gcc-cross_4.1.2.bb
+++ b/packages/gcc/gcc-cross_4.1.2.bb
@@ -15,4 +15,6 @@ require gcc3-build-cross.inc
# cross packaging
require gcc-package-cross.inc
+SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
+
EXTRA_OECONF += "--disable-libunwind-exceptions --with-mpfr=${STAGING_DIR}/${BUILD_SYS}"
diff --git a/packages/gcc/gcc-package-sdk.inc b/packages/gcc/gcc-package-sdk.inc
index 9d44fb51ab..1e5f2aaa5d 100644
--- a/packages/gcc/gcc-package-sdk.inc
+++ b/packages/gcc/gcc-package-sdk.inc
@@ -41,7 +41,7 @@ do_install () {
# the packaging.
if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
${TARGET_PREFIX}strip ${D}${libdir}/libstdc++.so.*
- ${TARGET_PREFIX}strip ${D}${libdir}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}${libdir}/libg2c.so.* || true
${TARGET_PREFIX}strip ${D}${base_libdir}/libgcc_s.so.*
fi
}
diff --git a/packages/gcc/gcc_4.1.1.bb b/packages/gcc/gcc_4.1.1.bb
index b668769ceb..c88692ae0c 100644
--- a/packages/gcc/gcc_4.1.1.bb
+++ b/packages/gcc/gcc_4.1.1.bb
@@ -1,4 +1,4 @@
-PR = "r12"
+PR = "r13"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
@@ -35,7 +35,6 @@ SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 \
file://gcc-ignore-cache.patch;patch=1 \
"
-SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
SRC_URI_append_powerpc = " file://ppc-gcc-41-20060515.patch;patch=1 \
diff --git a/packages/gcc/gcc_4.1.2.bb b/packages/gcc/gcc_4.1.2.bb
index 91f6624aa1..2e6036d119 100644
--- a/packages/gcc/gcc_4.1.2.bb
+++ b/packages/gcc/gcc_4.1.2.bb
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r1"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
@@ -32,7 +32,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 \
file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
"
-SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
#Set the fortran bits
diff --git a/packages/glib-2.0/glib-2.0-2.12.11/.mtn2git_empty b/packages/glib-2.0/glib-2.0-2.12.11/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0-2.12.11/.mtn2git_empty
diff --git a/packages/glib-2.0/glib-2.0-2.12.11/configure-libtool.patch b/packages/glib-2.0/glib-2.0-2.12.11/configure-libtool.patch
new file mode 100644
index 0000000000..50ffc628db
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0-2.12.11/configure-libtool.patch
@@ -0,0 +1,20 @@
+--- /tmp/configure.in 2007-02-04 12:07:05.000000000 +0100
++++ glib-2.12.9/configure.in 2007-02-04 12:08:04.655251000 +0100
+@@ -1174,7 +1174,7 @@
+ G_MODULE_LDFLAGS=
+ else
+ export SED
+- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ fi
+ dnl G_MODULE_IMPL= don't reset, so cmd-line can override
+ G_MODULE_NEED_USCORE=0
+@@ -1239,7 +1239,7 @@
+ LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+ echo "void glib_plugin_test(void) { }" > plugin.c
+- ${SHELL} ./libtool --mode=compile ${CC} -shared \
++ ${SHELL} ./$host_alias-libtool --mode=compile ${CC} -shared \
+ -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
+ AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
+ glib_cv_rtldglobal_broken,[
diff --git a/packages/glib-2.0/glib-2.0_2.12.11.bb b/packages/glib-2.0/glib-2.0_2.12.11.bb
new file mode 100644
index 0000000000..4d8e59b355
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0_2.12.11.bb
@@ -0,0 +1,6 @@
+require glib.inc
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.12/glib-${PV}.tar.bz2 \
+ file://glibconfig-sysdefs.h \
+ file://configure-libtool.patch;patch=1"
+
diff --git a/packages/gpephone/gpe-session-scripts-phone/phonesession b/packages/gpephone/gpe-session-scripts-phone/phonesession
index 689b3c01ed..38c1f90db0 100755
--- a/packages/gpephone/gpe-session-scripts-phone/phonesession
+++ b/packages/gpephone/gpe-session-scripts-phone/phonesession
@@ -30,6 +30,14 @@ export TINYMAIL_CACHE_DIR=$APP_PATH/share/tinymail.cache
# For Calendar
export CAL_RES_PATH=$APP_PATH/share/res
+# For GTK input engine
+export PTIM_PATH=/usr/lib/gtk-2.0/2.4.0/immodules/ptim
+export PTIM_PIXMAPS_PATH=$PTIM_PATH/pixmaps
+export PTIM_CONFIG_FILE=$PTIM_PATH/imconfig
+export PTIM_HELPER_PATH=$PTIM_PATH/helper
+export PTIM_ENGINE_PATH=$PTIM_PATH/engine
+export GTK_IM_MODULE=ptim
+
# Start GPE Phone Edition apps through matchbox session
gpe-applauncher&
sleep 2
diff --git a/packages/gpephone/gpe-session-scripts-phone_0.67.bb b/packages/gpephone/gpe-session-scripts-phone_0.67.bb
index 5312d63249..5af3ff683a 100644
--- a/packages/gpephone/gpe-session-scripts-phone_0.67.bb
+++ b/packages/gpephone/gpe-session-scripts-phone_0.67.bb
@@ -13,7 +13,7 @@ SRC_URI = "${GPE_MIRROR}/gpe-session-scripts-${PV}.tar.gz \
file://phonesession \
file://disable-composite.xsettings"
-PR = "r3"
+PR = "r4"
S = "${WORKDIR}/gpe-session-scripts-${PV}"
diff --git a/packages/gpephone/ptim-engine/.mtn2git_empty b/packages/gpephone/ptim-engine/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gpephone/ptim-engine/.mtn2git_empty
diff --git a/packages/gpephone/ptim-engine/gtkmodule-location.patch b/packages/gpephone/ptim-engine/gtkmodule-location.patch
new file mode 100644
index 0000000000..6882f1239d
--- /dev/null
+++ b/packages/gpephone/ptim-engine/gtkmodule-location.patch
@@ -0,0 +1,11 @@
+--- src/Makefile.am~ 2007-04-05 16:49:43.000000000 +0200
++++ src/Makefile.am 2007-04-05 16:49:43.000000000 +0200
+@@ -3,7 +3,7 @@
+ GTK_PREFIX=`pkg-config gtk+-2.0 --variable=libdir`
+ GTK_BINARY_VERSION=`pkg-config gtk+-2.0 --variable=gtk_binary_version`
+
+-moduledir = $(GTK_PREFIX)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/engine
++moduledir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/engine
+
+ INCLUDES = -DPACKAGE_LOCALE_DIR=\"@datadir@/locale/@PACKAGE_NAME@\" -DSN_API_NOT_YET_FROZEN \
+ -I. $(IMENGINE_CFLAGS)
diff --git a/packages/gpephone/ptim-engine_svn.bb b/packages/gpephone/ptim-engine_svn.bb
new file mode 100644
index 0000000000..286a1edf8d
--- /dev/null
+++ b/packages/gpephone/ptim-engine_svn.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Phone input method engine"
+SECTION = "gpephone"
+PRIORITY = "optional"
+LICENSE = "LiPS"
+DEPENDS = "gtk+ ptim-headers"
+PV = "0.1+svn-${SRCDATE}"
+
+DEFAULT_PREFERENCE = "-1"
+
+inherit gpephone pkgconfig autotools
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source/ptim;module=imengine \
+ file://gtkmodule-location.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/imengine"
+
+FILES_${PN} += " ${libdir}/gtk-2.0/*/immodules/ptim/engine/*.so "
+FILES_${PN}-dbg += "${libdir}/gtk-2.0/*/immodules/ptim/engine/.debug/*.so"
+FILES_${PN}-dev += "${libdir}/gtk-2.0/*/immodules/ptim/engine/*.la"
+
+do_stage () {
+ autotools_stage_all
+} \ No newline at end of file
diff --git a/packages/gpephone/ptim-headers_svn.bb b/packages/gpephone/ptim-headers_svn.bb
new file mode 100644
index 0000000000..304c103505
--- /dev/null
+++ b/packages/gpephone/ptim-headers_svn.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Phone input method - shared headers"
+SECTION = "gpephone"
+PRIORITY = "optional"
+LICENSE = "LiPS"
+DEPENDS = "gtk+"
+PV = "0.1+svn-${SRCDATE}"
+
+inherit gpephone pkgconfig autotools
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source/ptim;module=imheaders"
+
+S = "${WORKDIR}/imheaders"
+
+DEFAULT_PREFERENCE = "-1"
+
+do_stage () {
+ autotools_stage_all
+} \ No newline at end of file
diff --git a/packages/gpephone/ptim-helper/.mtn2git_empty b/packages/gpephone/ptim-helper/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gpephone/ptim-helper/.mtn2git_empty
diff --git a/packages/gpephone/ptim-helper/gtkmodule-location.patch b/packages/gpephone/ptim-helper/gtkmodule-location.patch
new file mode 100644
index 0000000000..cd0e469608
--- /dev/null
+++ b/packages/gpephone/ptim-helper/gtkmodule-location.patch
@@ -0,0 +1,22 @@
+--- src/Makefile.am~ 2007-04-05 16:40:45.000000000 +0200
++++ src/Makefile.am 2007-04-05 16:40:45.000000000 +0200
+@@ -3,7 +3,7 @@
+ GTK_PREFIX=`pkg-config gtk+-2.0 --variable=libdir`
+ GTK_BINARY_VERSION=`pkg-config gtk+-2.0 --variable=gtk_binary_version`
+
+-moduledir = $(GTK_PREFIX)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/helper
++moduledir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/helper
+
+ INCLUDES = -DPACKAGE_LOCALE_DIR=\"@datadir@/locale/@PACKAGE_NAME@\" -DSN_API_NOT_YET_FROZEN \
+ -I. $(IMHELPER_CFLAGS)
+--- pixmaps/Makefile.am~ 2007-04-05 16:43:16.000000000 +0200
++++ pixmaps/Makefile.am 2007-04-05 16:43:16.000000000 +0200
+@@ -1,7 +1,7 @@
+ GTK_PREFIX=`pkg-config gtk+-2.0 --variable=libdir`
+ GTK_BINARY_VERSION=`pkg-config gtk+-2.0 --variable=gtk_binary_version`
+
+-pixmapsdir = $(GTK_PREFIX)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/pixmaps
++pixmapsdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/pixmaps
+ pixmaps_DATA = \
+ next.png \
+ prev.png \
diff --git a/packages/gpephone/ptim-helper_svn.bb b/packages/gpephone/ptim-helper_svn.bb
new file mode 100644
index 0000000000..0d0ac653b5
--- /dev/null
+++ b/packages/gpephone/ptim-helper_svn.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Phone input method helper module"
+SECTION = "gpephone"
+PRIORITY = "optional"
+LICENSE = "LiPS"
+DEPENDS = "gtk+ ptim-headers"
+PV = "0.1+svn-${SRCDATE}"
+
+DEFAULT_PREFERENCE = "-1"
+
+inherit gpephone pkgconfig autotools
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source/ptim;module=imhelper \
+ file://gtkmodule-location.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/imhelper"
+
+FILES_${PN} += " ${libdir}/gtk-2.0/*/immodules/ptim/helper/*.so ${libdir}/gtk-2.0/*/immodules/ptim/pixmaps"
+FILES_${PN}-dbg += "${libdir}/gtk-2.0/*/immodules/ptim/helper/.debug/*.so"
+FILES_${PN}-dev += "${libdir}/gtk-2.0/*/immodules/ptim/helper/*.la"
+
+do_stage () {
+ autotools_stage_all
+} \ No newline at end of file
diff --git a/packages/gpephone/ptim-manager/.mtn2git_empty b/packages/gpephone/ptim-manager/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gpephone/ptim-manager/.mtn2git_empty
diff --git a/packages/gpephone/ptim-manager/gtkmodule-location.patch b/packages/gpephone/ptim-manager/gtkmodule-location.patch
new file mode 100644
index 0000000000..d02166e1ac
--- /dev/null
+++ b/packages/gpephone/ptim-manager/gtkmodule-location.patch
@@ -0,0 +1,21 @@
+--- src/Makefile.am~ 2007-04-05 16:01:29.000000000 +0200
++++ src/Makefile.am 2007-04-05 16:01:29.000000000 +0200
+@@ -3,7 +3,7 @@
+ GTK_PREFIX=`pkg-config gtk+-2.0 --variable=libdir`
+ GTK_BINARY_VERSION=`pkg-config gtk+-2.0 --variable=gtk_binary_version`
+
+-moduledir = $(GTK_PREFIX)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules
++moduledir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules
+
+ INCLUDES = -DPACKAGE_LOCALE_DIR=\"@datadir@/locale/@PACKAGE_NAME@\" -DSN_API_NOT_YET_FROZEN \
+ -I. $(IMMANAGER_CFLAGS)
+--- Makefile.am~ 2007-04-05 16:21:36.000000000 +0200
++++ Makefile.am 2007-04-05 16:21:36.000000000 +0200
+@@ -3,6 +3,6 @@
+ GTK_PREFIX=`pkg-config gtk+-2.0 --variable=libdir`
+ GTK_BINARY_VERSION=`pkg-config gtk+-2.0 --variable=gtk_binary_version`
+
+-confdir = $(GTK_PREFIX)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/
++confdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/immodules/ptim/
+ conf_DATA = \
+ conf/imconfig
diff --git a/packages/gpephone/ptim-manager_svn.bb b/packages/gpephone/ptim-manager_svn.bb
new file mode 100644
index 0000000000..b1113636e9
--- /dev/null
+++ b/packages/gpephone/ptim-manager_svn.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Phone input method manager module"
+SECTION = "gpephone"
+PRIORITY = "optional"
+LICENSE = "LiPS"
+DEPENDS = "gtk+ ptim-headers libiac"
+PV = "0.1+svn-${SRCDATE}"
+
+DEFAULT_PREFERENCE = "-1"
+
+inherit gpephone pkgconfig autotools
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source/ptim;module=immanager \
+ file://gtkmodule-location.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/immanager"
+
+FILES_${PN} += "${libdir}/gtk-2.0/*/immodules/*.so ${libdir}/gtk-2.0/*/immodules/ptim"
+FILES_${PN}-dbg += "${libdir}/gtk-2.0/*/immodules/.debug/*.so"
+FILES_${PN}-dev += "${libdir}/gtk-2.0/*/immodules/*.la"
+
+do_stage () {
+ autotools_stage_all
+} \ No newline at end of file
diff --git a/packages/gsm/files/htcuniversal/.mtn2git_empty b/packages/gsm/files/htcuniversal/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gsm/files/htcuniversal/.mtn2git_empty
diff --git a/packages/gsm/files/htcuniversal/default b/packages/gsm/files/htcuniversal/default
new file mode 100644
index 0000000000..3c9a8da949
--- /dev/null
+++ b/packages/gsm/files/htcuniversal/default
@@ -0,0 +1,10 @@
+# gsmd This shell script configures for the gsmd init script.
+
+GSMD_OPTS="-s 115200 -F"
+
+# If your GSM device needs to be powered up, uncomment and modify the next line
+#GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
+
+# this should be in a common /etc/default/serial, together
+# with BT_DEV, and IR_DEV
+GSM_DEV="/dev/ttyS0"
diff --git a/packages/gsm/files/interpreter-ready.patch b/packages/gsm/files/interpreter-ready.patch
deleted file mode 100644
index cc6b9c6e2b..0000000000
--- a/packages/gsm/files/interpreter-ready.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Index: gsm/include/gsmd/gsmd.h
-===================================================================
---- gsm.orig/include/gsmd/gsmd.h 2007-03-29 17:07:10.000000000 +0200
-+++ gsm/include/gsmd/gsmd.h 2007-03-29 17:07:43.000000000 +0200
-@@ -58,6 +58,7 @@
-
- struct gsmd {
- unsigned int flags;
-+ int interpreter_ready;
- struct gsmd_fd gfd_uart;
- struct gsmd_fd gfd_sock;
- struct llparser llp;
-Index: gsm/src/gsmd/atcmd.c
-===================================================================
---- gsm.orig/src/gsmd/atcmd.c 2007-03-29 17:06:01.000000000 +0200
-+++ gsm/src/gsmd/atcmd.c 2007-03-29 17:08:27.000000000 +0200
-@@ -183,6 +183,7 @@
- * an empty string or that 'ready' string, we need to init the modem */
- if (strlen(buf) == 0 ||
- !strcmp(buf, "AT-Command Interpreter ready")) {
-+ g->interpreter_ready = 1;
- gsmd_initsettings(g);
- return 0;
- }
-@@ -372,7 +373,7 @@
- }
-
- /* write pending commands to UART */
-- if (what & GSMD_FD_WRITE) {
-+ if ((what & GSMD_FD_WRITE) && g->interpreter_ready) {
- struct gsmd_atcmd *pos, *pos2;
- llist_for_each_entry_safe(pos, pos2, &g->pending_atcmds, list) {
- len = strlen(pos->buf);
-Index: gsm/src/gsmd/gsmd.c
-===================================================================
---- gsm.orig/src/gsmd/gsmd.c 2007-03-29 17:06:04.000000000 +0200
-+++ gsm/src/gsmd/gsmd.c 2007-03-29 17:08:59.000000000 +0200
-@@ -291,7 +291,8 @@
-
- gsmd_vendor_plugin_find(&g);
-
-- gsmd_initsettings(&g);
-+ if (g.interpreter_ready)
-+ gsmd_initsettings(&g);
-
- gsmd_opname_init(&g);
-
diff --git a/packages/gsm/files/magician/default b/packages/gsm/files/magician/default
index a9c3b94b1d..523d0b9479 100644
--- a/packages/gsm/files/magician/default
+++ b/packages/gsm/files/magician/default
@@ -1,9 +1,10 @@
# gsmd This shell script configures for the gsmd init script.
-# Set line Discipline 17 (N_TIHTC), needs ldisc.patch-ed gsmd
-GSMD_OPTS="-s 115200 -F -D 17"
+GSMD_OPTS="-s 115200 -F"
# If your GSM device needs to be powered up, uncomment and modify the next line
#GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
+# this should be in a common /etc/default/serial, together
+# with BT_DEV, and IR_DEV
GSM_DEV="/dev/ttyS1"
diff --git a/packages/gsm/files/magician/ldisc.patch b/packages/gsm/files/magician/ldisc.patch
deleted file mode 100644
index 30d4a8812a..0000000000
--- a/packages/gsm/files/magician/ldisc.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Index: gsm/src/gsmd/gsmd.c
-===================================================================
---- gsm.orig/src/gsmd/gsmd.c 2007-03-29 15:29:31.000000000 +0200
-+++ gsm/src/gsmd/gsmd.c 2007-03-29 15:33:07.000000000 +0200
-@@ -32,6 +32,7 @@
- #define _GNU_SOURCE
- #include <getopt.h>
-
-+#include <sys/ioctl.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-
-@@ -150,6 +151,7 @@
- { "speed", 1, NULL, 's' },
- { "logfile", 1, NULL, 'l' },
- { "hwflow", 0, NULL, 'F' },
-+ { "ldisc", 1, NULL, 'D' },
- { "leak-report", 0, NULL, 'L' },
- { 0, 0, 0, 0 }
- };
-@@ -165,6 +167,7 @@
- "\t-p dev\t--device dev\tSpecify serial device to be used\n"
- "\t-s spd\t--speed spd\tSpecify speed in bps (9600,38400,115200,...)\n"
- "\t-F\t--hwflow\tHardware Flow Control (RTS/CTS)\n"
-+ "\t-D\t--ldisc num\tSet line discipline (0=N_TTY,...)\n"
- "\t-L\t--leak-report\tLeak Report of talloc memory allocator\n"
- "\t-l file\t--logfile file\tSpecify a logfile to log to\n"
- );
-@@ -191,6 +194,7 @@
- int daemonize = 0;
- int bps = 115200;
- int hwflow = 0;
-+ int ldisc = 0;
- char *device = "/dev/ttyUSB0";
- char *logfile = "syslog";
-
-@@ -202,7 +206,7 @@
- gsmd_tallocs = talloc_named_const(NULL, 1, "GSMD");
-
- /*FIXME: parse commandline, set daemonize, device, ... */
-- while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:", opts, NULL)) != -1) {
-+ while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:D:", opts, NULL)) != -1) {
- switch (argch) {
- case 'V':
- /* FIXME */
-@@ -232,6 +236,8 @@
- fprintf(stderr, "can't open logfile `%s'\n", optarg);
- exit(2);
- }
-+ case 'D':
-+ ldisc = atoi(optarg);
- break;
- }
- }
-@@ -249,6 +255,11 @@
- exit(1);
- }
-
-+ if (ldisc && ioctl(fd, TIOCSETD, &ldisc) < 0) {
-+ fprintf(stderr, "can't set line discipline\n");
-+ exit(1);
-+ }
-+
- if (gsmd_initialize(&g) < 0) {
- fprintf(stderr, "internal error\n");
- exit(1);
diff --git a/packages/gsm/files/magician/vendor-tihtc.patch b/packages/gsm/files/magician/vendor-tihtc.patch
deleted file mode 100644
index a2f22ffbea..0000000000
--- a/packages/gsm/files/magician/vendor-tihtc.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-Index: gsm/src/gsmd/vendor_tihtc.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gsm/src/gsmd/vendor_tihtc.c 2007-03-27 13:12:05.000000000 +0200
-@@ -0,0 +1,294 @@
-+/* TI [Calypso] with HTC firmware gsmd plugin
-+ *
-+ * Written by Philipp Zabel <philipp.zabel@gmail.com>
-+ * based on vendor_ti.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ */
-+
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <stdio.h>
-+#include <errno.h>
-+
-+#include "gsmd.h"
-+
-+#include <gsmd/gsmd.h>
-+#include <gsmd/usock.h>
-+#include <gsmd/event.h>
-+#include <gsmd/talloc.h>
-+#include <gsmd/extrsp.h>
-+#include <gsmd/atcmd.h>
-+#include <gsmd/vendorplugin.h>
-+#include <gsmd/unsolicited.h>
-+
-+#if 0
-+#include "vendorplugin.h"
-+
-+static int
-+ti_getopt(struct gsmd *gh, int optname, void *optval, int *optlen)
-+{
-+ switch (optname) {
-+ case GSMD_OPT_CIPHER_IND:
-+ /* FIXME: send AT%CPRI=? */
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+}
-+
-+static int
-+ti_setopt(struct gsmd *gh, int optname, const void *optval, int optlen)
-+{
-+ switch (optname) {
-+ case GSMD_OPT_CIPHER_IND:
-+ /* FIXME: send AT%CPRI= */
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+}
-+
-+#endif
-+
-+
-+static int htccsq_parse(char *buf, int len, const char *param,
-+ struct gsmd *gsmd)
-+{
-+ char *tok;
-+ struct gsmd_evt_auxdata *aux;
-+ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_SIGNAL,
-+ sizeof(*aux));
-+
-+ DEBUGP("entering htccsq_parse param=`%s'\n", param);
-+ if (!ucmd)
-+ return -EINVAL;
-+
-+
-+ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
-+
-+ /* FIXME: contains values 1-5, should be mapped to 0-31 somehow? */
-+ /* 2 --> 11 */
-+ aux->u.signal.sigq.rssi = atoi(buf);
-+ aux->u.signal.sigq.ber = 99;
-+
-+ DEBUGP("sending EVT_SIGNAL\n");
-+ usock_evt_send(gsmd, ucmd, GSMD_EVT_SIGNAL);
-+
-+ return 0;
-+
-+out_free_io:
-+ free(ucmd);
-+ return -EIO;
-+}
-+
-+static int cpri_parse(char *buf, int len, const char *param, struct gsmd *gsmd)
-+{
-+ char *tok1, *tok2;
-+
-+ tok1 = strtok(buf, ",");
-+ if (!tok1)
-+ return -EIO;
-+
-+ tok2 = strtok(NULL, ",");
-+ if (!tok2) {
-+ switch (atoi(tok1)) {
-+ case 0:
-+ gsmd->dev_state.ciph_ind.flags &= ~GSMD_CIPHIND_ACTIVE;
-+ break;
-+ case 1:
-+ gsmd->dev_state.ciph_ind.flags |= GSMD_CIPHIND_ACTIVE;
-+ break;
-+ case 2:
-+ gsmd->dev_state.ciph_ind.flags |= GSMD_CIPHIND_DISABLED_SIM;
-+ break;
-+ }
-+ } else {
-+ struct gsmd_evt_auxdata *aux;
-+ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT,
-+ GSMD_EVT_CIPHER,
-+ sizeof(*aux));
-+ if (!ucmd)
-+ return -ENOMEM;
-+
-+ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
-+
-+ aux->u.cipher.net_state_gsm = atoi(tok1);
-+ aux->u.cipher.net_state_gsm = atoi(tok2);
-+
-+ usock_evt_send(gsmd, ucmd, GSMD_EVT_CIPHER);
-+ }
-+
-+ return 0;
-+}
-+
-+/* Call Progress Information */
-+static int cpi_parse(char *buf, int len, const char *param, struct gsmd *gsmd)
-+{
-+ char *tok;
-+ struct gsmd_evt_auxdata *aux;
-+ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT,
-+ GSMD_EVT_OUT_STATUS,
-+ sizeof(*aux));
-+
-+ DEBUGP("entering cpi_parse param=`%s'\n", param);
-+ if (!ucmd)
-+ return -EINVAL;
-+
-+ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
-+
-+ /* Format: cId, msgType, ibt, tch, dir,[mode],[number],[type],[alpha],[cause],line */
-+
-+ /* call ID */
-+ tok = strtok(buf, ",");
-+ if (!tok)
-+ goto out_free_io;
-+
-+ /* message type (layer 3) */
-+ tok = strtok(NULL, ",");
-+ if (!tok)
-+ goto out_free_io;
-+ aux->u.call_status.prog = atoi(tok);
-+
-+ /* in-band tones */
-+ tok = strtok(NULL, ",");
-+ if (!tok)
-+ goto out_free_io;
-+
-+ if (*tok == '1')
-+ aux->u.call_status.ibt = 1;
-+ else
-+ aux->u.call_status.ibt = 0;
-+
-+ /* TCH allocated */
-+ tok = strtok(NULL, ",");
-+ if (!tok)
-+ goto out_free_io;
-+
-+ if (*tok == '1')
-+ aux->u.call_status.tch = 1;
-+ else
-+ aux->u.call_status.tch = 0;
-+
-+ /* direction */
-+ tok = strtok(NULL, ",");
-+ if (!tok)
-+ goto out_send;
-+
-+ switch (*tok) {
-+ case '0':
-+ case '1':
-+ case '2':
-+ case '3':
-+ aux->u.call_status.dir = (*tok - '0');
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ /* mode */
-+ tok = strtok(NULL, ",");
-+ if (!tok)
-+ goto out_send;
-+
-+out_send:
-+ usock_evt_send(gsmd, ucmd, GSMD_EVT_OUT_STATUS);
-+
-+ return 0;
-+
-+out_free_io:
-+ talloc_free(ucmd);
-+ return -EIO;
-+}
-+
-+static const struct gsmd_unsolicit tihtc_unsolicit[] = {
-+ { "%HTCCSQ", &htccsq_parse }, /* Signal Quality */
-+ { "%CPRI", &cpri_parse }, /* Ciphering Indication */
-+ { "%CPI", &cpi_parse }, /* Call Progress Information */
-+
-+ /* FIXME: parse the below and generate the respective events */
-+
-+ /* %CGREG: reports extended information about GPRS registration state */
-+};
-+
-+static int cpi_detect_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
-+{
-+ struct gsmd *g = ctx;
-+ struct gsm_extrsp *er;
-+
-+ if (strncmp(resp, "%CPI: ", 6))
-+ return -EINVAL;
-+ resp += 6;
-+
-+ er = extrsp_parse(cmd, resp);
-+ if (!er)
-+ return -EINVAL;
-+
-+ if (extrsp_supports(er, 0, 3))
-+ return gsmd_simplecmd(g, "AT%CPI=3");
-+ else if (extrsp_supports(er, 0, 2))
-+ return gsmd_simplecmd(g, "AT%CPI=2");
-+ else
-+ DEBUGP("Call Progress Indication mode 2 or 3 not supported!!\n");
-+
-+ talloc_free(er);
-+ return 0;
-+}
-+
-+static int tihtc_detect(struct gsmd *g)
-+{
-+ /* FIXME: do actual detection of vendor if we have multiple vendors */
-+ /* open /proc/cpuinfo and check for HTC Magician or HTC Blueangel? */
-+ /* check for N_TIHTC ldisc? or set it ourselves? */
-+ return 1;
-+}
-+
-+static int tihtc_initsettings(struct gsmd *g)
-+{
-+ int rc;
-+ struct gsmd_atcmd *cmd;
-+
-+ /* use %CGREG */
-+ //rc |= gsmd_simplecmd(g, "AT%CGREG=3");
-+ /* enable %CPRI: ciphering indications */
-+ rc |= gsmd_simplecmd(g, "AT%CPRI=1");
-+ /* enable %HTCCSQ: signal quality reports */
-+ rc |= gsmd_simplecmd(g, "AT%HTCCSQ=1");
-+ /* send unsolicited commands at any time */
-+ rc |= gsmd_simplecmd(g, "AT%CUNS=0");
-+
-+ /* enable %CPI: call progress indication */
-+ cmd = atcmd_fill("AT%CPI=?", 9, &cpi_detect_cb, g, 0);
-+ if (cmd)
-+ atcmd_submit(g, cmd);
-+
-+ return rc;
-+}
-+
-+static struct gsmd_vendor_plugin plugin_tihtc = {
-+ .name = "TI Calypso / HTC firmware",
-+ .num_unsolicit = ARRAY_SIZE(tihtc_unsolicit),
-+ .unsolicit = tihtc_unsolicit,
-+ .detect = &tihtc_detect,
-+ .initsettings = &tihtc_initsettings,
-+};
-+
-+/* FIXME: this will be _init() when we make this a plugin */
-+int tihtc_init(void)
-+{
-+ return gsmd_vendor_plugin_register(&plugin_tihtc);
-+}
-Index: gsm/src/gsmd/gsmd.c
-===================================================================
---- gsm.orig/src/gsmd/gsmd.c 2007-03-27 13:07:59.000000000 +0200
-+++ gsm/src/gsmd/gsmd.c 2007-03-27 13:08:08.000000000 +0200
-@@ -276,7 +276,7 @@
- }
-
- /* FIXME: do this dynamically */
-- ticalypso_init();
-+ tihtc_init();
-
- gsmd_vendor_plugin_find(&g);
-
-Index: gsm/src/gsmd/Makefile.am
-===================================================================
---- gsm.orig/src/gsmd/Makefile.am 2007-03-27 13:09:11.000000000 +0200
-+++ gsm/src/gsmd/Makefile.am 2007-03-27 13:09:20.000000000 +0200
-@@ -4,7 +4,7 @@
- sbin_PROGRAMS = gsmd
-
- gsmd_SOURCES = gsmd.c atcmd.c select.c vendor.c usock.c unsolicited.c log.c \
-- vendor_ti.c talloc.c operator_cache.c ext_response.c
-+ vendor_ti.c vendor_tihtc.c talloc.c operator_cache.c ext_response.c
- #gsmd_LDADD = ../libgsmd/libgsmd.la
- #gsmd_LDFLAGS = -dynamic
-
diff --git a/packages/gsm/files/numeric.patch b/packages/gsm/files/numeric.patch
new file mode 100644
index 0000000000..cd1990cbe5
--- /dev/null
+++ b/packages/gsm/files/numeric.patch
@@ -0,0 +1,56 @@
+Index: gsm/src/gsmd/atcmd.c
+===================================================================
+--- gsm.orig/src/gsmd/atcmd.c 2007-04-02 09:59:16.000000000 +0200
++++ gsm/src/gsmd/atcmd.c 2007-04-02 10:10:54.000000000 +0200
+@@ -207,7 +207,7 @@
+ * TBD
+ */
+
+- if (buf[0] == '+' || buf[0] == '%') {
++ if (buf[0] == '+' || buf[0] == '%' || buf[0] == '@') {
+ /* an extended response */
+ const char *colon = strchr(buf, ':');
+ if (!colon) {
+@@ -269,14 +269,13 @@
+ memcpy(cmd->buf, buf, len);
+ }
+ } else {
+- if (!strcmp(buf, "RING")) {
++ if (!strcmp(buf, "RING") || buf[0] == '2') {
+ /* this is the only non-extended unsolicited return
+ * code, part of Case 'B' */
+ return unsolicited_parse(g, buf, len, NULL);
+ }
+
+- if (!strcmp(buf, "ERROR") ||
+- ((g->flags & GSMD_FLAG_V0) && buf[0] == '4')) {
++ if (!strcmp(buf, "ERROR") || buf[0] == '4') {
+ /* Part of Case 'C' */
+ DEBUGP("unspecified error\n");
+ if (cmd)
+@@ -285,8 +284,7 @@
+ goto final_cb;
+ }
+
+- if (!strncmp(buf, "OK", 2)
+- || ((g->flags & GSMD_FLAG_V0) && buf[0] == '0')) {
++ if (!strncmp(buf, "OK", 2) || buf[0] == '0') {
+ /* Part of Case 'C' */
+ if (cmd)
+ cmd->ret = 0;
+@@ -296,13 +294,13 @@
+
+ /* FIXME: handling of those special commands in response to
+ * ATD / ATA */
+- if (!strncmp(buf, "NO CARRIER", 11)) {
++ if (!strncmp(buf, "NO CARRIER", 11) || buf[0] == '3') {
+ /* Part of Case 'D' */
+ final = 1;
+ goto final_cb;
+ }
+
+- if (!strncmp(buf, "BUSY", 4)) {
++ if (!strncmp(buf, "BUSY", 4) || buf[0] == '7') {
+ /* Part of Case 'D' */
+ final = 1;
+ goto final_cb;
diff --git a/packages/gsm/files/plugin.patch b/packages/gsm/files/plugin.patch
new file mode 100644
index 0000000000..7f455ce718
--- /dev/null
+++ b/packages/gsm/files/plugin.patch
@@ -0,0 +1,935 @@
+Index: gsm/include/gsmd/gsmd.h
+===================================================================
+--- gsm.orig/include/gsmd/gsmd.h 2007-04-02 09:58:55.000000000 +0200
++++ gsm/include/gsmd/gsmd.h 2007-04-02 11:03:41.000000000 +0200
+@@ -7,6 +7,7 @@
+
+ #include <common/linux_list.h>
+
++#include <gsmd/machineplugin.h>
+ #include <gsmd/vendorplugin.h>
+ #include <gsmd/select.h>
+ #include <gsmd/state.h>
+@@ -58,12 +59,14 @@
+
+ struct gsmd {
+ unsigned int flags;
++ int interpreter_ready;
+ struct gsmd_fd gfd_uart;
+ struct gsmd_fd gfd_sock;
+ struct llparser llp;
+ struct llist_head users;
+ struct llist_head pending_atcmds; /* our busy gsmd_atcmds */
+ struct llist_head busy_atcmds; /* our busy gsmd_atcmds */
++ struct gsmd_machine_plugin *machinepl;
+ struct gsmd_vendor_plugin *vendorpl;
+ struct gsmd_device_state dev_state;
+
+Index: gsm/include/gsmd/machineplugin.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gsm/include/gsmd/machineplugin.h 2007-04-02 11:03:41.000000000 +0200
+@@ -0,0 +1,24 @@
++#ifndef _GSMD_MACHINEPLUG_H
++#define _GSMD_MACHINEPLUG_H
++
++#ifdef __GSMD__
++
++#include <common/linux_list.h>
++#include <gsmd/gsmd.h>
++
++struct gsmd;
++
++struct gsmd_machine_plugin {
++ struct llist_head list;
++ unsigned char *name;
++ int (*detect)(struct gsmd *g);
++ int (*init)(struct gsmd *g, int fd);
++};
++
++extern int gsmd_machine_plugin_register(struct gsmd_machine_plugin *pl);
++extern void gsmd_machine_plugin_unregister(struct gsmd_machine_plugin *pl);
++extern int gsmd_machine_plugin_find(struct gsmd *g);
++
++#endif /* __GSMD__ */
++
++#endif
+Index: gsm/src/gsmd/machine_tihtc.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gsm/src/gsmd/machine_tihtc.c 2007-04-02 11:03:41.000000000 +0200
+@@ -0,0 +1,71 @@
++/* TI [Calypso] with HTC firmware machine plugin
++ *
++ * Written by Philipp Zabel <philipp.zabel@gmail.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++#include <stdio.h>
++#include <errno.h>
++#include <sys/ioctl.h>
++
++#include "gsmd.h"
++
++#include <gsmd/gsmd.h>
++#include <gsmd/usock.h>
++#include <gsmd/event.h>
++#include <gsmd/talloc.h>
++#include <gsmd/extrsp.h>
++#include <gsmd/machineplugin.h>
++
++#define N_TIHTC 17
++
++static int tihtc_detect(struct gsmd *g)
++{
++ /* FIXME: do actual detection of machine if we have multiple machines */
++ return 1;
++}
++
++static int tihtc_init(struct gsmd *g, int fd)
++{
++ int ldisc = N_TIHTC;
++ int rc;
++
++ /*
++ * Himalaya, Blueangel, Alpine and Magican
++ * power up their GSM chipsets when the
++ * tty is opened. Wait for the "AT-Command
++ * Interpreter ready" message before trying
++ * to send commands.
++ */
++ g->interpreter_ready = 0;
++
++ /* Set the line discipline to N_TIHTC */
++ rc = ioctl(fd, TIOCSETD, &ldisc);
++ if (rc < 0)
++ fprintf(stderr, "can't set line discipline\n");
++
++ return rc;
++}
++
++struct gsmd_machine_plugin gsmd_machine_plugin = {
++ .name = "TI Calypso / HTC firmware",
++ .detect = &tihtc_detect,
++ .init = &tihtc_init,
++};
+Index: gsm/src/gsmd/machine_generic.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gsm/src/gsmd/machine_generic.c 2007-04-02 11:03:41.000000000 +0200
+@@ -0,0 +1,61 @@
++/* generic machine plugin
++ *
++ * Written by Philipp Zabel <philipp.zabel@gmail.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++#include <stdio.h>
++#include <errno.h>
++
++#include "gsmd.h"
++
++#include <gsmd/gsmd.h>
++#include <gsmd/usock.h>
++#include <gsmd/event.h>
++#include <gsmd/talloc.h>
++#include <gsmd/extrsp.h>
++#include <gsmd/machineplugin.h>
++
++static int generic_detect(struct gsmd *g)
++{
++ /* FIXME: do actual detection of machine if we have multiple machines */
++ return 1;
++}
++
++static int generic_init(struct gsmd *g, int fd)
++{
++ int rc;
++
++ /*
++ * We assume that the GSM chipset can take
++ * input immediately, so we don't have to
++ * wait for the "AT-Command Interpreter ready"
++ * message before trying to send commands.
++ */
++ g->interpreter_ready = 1;
++
++ return 0;
++}
++
++struct gsmd_machine_plugin gsmd_machine_plugin = {
++ .name = "generic",
++ .detect = &generic_detect,
++ .init = &generic_init,
++};
+Index: gsm/src/gsmd/machine.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gsm/src/gsmd/machine.c 2007-04-02 13:43:04.000000000 +0200
+@@ -0,0 +1,140 @@
++/* gsmd machine plugin core
++ *
++ * Written by Philipp Zabel <philipp.zabel@gmail.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#include <dlfcn.h>
++#include <errno.h>
++#include <stdio.h>
++#include <string.h>
++
++#include <common/linux_list.h>
++
++#include "gsmd.h"
++
++#include <gsmd/gsmd.h>
++#include <gsmd/machineplugin.h>
++
++static LLIST_HEAD(machinepl_list);
++
++int gsmd_machine_plugin_register(struct gsmd_machine_plugin *pl)
++{
++ llist_add(&pl->list, &machinepl_list);
++
++ return 0;
++}
++
++void gsmd_machine_plugin_unregister(struct gsmd_machine_plugin *pl)
++{
++ llist_del(&pl->list);
++}
++
++int gsmd_machine_plugin_find(struct gsmd *g)
++{
++ struct gsmd_machine_plugin *pl;
++
++ if (g->machinepl)
++ return -EEXIST;
++
++ llist_for_each_entry(pl, &machinepl_list, list) {
++ if (pl->detect(g) == 1) {
++ DEBUGP("selecting machine plugin \"%s\"\n", pl->name);
++ g->machinepl = pl;
++ return 1;
++ }
++ }
++
++ return 0;
++}
++
++int gsmd_machine_plugin_load(char *name)
++{
++ int rc = -1;
++ void *plugin;
++ struct gsmd_machine_plugin *pl;
++ char buf[128];
++
++ DEBUGP("loading machine plugin \"%s\"\n", name);
++
++ snprintf(buf, sizeof(buf), PLUGINDIR"/libgsmd-machine_%s.so", name);
++
++ plugin = dlopen(buf, RTLD_LAZY);
++ if (!plugin) {
++ fprintf(stderr, "gsmd_machine_plugin_load: %s\n", dlerror());
++ return -1;
++ }
++
++ pl = dlsym(plugin, "gsmd_machine_plugin");
++ if (pl)
++ rc = gsmd_machine_plugin_register(pl);
++ else
++ dlclose(plugin);
++
++ return rc;
++}
++
++/* maybe /etc/gsmd/cpuinfo */
++struct machines {
++ char *cpuinfo;
++ char *machine;
++ char *vendor;
++} machines[] = {
++ { "GTA01", "generic", "ti" },
++ { "HTC Blueangel", "tihtc", "tihtc" },
++ { "HTC Himalaya", "tihtc", "tihtc" },
++ { "HTC Magician", "tihtc", "tihtc" },
++ { "HTC Universal", "generic", "qc" },
++ { NULL, NULL, NULL },
++};
++
++int gsmd_machine_plugin_init(struct gsmd *g, int fd)
++{
++ FILE *cpuinfo;
++ char buf[1024];
++ char *line, *machine = NULL;
++ int i, rc;
++
++ cpuinfo = fopen("/proc/cpuinfo", "r");
++ fread(buf, sizeof(buf), 1, cpuinfo);
++ fclose(cpuinfo);
++
++ line = strtok(buf, "\n");
++ while (line = strtok(NULL, "\n")) {
++ if (strncmp(line, "Hardware\t: ", 11) == 0) {
++ machine = line+11;
++ break;
++ }
++ }
++ /* FIXME: do this dynamically */
++ if (machine) {
++ for (i = 0; machines[i].cpuinfo; i++) {
++ if (strcmp(machine, machines[i].cpuinfo) == 0) {
++ DEBUGP("detected %s\n", machine);
++ rc = gsmd_machine_plugin_load(machines[i].machine);
++ rc |= gsmd_vendor_plugin_load(machines[i].vendor);
++ return rc;
++ }
++ }
++ }
++ /* load generic machine and all vendor plugins */
++ rc = gsmd_machine_plugin_load("generic");
++ gsmd_vendor_plugin_load("ti");
++ gsmd_vendor_plugin_load("tihtc");
++ gsmd_vendor_plugin_load("qc");
++ return rc;
++}
+Index: gsm/src/gsmd/vendor_qc.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gsm/src/gsmd/vendor_qc.c 2007-04-02 11:03:41.000000000 +0200
+@@ -0,0 +1,104 @@
++/* Qualcomm [msm6250] gsmd plugin
++ *
++ * Written by Philipp Zabel <philipp.zabel@gmail.com>
++ * based on vendor_ti.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++#include <stdio.h>
++#include <errno.h>
++
++#include "gsmd.h"
++
++#include <gsmd/gsmd.h>
++#include <gsmd/usock.h>
++#include <gsmd/event.h>
++#include <gsmd/talloc.h>
++#include <gsmd/extrsp.h>
++#include <gsmd/atcmd.h>
++#include <gsmd/vendorplugin.h>
++#include <gsmd/unsolicited.h>
++
++static int htccsq_parse(char *buf, int len, const char *param,
++ struct gsmd *gsmd)
++{
++ char *tok;
++ struct gsmd_evt_auxdata *aux;
++ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_SIGNAL,
++ sizeof(*aux));
++ static int rssi_table[] = { 0,5,10,15,20,25,99 }; /* FIXME */
++ unsigned int i;
++
++ DEBUGP("entering htccsq_parse param=`%s'\n", param);
++ if (!ucmd)
++ return -EINVAL;
++
++
++ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
++
++ i = atoi(buf);
++ if (i > 6)
++ i = 6;
++ aux->u.signal.sigq.rssi = rssi_table[atoi(buf)];
++ aux->u.signal.sigq.ber = 99;
++
++ DEBUGP("sending EVT_SIGNAL\n");
++ usock_evt_send(gsmd, ucmd, GSMD_EVT_SIGNAL);
++
++ return 0;
++
++out_free_io:
++ free(ucmd);
++ return -EIO;
++}
++
++static const struct gsmd_unsolicit qc_unsolicit[] = {
++ { "@HTCCSQ", &htccsq_parse }, /* Signal Quality */
++
++ /* FIXME: parse the below and generate the respective events */
++
++ /* %CGREG: reports extended information about GPRS registration state */
++};
++
++static int qc_detect(struct gsmd *g)
++{
++ /* FIXME: do actual detection of vendor if we have multiple vendors */
++ /* open /proc/cpuinfo and check for HTC Universal? */
++ return 1;
++}
++
++static int qc_initsettings(struct gsmd *g)
++{
++ int rc;
++ struct gsmd_atcmd *cmd;
++
++ /* enable @HTCCSQ: signal quality reports */
++ rc |= gsmd_simplecmd(g, "AT@HTCCSQ=1");
++
++ return rc;
++}
++
++struct gsmd_vendor_plugin gsmd_vendor_plugin = {
++ .name = "Qualcomm msm6250",
++ .num_unsolicit = ARRAY_SIZE(qc_unsolicit),
++ .unsolicit = qc_unsolicit,
++ .detect = &qc_detect,
++ .initsettings = &qc_initsettings,
++};
+Index: gsm/src/gsmd/Makefile.am
+===================================================================
+--- gsm.orig/src/gsmd/Makefile.am 2007-04-02 09:58:55.000000000 +0200
++++ gsm/src/gsmd/Makefile.am 2007-04-02 13:33:11.000000000 +0200
+@@ -1,11 +1,26 @@
+ INCLUDES = $(all_includes) -I$(top_srcdir)/include
+ AM_CFLAGS = -std=gnu99
++plugindir = $(libdir)/gsmd
+
+ sbin_PROGRAMS = gsmd
+
+-gsmd_SOURCES = gsmd.c atcmd.c select.c vendor.c usock.c unsolicited.c log.c \
+- vendor_ti.c talloc.c operator_cache.c ext_response.c
+-#gsmd_LDADD = ../libgsmd/libgsmd.la
+-#gsmd_LDFLAGS = -dynamic
++gsmd_CFLAGS = -D PLUGINDIR=\"$(plugindir)\"
++gsmd_SOURCES = gsmd.c atcmd.c select.c machine.c vendor.c unsolicited.c log.c \
++ usock.c talloc.c operator_cache.c ext_response.c
++gsmd_LDADD = -ldl
++gsmd_LDFLAGS = -Wl,--export-dynamic
++
++plugin_LTLIBRARIES = libgsmd-machine_generic.la \
++ libgsmd-machine_tihtc.la \
++ libgsmd-vendor_ti.la \
++ libgsmd-vendor_tihtc.la \
++ libgsmd-vendor_qc.la
++
++libgsmd_machine_generic_la_SOURCES = machine_generic.c
++libgsmd_machine_tihtc_la_SOURCES = machine_tihtc.c
++
++libgsmd_vendor_ti_la_SOURCES = vendor_ti.c
++libgsmd_vendor_tihtc_la_SOURCES = vendor_tihtc.c
++libgsmd_vendor_qc_la_SOURCES = vendor_qc.c
+
+ noinst_HEADERS = gsmd.h
+Index: gsm/src/gsmd/atcmd.c
+===================================================================
+--- gsm.orig/src/gsmd/atcmd.c 2007-04-02 11:03:40.000000000 +0200
++++ gsm/src/gsmd/atcmd.c 2007-04-02 11:03:41.000000000 +0200
+@@ -183,6 +183,7 @@
+ * an empty string or that 'ready' string, we need to init the modem */
+ if (strlen(buf) == 0 ||
+ !strcmp(buf, "AT-Command Interpreter ready")) {
++ g->interpreter_ready = 1;
+ gsmd_initsettings(g);
+ return 0;
+ }
+@@ -370,7 +371,7 @@
+ }
+
+ /* write pending commands to UART */
+- if (what & GSMD_FD_WRITE) {
++ if ((what & GSMD_FD_WRITE) && g->interpreter_ready) {
+ struct gsmd_atcmd *pos, *pos2;
+ llist_for_each_entry_safe(pos, pos2, &g->pending_atcmds, list) {
+ len = strlen(pos->buf);
+Index: gsm/src/gsmd/vendor_tihtc.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gsm/src/gsmd/vendor_tihtc.c 2007-04-02 13:16:45.000000000 +0200
+@@ -0,0 +1,305 @@
++/* TI [Calypso] with HTC firmware gsmd plugin
++ *
++ * Written by Philipp Zabel <philipp.zabel@gmail.com>
++ * based on vendor_ti.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++#include <stdio.h>
++#include <errno.h>
++
++#include "gsmd.h"
++
++#include <gsmd/gsmd.h>
++#include <gsmd/usock.h>
++#include <gsmd/event.h>
++#include <gsmd/talloc.h>
++#include <gsmd/extrsp.h>
++#include <gsmd/atcmd.h>
++#include <gsmd/vendorplugin.h>
++#include <gsmd/unsolicited.h>
++
++static int gsmd_test_atcb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
++{
++ printf("`%s' returned `%s'\n", cmd->buf, resp);
++ return 0;
++}
++
++int gsmd_simplecmd(struct gsmd *gsmd, char *cmdtxt)
++{
++ struct gsmd_atcmd *cmd;
++ cmd = atcmd_fill(cmdtxt, strlen(cmdtxt)+1, &gsmd_test_atcb, NULL, 0);
++ if (!cmd)
++ return -ENOMEM;
++
++ return atcmd_submit(gsmd, cmd);
++}
++
++
++#if 0
++#include "vendorplugin.h"
++
++static int
++ti_getopt(struct gsmd *gh, int optname, void *optval, int *optlen)
++{
++ switch (optname) {
++ case GSMD_OPT_CIPHER_IND:
++ /* FIXME: send AT%CPRI=? */
++ break;
++ default:
++ return -EINVAL;
++ }
++}
++
++static int
++ti_setopt(struct gsmd *gh, int optname, const void *optval, int optlen)
++{
++ switch (optname) {
++ case GSMD_OPT_CIPHER_IND:
++ /* FIXME: send AT%CPRI= */
++ break;
++ default:
++ return -EINVAL;
++ }
++}
++
++#endif
++
++
++static int htccsq_parse(char *buf, int len, const char *param,
++ struct gsmd *gsmd)
++{
++ char *tok;
++ struct gsmd_evt_auxdata *aux;
++ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_SIGNAL,
++ sizeof(*aux));
++
++ DEBUGP("entering htccsq_parse param=`%s'\n", param);
++ if (!ucmd)
++ return -EINVAL;
++
++
++ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
++
++ /* FIXME: contains values 1-5, should be mapped to 0-31 somehow? */
++ /* 2 --> 11 */
++ aux->u.signal.sigq.rssi = atoi(buf);
++ aux->u.signal.sigq.ber = 99;
++
++ DEBUGP("sending EVT_SIGNAL\n");
++ usock_evt_send(gsmd, ucmd, GSMD_EVT_SIGNAL);
++
++ return 0;
++
++out_free_io:
++ free(ucmd);
++ return -EIO;
++}
++
++static int cpri_parse(char *buf, int len, const char *param, struct gsmd *gsmd)
++{
++ char *tok1, *tok2;
++
++ tok1 = strtok(buf, ",");
++ if (!tok1)
++ return -EIO;
++
++ tok2 = strtok(NULL, ",");
++ if (!tok2) {
++ switch (atoi(tok1)) {
++ case 0:
++ gsmd->dev_state.ciph_ind.flags &= ~GSMD_CIPHIND_ACTIVE;
++ break;
++ case 1:
++ gsmd->dev_state.ciph_ind.flags |= GSMD_CIPHIND_ACTIVE;
++ break;
++ case 2:
++ gsmd->dev_state.ciph_ind.flags |= GSMD_CIPHIND_DISABLED_SIM;
++ break;
++ }
++ } else {
++ struct gsmd_evt_auxdata *aux;
++ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT,
++ GSMD_EVT_CIPHER,
++ sizeof(*aux));
++ if (!ucmd)
++ return -ENOMEM;
++
++ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
++
++ aux->u.cipher.net_state_gsm = atoi(tok1);
++ aux->u.cipher.net_state_gsm = atoi(tok2);
++
++ usock_evt_send(gsmd, ucmd, GSMD_EVT_CIPHER);
++ }
++
++ return 0;
++}
++
++/* Call Progress Information */
++static int cpi_parse(char *buf, int len, const char *param, struct gsmd *gsmd)
++{
++ char *tok;
++ struct gsmd_evt_auxdata *aux;
++ struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT,
++ GSMD_EVT_OUT_STATUS,
++ sizeof(*aux));
++
++ DEBUGP("entering cpi_parse param=`%s'\n", param);
++ if (!ucmd)
++ return -EINVAL;
++
++ aux = (struct gsmd_evt_auxdata *) ucmd->buf;
++
++ /* Format: cId, msgType, ibt, tch, dir,[mode],[number],[type],[alpha],[cause],line */
++
++ /* call ID */
++ tok = strtok(buf, ",");
++ if (!tok)
++ goto out_free_io;
++
++ /* message type (layer 3) */
++ tok = strtok(NULL, ",");
++ if (!tok)
++ goto out_free_io;
++ aux->u.call_status.prog = atoi(tok);
++
++ /* in-band tones */
++ tok = strtok(NULL, ",");
++ if (!tok)
++ goto out_free_io;
++
++ if (*tok == '1')
++ aux->u.call_status.ibt = 1;
++ else
++ aux->u.call_status.ibt = 0;
++
++ /* TCH allocated */
++ tok = strtok(NULL, ",");
++ if (!tok)
++ goto out_free_io;
++
++ if (*tok == '1')
++ aux->u.call_status.tch = 1;
++ else
++ aux->u.call_status.tch = 0;
++
++ /* direction */
++ tok = strtok(NULL, ",");
++ if (!tok)
++ goto out_send;
++
++ switch (*tok) {
++ case '0':
++ case '1':
++ case '2':
++ case '3':
++ aux->u.call_status.dir = (*tok - '0');
++ break;
++ default:
++ break;
++ }
++
++ /* mode */
++ tok = strtok(NULL, ",");
++ if (!tok)
++ goto out_send;
++
++out_send:
++ usock_evt_send(gsmd, ucmd, GSMD_EVT_OUT_STATUS);
++
++ return 0;
++
++out_free_io:
++ talloc_free(ucmd);
++ return -EIO;
++}
++
++static const struct gsmd_unsolicit tihtc_unsolicit[] = {
++ { "%HTCCSQ", &htccsq_parse }, /* Signal Quality */
++ { "%CPRI", &cpri_parse }, /* Ciphering Indication */
++ { "%CPI", &cpi_parse }, /* Call Progress Information */
++
++ /* FIXME: parse the below and generate the respective events */
++
++ /* %CGREG: reports extended information about GPRS registration state */
++};
++
++static int cpi_detect_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
++{
++ struct gsmd *g = ctx;
++ struct gsm_extrsp *er;
++
++ if (strncmp(resp, "%CPI: ", 6))
++ return -EINVAL;
++ resp += 6;
++
++ er = extrsp_parse(cmd, resp);
++ if (!er)
++ return -EINVAL;
++
++ if (extrsp_supports(er, 0, 3))
++ return gsmd_simplecmd(g, "AT%CPI=3");
++ else if (extrsp_supports(er, 0, 2))
++ return gsmd_simplecmd(g, "AT%CPI=2");
++ else
++ DEBUGP("Call Progress Indication mode 2 or 3 not supported!!\n");
++
++ talloc_free(er);
++ return 0;
++}
++
++static int tihtc_detect(struct gsmd *g)
++{
++ /* FIXME: do actual detection of vendor if we have multiple vendors */
++ /* open /proc/cpuinfo and check for HTC Magician or HTC Blueangel? */
++ /* check for N_TIHTC ldisc? or set it ourselves? */
++ return 1;
++}
++
++static int tihtc_initsettings(struct gsmd *g)
++{
++ int rc;
++ struct gsmd_atcmd *cmd;
++
++ /* use %CGREG */
++ //rc |= gsmd_simplecmd(g, "AT%CGREG=3");
++ /* enable %CPRI: ciphering indications */
++ rc |= gsmd_simplecmd(g, "AT%CPRI=1");
++ /* enable %HTCCSQ: signal quality reports */
++ rc |= gsmd_simplecmd(g, "AT%HTCCSQ=1");
++ /* send unsolicited commands at any time */
++ rc |= gsmd_simplecmd(g, "AT%CUNS=0");
++
++ /* enable %CPI: call progress indication */
++ cmd = atcmd_fill("AT%CPI=?", 9, &cpi_detect_cb, g, 0);
++ if (cmd)
++ atcmd_submit(g, cmd);
++
++ return rc;
++}
++
++struct gsmd_vendor_plugin gsmd_vendor_plugin = {
++ .name = "TI Calypso / HTC firmware",
++ .num_unsolicit = ARRAY_SIZE(tihtc_unsolicit),
++ .unsolicit = tihtc_unsolicit,
++ .detect = &tihtc_detect,
++ .initsettings = &tihtc_initsettings,
++};
+Index: gsm/src/gsmd/vendor_ti.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_ti.c 2007-04-02 09:58:55.000000000 +0200
++++ gsm/src/gsmd/vendor_ti.c 2007-04-02 11:03:41.000000000 +0200
+@@ -301,16 +301,10 @@
+ return rc;
+ }
+
+-static struct gsmd_vendor_plugin plugin_ticalypso = {
++struct gsmd_vendor_plugin gsmd_vendor_plugin = {
+ .name = "TI Calypso",
+ .num_unsolicit = ARRAY_SIZE(ticalypso_unsolicit),
+ .unsolicit = ticalypso_unsolicit,
+ .detect = &ticalypso_detect,
+ .initsettings = &ticalypso_initsettings,
+ };
+-
+-/* FIXME: this will be _init() when we make this a plugin */
+-int ticalypso_init(void)
+-{
+- return gsmd_vendor_plugin_register(&plugin_ticalypso);
+-}
+Index: gsm/src/gsmd/gsmd.c
+===================================================================
+--- gsm.orig/src/gsmd/gsmd.c 2007-04-02 09:58:55.000000000 +0200
++++ gsm/src/gsmd/gsmd.c 2007-04-02 13:39:40.000000000 +0200
+@@ -254,6 +254,21 @@
+ exit(1);
+ }
+
++ if (gsmd_machine_plugin_init(&g) < 0) {
++ fprintf(stderr, "no machine plugins found\n");
++ exit(1);
++ }
++
++ /* select a machine plugin and load possible vendor plugins */
++ gsmd_machine_plugin_find(&g);
++
++ /* initialize the machine plugin */
++ if (g.machinepl->init)
++ if (g.machinepl->init(&g, fd) < 0) {
++ fprintf(stderr, "couldn't initialize machine plugin\n");
++ exit(1);
++ }
++
+ if (atcmd_init(&g, fd) < 0) {
+ fprintf(stderr, "can't initialize UART device\n");
+ exit(1);
+@@ -275,12 +290,11 @@
+ setsid();
+ }
+
+- /* FIXME: do this dynamically */
+- ticalypso_init();
+-
++ /* select a vendor plugin */
+ gsmd_vendor_plugin_find(&g);
+
+- gsmd_initsettings(&g);
++ if (g.interpreter_ready)
++ gsmd_initsettings(&g);
+
+ gsmd_opname_init(&g);
+
+Index: gsm/src/gsmd/vendor.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor.c 2007-04-02 09:58:55.000000000 +0200
++++ gsm/src/gsmd/vendor.c 2007-04-02 13:38:38.000000000 +0200
+@@ -20,7 +20,10 @@
+ *
+ */
+
++#include <dlfcn.h>
+ #include <errno.h>
++#include <stdio.h>
++#include <string.h>
+
+ #include <common/linux_list.h>
+
+@@ -52,6 +55,7 @@
+
+ llist_for_each_entry(pl, &vendorpl_list, list) {
+ if (pl->detect(g) == 1) {
++ DEBUGP("selecting vendor plugin \"%s\"\n", pl->name);
+ g->vendorpl = pl;
+ return 1;
+ }
+@@ -59,3 +63,29 @@
+
+ return 0;
+ }
++
++int gsmd_vendor_plugin_load(char *name)
++{
++ int rc = -1;
++ void *lib;
++ struct gsmd_vendor_plugin *pl;
++ char buf[128];
++
++ DEBUGP("loading vendor plugin \"%s\"\n", name);
++
++ snprintf(buf, sizeof(buf), PLUGINDIR"/libgsmd-vendor_%s.so", name);
++
++ lib = dlopen(buf, RTLD_LAZY);
++ if (!lib) {
++ fprintf(stderr, "gsmd_vendor_plugin_load: %s\n", dlerror());
++ return -1;
++ }
++
++ pl = dlsym(lib, "gsmd_vendor_plugin");
++ if (pl)
++ rc = gsmd_vendor_plugin_register(pl);
++ else
++ dlclose(lib);
++
++ return rc;
++}
diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb
index 2019185b33..607d4db1be 100644
--- a/packages/gsm/libgsmd_svn.bb
+++ b/packages/gsm/libgsmd_svn.bb
@@ -4,17 +4,17 @@ LICENSE = "GPL"
SECTION = "libs/gsm"
PROVIDES += "gsmd"
PV = "0.0+svn${SRCDATE}"
-PR = "r8"
+PR = "r10"
SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
file://gsmd \
file://default"
S = "${WORKDIR}/gsm"
-SRC_URI_append_htcuniversal = " file://interpreter-ready.patch;patch=1"
-SRC_URI_append_magician = " file://vendor-tihtc.patch;patch=1 \
- file://interpreter-ready.patch;patch=1 \
- file://ldisc.patch;patch=1"
+SRC_URI_append_magician = "file://numeric.patch;patch=1 \
+ file://plugin.patch;patch=1"
+SRC_URI_append_htcuniversal = "file://numeric.patch;patch=1 \
+ file://plugin.patch;patch=1"
inherit autotools pkgconfig update-rc.d
@@ -32,10 +32,12 @@ do_install_append() {
install ${WORKDIR}/default ${D}/${sysconfdir}/default/gsmd
}
-PACKAGES =+ "${PN}-tools gsmd"
+PACKAGES =+ "${PN}-tools gsmd gsmd-plugins"
RDEPENDS_${PN} = "gsmd"
+RRECOMMENDS_gsmd = "gsmd-plugins"
FILES_${PN}-tools = "${bindir}/*"
FILES_gsmd = "${sbindir}/gsmd ${sysconfdir}"
+FILES_gsmd-plugins = "${libdir}/gsmd/*.so*"
PACKAGES_DYNAMIC = "libgsmd* gsmd"
diff --git a/packages/gtk+/gtk+_2.6.10.bb b/packages/gtk+/gtk+_2.6.10.bb
index c096bbe688..ed2d9aea80 100644
--- a/packages/gtk+/gtk+_2.6.10.bb
+++ b/packages/gtk+/gtk+_2.6.10.bb
@@ -5,7 +5,7 @@ SECTION = "libs"
LICENSE = "LGPL"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
-PR = "r9"
+PR = "r10"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
file://help.patch;patch=1 \
diff --git a/packages/hal/files/99_hal b/packages/hal/files/99_hal
index f3d477231e..f983db9ee5 100644
--- a/packages/hal/files/99_hal
+++ b/packages/hal/files/99_hal
@@ -1 +1,2 @@
d root root 0700 /var/run/hald none
+d root root 0700 /var/cache/hald none
diff --git a/packages/hal/hal_0.5.9.bb b/packages/hal/hal_0.5.9.bb
index e021f03045..bb9dc82b52 100644
--- a/packages/hal/hal_0.5.9.bb
+++ b/packages/hal/hal_0.5.9.bb
@@ -8,7 +8,7 @@ RDEPENDS += "udev hal-info"
#RDEPENDS_hal-device-manager = "python hal python-pygnome"
RRECOMMENDS = "udev-utils"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz \
file://99_hal"
diff --git a/packages/hwdata/.mtn2git_empty b/packages/hwdata/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/hwdata/.mtn2git_empty
diff --git a/packages/hwdata/hwdata_0.191.bb b/packages/hwdata/hwdata_0.191.bb
new file mode 100644
index 0000000000..2dfe1433bf
--- /dev/null
+++ b/packages/hwdata/hwdata_0.191.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "This package contains various hardware identification and configuration data, such as the pci.ids database, or the XFree86/xorg Cards database. It's needed for the kudzu hardware detection."
+LICENSE = "GPL + X11"
+
+SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/h/hwdata/hwdata_0.191.orig.tar.gz \
+ http://archive.ubuntu.com/ubuntu/pool/main/h/hwdata/hwdata_0.191-1.diff.gz;patch=1 \
+ "
+
+PACKAGE_ARCH = "all"
+
+
+do_install() {
+ mkdir -p ${D}${datadir}/hwdata
+ install -m644 MonitorsDB pci* usb.ids video* upgradelist ${D}${datadir}/hwdata
+}
diff --git a/packages/images/opie-image.bb b/packages/images/opie-image.bb
index 3613ccafde..cd8d7df654 100644
--- a/packages/images/opie-image.bb
+++ b/packages/images/opie-image.bb
@@ -2,7 +2,7 @@ export IMAGE_BASENAME = "opie-image"
export IMAGE_LINGUAS = ""
LICENSE = "MIT"
-PR = "r21"
+PR = "r22"
DEPENDS = "${MACHINE_TASK_PROVIDER} task-opie"
RDEPENDS = "${INSTALL_PACKAGES}"
@@ -14,9 +14,6 @@ INSTALL_PACKAGES = "${MACHINE_TASK_PROVIDER} task-opie-base task-opie-base-apple
task-opie-extra-settings \
task-opie-bluetooth task-opie-irda "
-INSTALL_PACKAGES_spitz_append = "task-opie-extra-games task-opie-extra-apps task-opie-extra-styles"
-INSTALL_PACKAGES_akita_append = "task-opie-extra-games task-opie-extra-apps task-opie-extra-styles"
-
export PACKAGE_INSTALL = "${INSTALL_PACKAGES}"
# merge feed-sources into ipkg.conf for opie-aqpkg as it can't handle feed-sources outside of ipkg.conf.
diff --git a/packages/irda-utils/files/init b/packages/irda-utils/files/init
index 2d93af34df..a00596fc85 100755
--- a/packages/irda-utils/files/init
+++ b/packages/irda-utils/files/init
@@ -1,21 +1,26 @@
#! /bin/sh
+NAME="irattach"
+
module_id() {
- awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+cpuid_id() {
+ awk '/Processor/ { print $3; exit; }' /proc/cpuinfo
}
if [ ! -f /etc/sysconfig/irda ]; then
- case `module_id` in
- "HP iPAQ H2200" | "HP iPAQ HX4700" | "HTC Universal")
+ case `cpuid_id` in
+ "XScale-PXA2"*)
IRDA=yes
DEVICE=/dev/ttyS2
DONGLE=
DISCOVERY=
;;
*)
- IRDA=yes
- DEVICE=/dev/ttyS1
+ IRDA=no
+ DEVICE=/dev/null
DONGLE=
DISCOVERY=
;;
@@ -32,8 +37,8 @@ fi
. /etc/sysconfig/irda
-# Check that irda is up.
-[ ${IRDA} = "no" ] && exit 0
+# Check if irda is present.
+[ $IRDA = "no" ] && exit 0
[ -f /usr/sbin/irattach ] || exit 0
@@ -47,26 +52,26 @@ fi
case "$1" in
start)
- echo -n "Starting IrDA: "
- irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 &
- echo "$NAME."
- ;;
+ echo -n "Starting IrDA: "
+ irattach ${DEVICE} ${ARGS} > /dev/null 2>&1
+ echo "$NAME."
+ ;;
stop)
- echo -n "Stopping IrDA: "
- killall irattach > /dev/null 2>&1
- echo "$NAME."
- ;;
+ echo -n "Stopping IrDA: "
+ killall irattach > /dev/null 2>&1
+ echo "$NAME."
+ ;;
restart|force-reload)
- echo -n "Restarting IrDA: "
- irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 &
- sleep 1
- killall irattach > /dev/null 2>&1
- echo "$NAME."
- ;;
+ echo -n "Restarting IrDA: "
+ irattach ${DEVICE} ${ARGS} > /dev/null 2>&1
+ sleep 1
+ killall irattach > /dev/null 2>&1
+ echo "$NAME."
+ ;;
*)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
- exit 1
- ;;
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
esac
diff --git a/packages/irda-utils/irda-utils_0.9.16.bb b/packages/irda-utils/irda-utils_0.9.16.bb
index ee5580b1de..19bcdf397c 100644
--- a/packages/irda-utils/irda-utils_0.9.16.bb
+++ b/packages/irda-utils/irda-utils_0.9.16.bb
@@ -3,7 +3,7 @@ IrDA allows communication over Infrared with other devices \
such as phones and laptops."
SECTION = "base"
LICENSE = "GPL"
-PR = "r7"
+PR = "r8"
SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
file://configure.patch;patch=1 \
@@ -12,7 +12,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
export SYS_INCLUDES="-I${STAGING_INCDIR}"
-inherit autotools update-rc.d
+inherit autotools
INITSCRIPT_NAME = "irattach"
INITSCRIPT_PARAMS = "defaults 20"
diff --git a/packages/libwpd/libwpd_0.8.4.bb b/packages/libwpd/libwpd_0.8.4.bb
index 46a59e8dc8..4e6ee91a4f 100644
--- a/packages/libwpd/libwpd_0.8.4.bb
+++ b/packages/libwpd/libwpd_0.8.4.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "libwpd is a C++ library designed to help process WordPerfect docu
HOMEPAGE = "http://libwpd.sourceforge.net/index.html"
SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz"
-
+DEPENDS = "libgsf"
inherit autotools pkgconfig
diff --git a/packages/libwpd/libwpd_0.8.6.bb b/packages/libwpd/libwpd_0.8.6.bb
index 46a59e8dc8..4e6ee91a4f 100644
--- a/packages/libwpd/libwpd_0.8.6.bb
+++ b/packages/libwpd/libwpd_0.8.6.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "libwpd is a C++ library designed to help process WordPerfect docu
HOMEPAGE = "http://libwpd.sourceforge.net/index.html"
SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz"
-
+DEPENDS = "libgsf"
inherit autotools pkgconfig
diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/hp6xx-IRQ3.patch b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/hp6xx-IRQ3.patch
new file mode 100644
index 0000000000..c4819514d7
--- /dev/null
+++ b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/hp6xx-IRQ3.patch
@@ -0,0 +1,4 @@
+14c14
+< #define HP680_TS_IRQ IRQ3_IRQ
+---
+> #define HP680_TS_IRQ 35
diff --git a/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb b/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb
index f38fa5c26e..82b54258b5 100644
--- a/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb
+++ b/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb
@@ -8,10 +8,11 @@ COMPATIBLE_HOST = "sh.*-linux"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=v2.6.21-rc5 \
file://git-20070405-2.patch;patch=1 \
- file://defconfig"
+ file://hp6xx-IRQ3.patch;patch=1 \
+ file://defconfig"
-S = "${WORKDIR}/linux-${PV}"
+S = "${WORKDIR}/git"
inherit kernel
diff --git a/packages/linux/linux-x86-2.6.20/netvista/defconfig b/packages/linux/linux-x86-2.6.20/netvista/defconfig
index 864a42b303..4db3370642 100644
--- a/packages/linux/linux-x86-2.6.20/netvista/defconfig
+++ b/packages/linux/linux-x86-2.6.20/netvista/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.20
-# Tue Apr 3 00:46:14 2007
+# Thu Apr 5 12:46:55 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
@@ -870,11 +870,13 @@ CONFIG_INPUT=y
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=800
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=600
# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-# CONFIG_INPUT_EVDEV is not set
+CONFIG_INPUT_TSDEV=m
+CONFIG_INPUT_TSDEV_SCREEN_X=800
+CONFIG_INPUT_TSDEV_SCREEN_Y=600
+CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
@@ -892,7 +894,15 @@ CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
# CONFIG_INPUT_MISC is not set
#
@@ -1117,6 +1127,7 @@ CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
+CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
@@ -1134,7 +1145,8 @@ CONFIG_SND_VERBOSE_PROCFS=y
#
# Generic devices
#
-CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
@@ -1160,7 +1172,7 @@ CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5535AUDIO is not set
+CONFIG_SND_CS5535AUDIO=m
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
@@ -1185,7 +1197,7 @@ CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
-CONFIG_SND_INTEL8X0=y
+CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
@@ -1197,9 +1209,9 @@ CONFIG_SND_INTEL8X0=y
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1213,8 +1225,31 @@ CONFIG_SND_INTEL8X0=y
#
# Open Sound System
#
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
+CONFIG_SOUND_PRIME=m
+# CONFIG_SOUND_BT878 is not set
+# CONFIG_SOUND_ES1371 is not set
+# CONFIG_SOUND_ICH is not set
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+# CONFIG_SOUND_VIA82CXXX is not set
+CONFIG_SOUND_OSS=m
+# CONFIG_SOUND_TRACEINIT is not set
+# CONFIG_SOUND_DMAP is not set
+# CONFIG_SOUND_CS4232 is not set
+# CONFIG_SOUND_SSCAPE is not set
+# CONFIG_SOUND_VMIDI is not set
+# CONFIG_SOUND_TRIX is not set
+# CONFIG_SOUND_MSS is not set
+# CONFIG_SOUND_MPU401 is not set
+# CONFIG_SOUND_PAS is not set
+# CONFIG_SOUND_PSS is not set
+CONFIG_SOUND_SB=m
+# CONFIG_SOUND_YM3812 is not set
+# CONFIG_SOUND_UART6850 is not set
+# CONFIG_SOUND_AEDSP16 is not set
+# CONFIG_SOUND_KAHLUA is not set
+CONFIG_AC97_BUS=m
#
# HID Devices
diff --git a/packages/linux/linux-x86_2.6.20.bb b/packages/linux/linux-x86_2.6.20.bb
index 5db1563733..c73ee58d2f 100644
--- a/packages/linux/linux-x86_2.6.20.bb
+++ b/packages/linux/linux-x86_2.6.20.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Linux Kernel for x86 compatible machines"
SECTION = "kernel"
LICENSE = "GPL"
-PR = "r0"
+PR = "r2"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://defconfig"
@@ -17,3 +17,11 @@ do_configure_prepend() {
install -m 0644 ${WORKDIR}/defconfig ${S}/.config
}
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/i386/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_populate_staging after do_compile
diff --git a/packages/meta/meta-sdk-sbox.bb b/packages/meta/meta-sdk-sbox.bb
index a586972a94..1e96e76d5a 100644
--- a/packages/meta/meta-sdk-sbox.bb
+++ b/packages/meta/meta-sdk-sbox.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "Meta package for a Scratchbox SDK"
LICENSE = "MIT"
-PR = "r2"
+PACKAGES = ""
+PR = "r5"
inherit rootfs_ipk sdk meta
@@ -14,14 +15,13 @@ FILES_${PN} = "${prefix}"
TARGET_INSTALL = "\
task-sdk-base \
- task-sdk-x11 \
- task-sdk-x11-ext \
- task-sdk-gpe \
- task-sdk-gpephone"
+ task-sdk-sbox \
+ "
DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
RDEPENDS = "${TARGET_INSTALL}"
+
IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}"
do_populate_sdk() {
@@ -73,8 +73,12 @@ EOF
# remove unwanted executables
rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
- # remove broken .la files
- #rm ${SDK_OUTPUT}/${prefix}/lib/*.la
+ # fixup libtool files
+ cd ${SDK_OUTPUT}/${prefix}/lib/
+ for f in *.la ; do
+ sed -i 's%${STAGING_DIR}${TARGET_SYS}%/usr/%g' "$f"
+ done
+
# fix pkgconfig data files
cd ${SDK_OUTPUT}/${prefix}/usr/lib/pkgconfig
diff --git a/packages/meta/meta-sdk.bb b/packages/meta/meta-sdk.bb
index e49858398f..86bb212214 100644
--- a/packages/meta/meta-sdk.bb
+++ b/packages/meta/meta-sdk.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Meta package for SDK including GPE and Opie"
LICENSE = "MIT"
DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
-PR = "r11"
+PR = "r12"
inherit sdk meta
@@ -19,10 +19,7 @@ HOST_INSTALL = "\
TARGET_INSTALL = "\
task-sdk-base \
- task-sdk-opie \
- task-sdk-x11 \
- task-sdk-x11-ext \
- task-sdk-gpe"
+ "
RDEPENDS = "${TARGET_INSTALL} ${HOST_INSTALL}"
@@ -73,22 +70,22 @@ EOF
echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
# remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${libdir}/../arm-linux/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
+ mv ${SDK_OUTPUT}${libdir}/../${TARGET_ARCH}-${TARGET_OS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
rm -rf ${SDK_OUTPUT}${libdir}/ipkg
# remove unwanted executables
rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
# remove broken .la files
- rm ${SDK_OUTPUT}/${prefix}/arm-linux/lib/*.la
+ rm ${SDK_OUTPUT}/${prefix}/${TARGET_ARCH}-${TARGET_OS}/lib/*.la
# fix pkgconfig data files
- cd ${SDK_OUTPUT}/${prefix}/arm-linux/lib/pkgconfig
+ cd ${SDK_OUTPUT}/${prefix}/${TARGET_ARCH}-${TARGET_OS}/lib/pkgconfig
for f in *.pc ; do
- sed -i 's%=/usr%=${prefix}/arm-linux%g' "$f"
+ sed -i 's%=/usr%=${prefix}/${TARGET_ARCH}-${TARGET_OS}%g' "$f"
done
for f in *.pc ; do
- sed -i 's%${STAGING_DIR}%/usr/local/arm/oe%g' "$f"
+ sed -i 's%${STAGING_DIR}%/usr/local/${TARGET_ARCH}/oe%g' "$f"
done
mkdir -p ${SDK_DEPLOY}
diff --git a/packages/meta/slugos-packages.bb b/packages/meta/slugos-packages.bb
index 287a8166af..917df6876c 100644
--- a/packages/meta/slugos-packages.bb
+++ b/packages/meta/slugos-packages.bb
@@ -5,7 +5,7 @@
DESCRIPTION = "Packages that are compatible with the SlugOS firmware"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r30"
+PR = "r32"
CONFLICTS = "db3"
COMPATIBLE_MACHINE = "nslu2"
@@ -104,7 +104,6 @@ SLUGOS_PACKAGES = "\
lsof \
lvm2 \
m4 \
- madfu \
madplay \
madwifi-ng \
mailx \
@@ -163,7 +162,6 @@ SLUGOS_PACKAGES = "\
streamripper \
sysfsutils \
tar \
- task-native-sdk \
task-mokogateway-everything \
thttpd \
tiff \
@@ -195,6 +193,7 @@ SLUGOS_BROKEN_PACKAGES = "\
irssi \
libgphoto2 \
logrotate \
+ madfu \
mediatomb \
mpd \
netpbm \
@@ -206,6 +205,7 @@ SLUGOS_BROKEN_PACKAGES = "\
unionfs-utils \
lirc \
pwc \
+ task-native-sdk \
zd1211 \
mysql \
wview-sim-mysql wview-vpro-mysql \
diff --git a/packages/tasks/task-base.bb b/packages/tasks/task-base.bb
index ea76027335..8df6fa0450 100644
--- a/packages/tasks/task-base.bb
+++ b/packages/tasks/task-base.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r21"
+PR = "r22"
PACKAGES = "task-base \
task-base-oh-minimal \
@@ -227,6 +227,8 @@ task-base-irda-rrecommends = "\
${@base_contains("DISTRO_FEATURES", "ppp", "kernel-module-irnet", "",d)} \
kernel-module-irport \
kernel-module-irtty \
+ kernel-module-irtty-sir \
+ kernel-module-sir-dev \
${@base_contains("COMBINED_FEATURES", "usbhost", "kernel-module-ir-usb", "",d)} "
task-base-usbgadget-rrecommends = "\
diff --git a/packages/tasks/task-gpephone.bb b/packages/tasks/task-gpephone.bb
index e03886f0fd..a480a03b86 100644
--- a/packages/tasks/task-gpephone.bb
+++ b/packages/tasks/task-gpephone.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Task packages for GPE Palmtop Environment Phone Edition"
-PR = "r3"
+PR = "r4"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
@@ -67,7 +67,9 @@ RDEPENDS_gpephone-task-base := "\
pango-module-basic-x \
pango-module-basic-fc \
detect-stylus \
- libgtkinput \
+ ptim-manager \
+ ptim-helper \
+ ptim-engine \
${@base_contains("MACHINE_FEATURES", "touchscreen", "libgtkstylus xtscal", "",d)} \
"
diff --git a/packages/tasks/task-sdk-sbox.bb b/packages/tasks/task-sdk-sbox.bb
new file mode 100644
index 0000000000..3b1051f570
--- /dev/null
+++ b/packages/tasks/task-sdk-sbox.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "SDK task for Scratchbox rootstraps"
+PR = "r5"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+RDEPENDS := "\
+ strace \
+ gdb \
+ sbrsh \
+ fakeroot \
+ ipkg \
+ "
diff --git a/packages/tasks/task-sdk.bb b/packages/tasks/task-sdk.bb
index 7039077516..cc2ec0860e 100644
--- a/packages/tasks/task-sdk.bb
+++ b/packages/tasks/task-sdk.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "SDK packages"
-PR = "r6"
+PR = "r7"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
@@ -20,47 +20,8 @@ RDEPENDS_task-sdk-base := "\
glibc \
glibc-dev \
libgcc1 \
- alsa-dev \
- audiofile-dev \
- bluez-libs-dev \
- dbus-dev \
- expat-dev \
- fontconfig-dev \
- freetype-dev \
- glib-2.0-dev \
- gstreamer-dev \
- libice-dev \
ipkg-dev \
- jpeg-dev \
- libapm-dev \
- alsa-lib-dev \
- libdisplaymigration-dev \
- libetpan-dev \
- libgcrypt-dev \
- libglade-dev \
- gnutls-dev \
- libgpg-error-dev \
- libidl-dev \
- libiw-dev \
- libmimedir-dev \
- libpcap-dev \
- libpixman-dev \
- libpng-dev \
- libschedule-dev \
- libsm-dev \
- libsoundgen-dev \
- libsoup-dev \
- libsvg-dev \
- libtododb-dev \
- libts-dev \
- libxml2-dev \
- ncurses-dev \
- openobex-dev \
- popt-dev \
- readline-dev \
- libsqlite-dev \
- zlib-dev \
- libxmu-dev"
+ "
RDEPENDS_task-sdk-x11 := "\
atk-dev \
diff --git a/packages/tzcode/tzcode-native_2007d.bb b/packages/tzcode/tzcode-native_2007e.bb
index 8e721d6d9a..8e721d6d9a 100644
--- a/packages/tzcode/tzcode-native_2007d.bb
+++ b/packages/tzcode/tzcode-native_2007e.bb
diff --git a/packages/tzdata/tzdata_2007d.bb b/packages/tzdata/tzdata_2007e.bb
index 46d941c269..46d941c269 100644
--- a/packages/tzdata/tzdata_2007d.bb
+++ b/packages/tzdata/tzdata_2007e.bb
diff --git a/packages/xserver-common/xserver-common_1.16.bb b/packages/xserver-common/xserver-common_1.16.bb
new file mode 100644
index 0000000000..48320ba006
--- /dev/null
+++ b/packages/xserver-common/xserver-common_1.16.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Common X11 scripts and support files"
+LICENSE = "GPL"
+SECTION = "x11"
+RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo"
+PR = "r2"
+
+PACKAGE_ARCH = "all"
+
+# we are using a gpe-style Makefile
+inherit gpe
+
+SRC_URI_append = " file://setDPI.sh \
+ file://xserver-imageon.patch;patch=1 \
+ file://calibrate-only-if-ts.patch;patch=1"
+
+do_install_append() {
+ install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi"
+}