summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Boor <florian.boor@kernelconcepts.de>2007-07-31 16:21:16 +0000
committerFlorian Boor <florian.boor@kernelconcepts.de>2007-07-31 16:21:16 +0000
commit2e61dfe7129ee23bc41ba1ada89eedf3245a16ca (patch)
tree7d0ad528141ab948a7afd6093e53c2c5f169b29a
parentf89fc38904e333aaa0ab588a741087b32564987d (diff)
parent0adc9ee1289b5437b6386a44060117a8a5207f01 (diff)
merge of '15b74f4a5710e603d60db9716cb6cb0619511ac7'
and '8961e177cdb0b701e3bb0304ec24d5c4a3947254'
-rw-r--r--classes/base.bbclass7
-rw-r--r--classes/openmoko-panel-plugin.bbclass2
-rw-r--r--conf/bitbake.conf1
-rw-r--r--conf/distro/include/openmoko-srcdate-now.inc18
-rw-r--r--conf/distro/include/openmoko.inc2
-rw-r--r--conf/distro/openmoko.conf4
-rwxr-xr-xcontrib/mtn2cl/mtn2cl.sh19
-rw-r--r--packages/file/file-native_4.21.bb2
-rw-r--r--packages/gnash/.mtn2git_empty (renamed from packages/libmikey/.mtn2git_empty)0
-rw-r--r--packages/gnash/gnash_0.8.0.bb79
-rw-r--r--packages/gsm/files/alive-start-if-interpreter-ready.patch39
-rw-r--r--packages/gsm/files/libgsmd-tool-fix.patch19
-rw-r--r--packages/gsm/files/mlbuf-in-gsmd-struct.patch102
-rw-r--r--packages/gsm/files/sms-hacks.patch820
-rw-r--r--packages/gsm/files/vendor-qc-v0.patch38
-rw-r--r--packages/gsm/libgsmd_svn.bb9
-rw-r--r--packages/images/openmoko-devel-image.bb2
-rw-r--r--packages/images/openmoko-image.bb1
-rw-r--r--packages/libmikey/libmikey0_svn.bb26
-rw-r--r--packages/libmnetutil/libmnetutil0_svn.bb25
-rw-r--r--packages/libmsip/libmsip0_svn.bb25
-rw-r--r--packages/minisip/libmikey_svn.bb17
-rw-r--r--packages/minisip/libmnetutil_svn.bb16
-rw-r--r--packages/minisip/libmsip_svn.bb16
-rw-r--r--packages/minisip/libmutil0_svn.bb (renamed from packages/libmutil/libmutil0_svn.bb)8
-rw-r--r--packages/minisip/minisip-video_svn.bb16
-rw-r--r--packages/minisip/minisip_svn.bb21
-rw-r--r--packages/nonworking/libmikey/.mtn2git_empty (renamed from packages/libmnetutil/.mtn2git_empty)0
-rw-r--r--packages/nonworking/libmikey/libmikey0_0.3.2.bb (renamed from packages/libmikey/libmikey0_0.3.2.bb)0
-rw-r--r--packages/nonworking/libmikey/libmikey_0.1a.bb (renamed from packages/libmikey/libmikey_0.1a.bb)0
-rw-r--r--packages/nonworking/libmnetutil/.mtn2git_empty (renamed from packages/libmsip/.mtn2git_empty)0
-rw-r--r--packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb (renamed from packages/libmnetutil/libmnetutil0_0.2.2.bb)0
-rw-r--r--packages/nonworking/libmsip/.mtn2git_empty0
-rw-r--r--packages/nonworking/libmsip/libmsip0_0.2.2.bb (renamed from packages/libmsip/libmsip0_0.2.2.bb)0
-rw-r--r--packages/nonworking/minisip/minisip_0.6.2.bb (renamed from packages/minisip/minisip_0.6.2.bb)0
-rw-r--r--packages/nonworking/minisip/minisip_1.0a.bb13
-rw-r--r--packages/nonworking/nylon/.mtn2git_empty0
-rw-r--r--packages/nonworking/nylon/simple-firewall.bb (renamed from packages/nylon/simple-firewall.bb)0
-rw-r--r--packages/nonworking/redboot-utils/.mtn2git_empty0
-rw-r--r--packages/nonworking/redboot-utils/fis_1.0.bb (renamed from packages/redboot-utils/fis_1.0.bb)0
-rw-r--r--packages/openmoko-base/openmoko-theme-standard_svn.bb4
-rw-r--r--packages/openmoko2/openmoko-feedreader2_svn.bb (renamed from packages/openmoko-apps/openmoko-rssreader_svn.bb)4
-rw-r--r--packages/openmoko2/openmoko-session2.bb10
-rwxr-xr-xpackages/openmoko2/openmoko-session2/etc/matchbox/session4
-rw-r--r--packages/openmoko2/openmoko-session2/matchbox-session24
-rw-r--r--packages/openmoko2/openmoko-theme-standard2_svn.bb6
-rw-r--r--packages/tasks/task-openmoko.bb54
47 files changed, 1159 insertions, 294 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index fec7622f18..5381d43e7b 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -892,6 +892,13 @@ python () {
base_after_parse(d)
}
+# Remove me when we switch to bitbake 1.8.8
+def base_get_srcrev(d):
+ import bb
+
+ if bb.fetch.get_srcrev:
+ return bb.fetch.get_srcrev(d)
+ return "NOT IMPLEMENTED"
# Patch handling
inherit patch
diff --git a/classes/openmoko-panel-plugin.bbclass b/classes/openmoko-panel-plugin.bbclass
index 4ef42b5015..6a22a92ac8 100644
--- a/classes/openmoko-panel-plugin.bbclass
+++ b/classes/openmoko-panel-plugin.bbclass
@@ -1,5 +1,5 @@
SECTION = "openmoko/panel-plugin"
-DEPENDS += "matchbox-panel-2"
+DEPENDS += "matchbox-panel-2 libmokopanelui2"
inherit openmoko2
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index e305dc3251..19910d32e7 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -365,6 +365,7 @@ UPDATECOMMAND = "ERROR, this must be a BitBake bug"
UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
SRCDATE = "${DATE}"
+SRCREV = "${@base_get_srcrev(d)}"
SRC_URI = "file://${FILE}"
diff --git a/conf/distro/include/openmoko-srcdate-now.inc b/conf/distro/include/openmoko-srcdate-now.inc
new file mode 100644
index 0000000000..7ca0768819
--- /dev/null
+++ b/conf/distro/include/openmoko-srcdate-now.inc
@@ -0,0 +1,18 @@
+# Warning! Builds unupgradable packages!
+
+# OpenMoko
+SRCDATE_libgsmd ?= "now"
+SRCDATE_libmokogsmd2 ?= "now"
+SRCDATE_libmokoui2 ?= "now"
+SRCDATE_libmokojournal2 ?= "now"
+SRCDATE_libmokopanelui2 ?= "now"
+SRCDATE_openmoko-today2 ?= "now"
+SRCDATE_openmoko-dialer2 ?= "now"
+SRCDATE_openmoko-contacts2 ?= "now"
+
+SRCDATE_openmoko-panel-battery ?= "now"
+SRCDATE_openmoko-panel-clock ?= "now"
+SRCDATE_openmoko-panel-gsm ?= "now"
+SRCDATE_openmoko-panel-usb ?= "now"
+SRCDATE_openmoko-panel-bt ?= "now"
+SRCDATE_openmoko-panel-gps ?= "now"
diff --git a/conf/distro/include/openmoko.inc b/conf/distro/include/openmoko.inc
index 457aa997dd..7c3c4a8f41 100644
--- a/conf/distro/include/openmoko.inc
+++ b/conf/distro/include/openmoko.inc
@@ -1,7 +1,7 @@
#
# Header
#
-DISTRO_NAME = "OpenMoKo"
+DISTRO_NAME = "OpenMoko"
#
# Naming schemes
diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf
index 1f46be09d6..bd4e2076ca 100644
--- a/conf/distro/openmoko.conf
+++ b/conf/distro/openmoko.conf
@@ -5,11 +5,13 @@
#-----------------------------------------------------------------------------
require conf/distro/angstrom-2007.1.conf
+require conf/distro/include/openmoko-srcdate-now.inc
+
#
# Header
#
-DISTRO_NAME = "OpenMoKo"
+DISTRO_NAME = "OpenMoko"
DISTRO_VERSION = ".dev-snapshot-${DATE}"
#DISTRO_TYPE = "release"
DISTRO_TYPE = "debug"
diff --git a/contrib/mtn2cl/mtn2cl.sh b/contrib/mtn2cl/mtn2cl.sh
index a6c042333f..f404def82d 100755
--- a/contrib/mtn2cl/mtn2cl.sh
+++ b/contrib/mtn2cl/mtn2cl.sh
@@ -1,9 +1,8 @@
#/bin/sh
-# This script takes the last 1000 revs and writes a ChangeLog
-
mkdir logs
+export LOGNAME=Changelog.`date -u "+%Y%m%d"`
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 \
@@ -17,9 +16,9 @@ done
cd logs
for i in * ; do \
- echo $i: >> ../ChangeLog
- cat $i >> ../ChangeLog
- echo >> ../ChangeLog
+ echo $i: >> ../${LOGNAME}
+ cat $i >> ../${LOGNAME}
+ echo >> ../${LOGNAME}
done
cd ..
@@ -30,13 +29,13 @@ wget "http://bugs.openembedded.org/buglist.cgi?bug_file_loc=&bug_file_loc_type=a
NEW_BUGS="`cat logs/new-bugs.csv | wc -l | tr -d " "`"
RESOLVED_BUGS="`cat logs/resolved-bugs.csv | wc -l | tr -d " "`"
-echo -e "\n\nBugs fixed:" >> ChangeLog
-cat logs/resolved-bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ChangeLog
+echo -e "\n\nBugs fixed:" >> ${LOGNAME}
+cat logs/resolved-bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ${LOGNAME}
-echo -e "\n\nBugs opened:" >> ChangeLog
-cat logs/new-bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ChangeLog
+echo -e "\n\nBugs opened:" >> ${LOGNAME}
+cat logs/new-bugs.csv | awk -F, '{print $1 " " $7 "\t " $8}' | sed s:\"::g >> ${LOGNAME}
-echo -e "\nIn total $NEW_BUGS bugs have been created and $RESOLVED_BUGS bugs were closed." >> ChangeLog
+echo -e "\nIn total $NEW_BUGS bugs have been created and $RESOLVED_BUGS bugs were closed." >> ${LOGNAME}
rm -Rf logs
diff --git a/packages/file/file-native_4.21.bb b/packages/file/file-native_4.21.bb
index 59535dd518..734891d18d 100644
--- a/packages/file/file-native_4.21.bb
+++ b/packages/file/file-native_4.21.bb
@@ -1,6 +1,6 @@
require file_${PV}.bb
inherit native
-DEPENDS = ""
+DEPENDS = "zlib-native"
PR = "r0"
SRC_URI += "file://native-fix.diff;patch=1"
diff --git a/packages/libmikey/.mtn2git_empty b/packages/gnash/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libmikey/.mtn2git_empty
+++ b/packages/gnash/.mtn2git_empty
diff --git a/packages/gnash/gnash_0.8.0.bb b/packages/gnash/gnash_0.8.0.bb
new file mode 100644
index 0000000000..197cea06b6
--- /dev/null
+++ b/packages/gnash/gnash_0.8.0.bb
@@ -0,0 +1,79 @@
+DESCRIPTION = "Gnash is a GNU Flash movie player that supports many SWF v7 features"
+
+LICENSE = "GPL-2"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+
+DEPENDS = "gtk+ cairo libxml2 libmad libsdl-mixer zlib boost jpeg pango curl"
+
+SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2"
+
+
+EXTRA_OECONF = "--enable-gui=gtk \
+ --enable-renderer=cairo \
+ --enable-media=none \
+ --disable-klash \
+ --enable-z \
+ --enable-jpeg \
+ --disable-glext \
+ --enable-Xft \
+ --enable-expat \
+ --enable-mad \
+ --enable-cairo \
+ --disable-plugin \
+ --disable-cygnal \
+ --with-boost-incl=${STAGING_INCDIR} \
+ --with-boost-lib=${STAGING_LIBDIR} \
+ --with-libxml-incl=${STAGING_INCDIR}/libxml2 \
+ --with-libxml-lib=${STAGING_LIBDIR} \
+ --with-glib-incl=${STAGING_INCDIR}/glib-2.0 \
+# --with-glib-lib=${STAGING_LIBDIR} \
+ --with-gtk2-incl=${STAGING_INCDIR}/gtk-2.0 \
+ --with-pango-incl=${STAGING_INCDIR}/pango-1.0 \
+# --with-pango-lib=${STAGING_LIBDIR} \
+ --with-sdl-incl=${STAGING_INCDIR}/SDL \
+ --with-atk-incl=${STAGING_INCDIR}/atk-1.0 \
+ --with-Xft-incl=${STAGING_INCDIR}/X11 \
+ --with-expat-incl=${STAGING_INCDIR} \
+ --with-mad-incl=${STAGING_INCDIR} \
+ --with-cairo-incl=${STAGING_INCDIR}/cairo \
+ --with-curl-incl=${STAGING_INCDIR} \
+ --with-curl-lib=${STAGING_LIBDIR} \
+ "
+
+inherit autotools pkgconfig
+
+LDFLAGS += " -L${STAGING_LIBDIR} -lcurl -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_signals -lboost_thread-mt "
+CFLAGS += " -I${STAGING_INCDIR} -I${STAGING_LIBDIR}/gtk-2.0/include/ "
+
+do_configure_append() {
+ for i in `find . -name Makefile` ; do
+ sed -i s:I/usr/include:I${STAGING_INCDIR}:g $i
+ done
+}
+
+
+PARALLEL_MAKE = ""
+
+do_compile() {
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'CFLAGS=${CFLAGS}' \
+ 'ZLIB_INCLUDE=${STAGING_INCDIR}' \
+ 'ZLIB_LIBS=${STAGING_LIBDIR}' \
+ 'PNG_INCLUDE=${STAGING_INCDIR}' \
+ 'PNG_LIBS=${STAGING_LIBDIR}'
+}
+
+
+PACKAGES =+ " libgnashamf libgnashbackend libgnashbase libgnashgeo libgnashgui libgnashplayer libgnashserver "
+
+FILES_libgnashamf = "${libdir}/libgnashamf-${PV}.so"
+FILES_libgnashbackend = "${libdir}/libgnashbackend-${PV}.so"
+FILES_libgnashbase = "${libdir}/libgnashbase-${PV}.so"
+FILES_libgnashgeo = "${libdir}/libgnashgeo-${PV}.so"
+FILES_libgnashgui = "${libdir}/libgnashgui-${PV}.so"
+FILES_libgnashplayer = "${libdir}/libgnashplayer-${PV}.so"
+FILES_libgnashserver = "${libdir}/libgnashserver-${PV}.so"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/gsm/files/alive-start-if-interpreter-ready.patch b/packages/gsm/files/alive-start-if-interpreter-ready.patch
deleted file mode 100644
index 20104d2e3f..0000000000
--- a/packages/gsm/files/alive-start-if-interpreter-ready.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Index: gsm/src/gsmd/atcmd.c
-===================================================================
---- gsm.orig/src/gsmd/atcmd.c 2007-06-03 13:24:44.000000000 +0200
-+++ gsm/src/gsmd/atcmd.c 2007-06-03 13:24:46.000000000 +0200
-@@ -185,6 +185,7 @@
- !strcmp(buf, "AT-Command Interpreter ready")) {
- g->interpreter_ready = 1;
- gsmd_initsettings(g);
-+ gmsd_alive_start(g);
- return 0;
- }
-
-Index: gsm/src/gsmd/gsmd.c
-===================================================================
---- gsm.orig/src/gsmd/gsmd.c 2007-06-03 13:22:02.000000000 +0200
-+++ gsm/src/gsmd/gsmd.c 2007-06-03 13:22:56.000000000 +0200
-@@ -128,7 +128,7 @@
- gsmd_timer_register(tmr);
- }
-
--static int gmsd_alive_start(struct gsmd *gsmd)
-+int gmsd_alive_start(struct gsmd *gsmd)
- {
- struct timeval tv;
-
-@@ -478,10 +478,11 @@
- /* select a vendor plugin */
- gsmd_vendor_plugin_find(&g);
-
-- if (g.interpreter_ready)
-+ if (g.interpreter_ready) {
- gsmd_initsettings(&g);
-
-- gmsd_alive_start(&g);
-+ gmsd_alive_start(&g);
-+ }
-
- gsmd_opname_init(&g);
-
diff --git a/packages/gsm/files/libgsmd-tool-fix.patch b/packages/gsm/files/libgsmd-tool-fix.patch
new file mode 100644
index 0000000000..8938f5a682
--- /dev/null
+++ b/packages/gsm/files/libgsmd-tool-fix.patch
@@ -0,0 +1,19 @@
+Index: gsm/src/util/atcmd.c
+===================================================================
+--- gsm.orig/src/util/atcmd.c 2007-07-31 11:44:32.000000000 +0200
++++ gsm/src/util/atcmd.c 2007-07-31 11:46:44.000000000 +0200
+@@ -91,9 +91,11 @@
+ continue;
+ }
+ printf("STR=`%s'\n", buf);
++
++ /* this is a synchronous call for a passthrough
++ * command */
++ lgsm_passthrough(lgsmh, buf, rbuf, &rlen);
++ printf("RSTR=`%s'\n", rbuf);
+ }
+- /* this is a synchronous call for a passthrough command */
+- lgsm_passthrough(lgsmh, buf, rbuf, &rlen);
+- printf("RSTR=`%s'\n", rbuf);
+ }
+ }
diff --git a/packages/gsm/files/mlbuf-in-gsmd-struct.patch b/packages/gsm/files/mlbuf-in-gsmd-struct.patch
new file mode 100644
index 0000000000..d46eae8bb3
--- /dev/null
+++ b/packages/gsm/files/mlbuf-in-gsmd-struct.patch
@@ -0,0 +1,102 @@
+Index: gsm/include/gsmd/gsmd.h
+===================================================================
+--- gsm.orig/include/gsmd/gsmd.h 2007-07-31 14:07:47.000000000 +0200
++++ gsm/include/gsmd/gsmd.h 2007-07-31 14:09:02.000000000 +0200
+@@ -74,6 +74,8 @@
+ struct gsmd_device_state dev_state;
+
+ struct llist_head operators; /* cached list of operator names */
++ unsigned int mlbuf_len;
++ unsigned char *mlbuf; /* ml_parse buffer */
+ };
+
+ struct gsmd_user {
+Index: gsm/src/gsmd/atcmd.c
+===================================================================
+--- gsm.orig/src/gsmd/atcmd.c 2007-07-31 14:06:49.000000000 +0200
++++ gsm/src/gsmd/atcmd.c 2007-07-31 14:12:33.000000000 +0200
+@@ -175,9 +175,7 @@
+ {
+ struct gsmd *g = ctx;
+ struct gsmd_atcmd *cmd = NULL;
+- static char mlbuf[MLPARSE_BUF_SIZE];
+ int rc = 0, final = 0;
+- int mlbuf_len;
+
+ DEBUGP("buf=`%s'(%d)\n", buf, len);
+
+@@ -273,15 +271,15 @@
+
+ /* it might be a multiline response, so if there's a previous
+ response, send out mlbuf and start afresh with an empty buffer */
+- if (mlbuf[0] != 0) {
++ if (g->mlbuf[0] != 0) {
+ if (!cmd->cb) {
+ gsmd_log(GSMD_NOTICE, "command without cb!!!\n");
+ } else {
+ DEBUGP("Calling cmd->cb()\n");
+- cmd->resp = mlbuf;
++ cmd->resp = g->mlbuf;
+ rc = cmd->cb(cmd, cmd->ctx, cmd->resp);
+ DEBUGP("Clearing mlbuf\n");
+- mlbuf[0] = 0;
++ g->mlbuf[0] = 0;
+ }
+ }
+
+@@ -334,16 +332,16 @@
+ /* we reach here, if we are at an information response that needs to be
+ * passed on */
+
+- if (mlbuf[0] == 0) {
++ if (g->mlbuf[0] == 0) {
+ DEBUGP("Filling mlbuf\n");
+- strncat(mlbuf, buf, sizeof(mlbuf)-1);
++ strncat(g->mlbuf, buf, MLPARSE_BUF_SIZE-1);
+ } else {
+ DEBUGP("Appending buf to mlbuf\n");
+- mlbuf_len = strlen(mlbuf);
+- if (mlbuf_len+1 < sizeof(mlbuf)) {
+- mlbuf[mlbuf_len] = '\n';
+- mlbuf[mlbuf_len+1] = '\0';
+- strncat(mlbuf, buf, sizeof(mlbuf)-mlbuf_len-2);
++ g->mlbuf_len = strlen(g->mlbuf);
++ if (g->mlbuf_len+1 < MLPARSE_BUF_SIZE) {
++ g->mlbuf[g->mlbuf_len] = '\n';
++ g->mlbuf[g->mlbuf_len+1] = '\0';
++ strncat(g->mlbuf, buf, MLPARSE_BUF_SIZE-g->mlbuf_len-2);
+ } else {
+ DEBUGP("response too big for mlbuf!!!\n");
+ return -EFBIG;
+@@ -365,13 +363,13 @@
+ } else {
+ DEBUGP("Calling final cmd->cb()\n");
+ /* send final result code if there is no information response in mlbuf */
+- if (mlbuf[0] == 0)
++ if (g->mlbuf[0] == 0)
+ cmd->resp = buf;
+ else
+- cmd->resp = mlbuf;
++ cmd->resp = g->mlbuf;
+ rc = cmd->cb(cmd, cmd->ctx, cmd->resp);
+ DEBUGP("Clearing mlbuf\n");
+- mlbuf[0] = 0;
++ g->mlbuf[0] = 0;
+ }
+
+ /* remove from list of currently executing cmds */
+Index: gsm/src/gsmd/gsmd.c
+===================================================================
+--- gsm.orig/src/gsmd/gsmd.c 2007-07-31 14:06:47.000000000 +0200
++++ gsm/src/gsmd/gsmd.c 2007-07-31 14:06:50.000000000 +0200
+@@ -300,6 +300,10 @@
+ {
+ INIT_LLIST_HEAD(&g->users);
+
++ g->mlbuf = talloc_array(gsmd_tallocs, unsigned char, MLPARSE_BUF_SIZE);
++ if (!g->mlbuf)
++ return -ENOMEM;
++
+ return 0;
+ }
+
diff --git a/packages/gsm/files/sms-hacks.patch b/packages/gsm/files/sms-hacks.patch
new file mode 100644
index 0000000000..ba248449af
--- /dev/null
+++ b/packages/gsm/files/sms-hacks.patch
@@ -0,0 +1,820 @@
+From 3e5832569d3b29a90b29b5d5ac0ffad4765bcff3 Mon Sep 17 00:00:00 2001
+From: Andrzej Zaborowski <balrog@zabor.org>
+Date: Fri, 6 Jul 2007 06:55:12 +0200
+Subject: [PATCH] SMS hacks 2
+
+---
+ include/gsmd/gsmd.h | 8 ++-
+ include/gsmd/usock.h | 35 ++++++++-
+ include/gsmd/vendorplugin.h | 2 +-
+ include/libgsmd/sms.h | 2 +-
+ src/gsmd/atcmd.c | 130 +++++++++++++++++++-------------
+ src/gsmd/sms_cb.c | 19 ++++-
+ src/gsmd/usock.c | 175 +++++++++++++++++++++++++++++++++++++-----
+ src/gsmd/vendor_ti.c | 2 +-
+ src/libgsmd/libgsmd_sms.c | 26 +++++--
+ 11 files changed, 320 insertions(+), 91 deletions(-)
+
+Index: gsm/include/gsmd/gsmd.h
+===================================================================
+--- gsm.orig/include/gsmd/gsmd.h 2007-07-31 14:09:02.000000000 +0200
++++ gsm/include/gsmd/gsmd.h 2007-07-31 14:23:32.000000000 +0200
+@@ -27,6 +27,7 @@
+ u_int32_t buflen;
+ u_int16_t id;
+ u_int8_t flags;
++ char *cur;
+ char buf[];
+ };
+
+@@ -36,6 +37,8 @@
+ LLPARSE_STATE_IDLE_LF, /* LF before response (V1) */
+ LLPARSE_STATE_RESULT, /* within result payload */
+ LLPARSE_STATE_RESULT_CR, /* CR after result */
++ LLPARSE_STATE_PROMPT, /* within a "> " prompt */
++ LLPARSE_STATE_PROMPT_SPC, /* a complete "> " prompt */
+ LLPARSE_STATE_ERROR, /* something went wrong */
+ /* ... idle again */
+ };
+@@ -52,6 +55,7 @@
+ unsigned int flags;
+ void *ctx;
+ int (*cb)(const char *buf, int len, void *ctx);
++ int (*prompt_cb)(void *ctx);
+ char *cur;
+ char buf[LLPARSE_BUF_SIZE];
+ };
+@@ -59,6 +63,7 @@
+ struct gsmd;
+
+ #define GSMD_FLAG_V0 0x0001 /* V0 responses to be expected from TA */
++#define GSMD_FLAG_SMS_FMT 0x0002 /* Use TEXT rather than PDU mode */
+
+ struct gsmd {
+ unsigned int flags;
+@@ -94,7 +99,8 @@
+
+ extern int gsmdlog_init(const char *path);
+ /* write a message to the daemons' logfile */
+-void __gsmd_log(int level, const char *file, int line, const char *function, const char *message, ...);
++void __gsmd_log(int level, const char *file, int line, const char *function, const char *message, ...)
++ __attribute__ ((__format__ (__printf__, 5, 6)));
+ /* macro for logging including filename and line number */
+ #define gsmd_log(level, format, args ...) \
+ __gsmd_log(level, __FILE__, __LINE__, __FUNCTION__, format, ## args)
+Index: gsm/include/gsmd/usock.h
+===================================================================
+--- gsm.orig/include/gsmd/usock.h 2007-07-31 13:58:37.000000000 +0200
++++ gsm/include/gsmd/usock.h 2007-07-31 14:23:32.000000000 +0200
+@@ -139,7 +139,7 @@
+ /* for SMS-SUBMIT, SMS-DELIVER */
+ enum gsmd_sms_tp_udhi {
+ GSMD_SMS_TP_UDHI_NO_HEADER = (0<<6),
+- GSMD_SMS_TP_UDHI_WTIH_HEADER = (1<<6),
++ GSMD_SMS_TP_UDHI_WITH_HEADER = (1<<6),
+ };
+
+ /* SMS delflg from 3GPP TS 07.05, Clause 3.5.4 */
+@@ -160,6 +160,34 @@
+ GSMD_PHONEBOOK_GET_SUPPORT = 6,
+ };
+
++/* Type-of-Address, Numbering Plan Identification field */
++enum gsmd_toa_npi {
++ GSMD_TOA_NPI_UNKNOWN = 0x0,
++ GSMD_TOA_NPI_ISDN = 0x1,
++ GSMD_TOA_NPI_DATA = 0x3,
++ GSMD_TOA_NPI_TELEX = 0x4,
++ GSMD_TOA_NPI_NATIONAL = 0x8,
++ GSMD_TOA_NPI_PRIVATE = 0x9,
++ GSMD_TOA_NPI_ERMES = 0xa,
++ GSMD_TOA_NPI_RESERVED = 0xf,
++};
++
++/* Type-of-Address, Type-of-Number field */
++enum gsmd_toa_ton {
++ GSMD_TOA_TON_UNKNOWN = (0<<4),
++ GSMD_TOA_TON_INTERNATIONAL = (1<<4),
++ GSMD_TOA_TON_NATIONAL = (2<<4),
++ GSMD_TOA_TON_NETWORK = (3<<4),
++ GSMD_TOA_TON_SUBSCRIBER = (4<<4),
++ GSMD_TOA_TON_ALPHANUMERIC = (5<<4),
++ GSMD_TOA_TON_ABBREVIATED = (6<<4),
++};
++
++/* Type-of-Address, bit 7 always 1 */
++enum gsmd_toa_reserved {
++ GSMD_TOA_RESERVED = (1<<7),
++};
++
+ /* Length from 3GPP TS 04.08, Clause 10.5.4.7 */
+
+ #define GSMD_ADDR_MAXLEN 32
+@@ -269,6 +297,11 @@
+ char user_data[140];
+ } __attribute__ ((packed));
+
++struct gsmd_sms_send {
++ struct gsmd_addr addr;
++ struct gsmd_sms payload;
++};
++
+ /* Refer to GSM 07.07 subclause 8.12 */
+ struct gsmd_phonebook_readrg {
+ u_int8_t index1;
+Index: gsm/include/gsmd/vendorplugin.h
+===================================================================
+--- gsm.orig/include/gsmd/vendorplugin.h 2007-07-31 13:58:38.000000000 +0200
++++ gsm/include/gsmd/vendorplugin.h 2007-07-31 14:23:32.000000000 +0200
+@@ -12,7 +12,7 @@
+ struct gsmd_vendor_plugin {
+ struct llist_head list;
+ unsigned char *name;
+- unsigned char *ext_chars;
++ char *ext_chars;
+ unsigned int num_unsolicit;
+ const struct gsmd_unsolicit *unsolicit;
+ int (*detect)(struct gsmd *g);
+Index: gsm/include/libgsmd/sms.h
+===================================================================
+--- gsm.orig/include/libgsmd/sms.h 2007-07-31 13:58:38.000000000 +0200
++++ gsm/include/libgsmd/sms.h 2007-07-31 14:23:32.000000000 +0200
+@@ -83,7 +83,7 @@
+ extern int lgsmd_sms_send(struct lgsm_handle *lh, const struct lgsm_sms *sms);
+
+ /* Write Message to Memory */
+-extern int lgsmd_sms_write(struct lgsm_handle *lh,
++extern int lgsmd_sms_write(struct lgsm_handle *lh,
+ const struct lgsm_sms_write *sms_write);
+
+ /* Packing of 7-bit characters, refer to GSM 03.38 subclause 6.1.2.1.1 */
+Index: gsm/src/gsmd/atcmd.c
+===================================================================
+--- gsm.orig/src/gsmd/atcmd.c 2007-07-31 14:13:00.000000000 +0200
++++ gsm/src/gsmd/atcmd.c 2007-07-31 14:23:32.000000000 +0200
+@@ -82,9 +82,12 @@
+
+ switch (llp->state) {
+ case LLPARSE_STATE_IDLE:
++ case LLPARSE_STATE_PROMPT_SPC:
+ if (llp->flags & LGSM_ATCMD_F_EXTENDED) {
+ if (byte == '\r')
+ llp->state = LLPARSE_STATE_IDLE_CR;
++ else if (byte == '>')
++ llp->state = LLPARSE_STATE_PROMPT;
+ else {
+ #ifdef STRICT
+ llp->state = LLPARSE_STATE_ERROR;
+@@ -108,6 +111,8 @@
+ /* can we really go directly into result_cr ? */
+ if (byte == '\r')
+ llp->state = LLPARSE_STATE_RESULT_CR;
++ else if (byte == '>')
++ llp->state = LLPARSE_STATE_PROMPT;
+ else {
+ llp->state = LLPARSE_STATE_RESULT;
+ ret = llparse_append(llp, byte);
+@@ -127,6 +132,16 @@
+ memset(llp->buf, 0, LLPARSE_BUF_SIZE);
+ }
+ break;
++ case LLPARSE_STATE_PROMPT:
++ if (byte == ' ')
++ llp->state = LLPARSE_STATE_PROMPT_SPC;
++ else {
++ /* this was not a real "> " prompt */
++ llparse_append(llp, '>');
++ ret = llparse_append(llp, byte);
++ llp->state = LLPARSE_STATE_RESULT;
++ }
++ break;
+ case LLPARSE_STATE_ERROR:
+ break;
+ }
+@@ -147,6 +162,10 @@
+ /* FIXME: what to do with return value ? */
+ llp->cb(llp->buf, llp->cur - llp->buf, llp->ctx);
+ }
++
++ /* if a full SMS-style prompt was received, poke the select */
++ if (llp->state == LLPARSE_STATE_PROMPT_SPC)
++ llp->prompt_cb(llp->ctx);
+ }
+
+ return 0;
+@@ -175,7 +194,7 @@
+ {
+ struct gsmd *g = ctx;
+ struct gsmd_atcmd *cmd = NULL;
+- int rc = 0, final = 0;
++ int rc = 0;
+
+ DEBUGP("buf=`%s'(%d)\n", buf, len);
+
+@@ -229,7 +248,6 @@
+ DEBUGP("error number %lu\n", err_nr);
+ if (cmd)
+ cmd->ret = err_nr;
+- final = 1;
+ goto final_cb;
+ }
+ if (!strncmp(buf+1, "CMS ERROR", 9)) {
+@@ -239,7 +257,6 @@
+ DEBUGP("error number %lu\n", err_nr);
+ if (cmd)
+ cmd->ret = err_nr;
+- final = 1;
+ goto final_cb;
+ }
+
+@@ -271,7 +288,7 @@
+
+ /* it might be a multiline response, so if there's a previous
+ response, send out mlbuf and start afresh with an empty buffer */
+- if (g->mlbuf[0] != 0) {
++ if (g->mlbuf_len) {
+ if (!cmd->cb) {
+ gsmd_log(GSMD_NOTICE, "command without cb!!!\n");
+ } else {
+@@ -279,8 +296,8 @@
+ cmd->resp = g->mlbuf;
+ rc = cmd->cb(cmd, cmd->ctx, cmd->resp);
+ DEBUGP("Clearing mlbuf\n");
+- g->mlbuf[0] = 0;
+ }
++ g->mlbuf_len = 0;
+ }
+
+ /* the current buf will be appended to mlbuf below */
+@@ -299,7 +316,6 @@
+ DEBUGP("unspecified error\n");
+ if (cmd)
+ cmd->ret = 4;
+- final = 1;
+ goto final_cb;
+ }
+
+@@ -308,7 +324,6 @@
+ /* Part of Case 'C' */
+ if (cmd)
+ cmd->ret = 0;
+- final = 1;
+ goto final_cb;
+ }
+
+@@ -317,14 +332,12 @@
+ if (!strncmp(buf, "NO CARRIER", 11) ||
+ ((g->flags & GSMD_FLAG_V0) && buf[0] == '3')) {
+ /* Part of Case 'D' */
+- final = 1;
+ goto final_cb;
+ }
+
+ if (!strncmp(buf, "BUSY", 4) ||
+ ((g->flags & GSMD_FLAG_V0) && buf[0] == '7')) {
+ /* Part of Case 'D' */
+- final = 1;
+ goto final_cb;
+ }
+ }
+@@ -332,21 +345,13 @@
+ /* we reach here, if we are at an information response that needs to be
+ * passed on */
+
+- if (g->mlbuf[0] == 0) {
+- DEBUGP("Filling mlbuf\n");
+- strncat(g->mlbuf, buf, MLPARSE_BUF_SIZE-1);
+- } else {
+- DEBUGP("Appending buf to mlbuf\n");
+- g->mlbuf_len = strlen(g->mlbuf);
+- if (g->mlbuf_len+1 < MLPARSE_BUF_SIZE) {
+- g->mlbuf[g->mlbuf_len] = '\n';
+- g->mlbuf[g->mlbuf_len+1] = '\0';
+- strncat(g->mlbuf, buf, MLPARSE_BUF_SIZE-g->mlbuf_len-2);
+- } else {
+- DEBUGP("response too big for mlbuf!!!\n");
+- return -EFBIG;
+- }
+- }
++ if (g->mlbuf_len)
++ g->mlbuf[g->mlbuf_len ++] = '\n';
++ DEBUGP("Appending buf to mlbuf\n");
++ if (len > MLPARSE_BUF_SIZE - g->mlbuf_len)
++ len = MLPARSE_BUF_SIZE - g->mlbuf_len;
++ memcpy(g->mlbuf + g->mlbuf_len, buf, len);
++ g->mlbuf_len += len;
+ return 0;
+
+ final_cb:
+@@ -363,13 +368,16 @@
+ } else {
+ DEBUGP("Calling final cmd->cb()\n");
+ /* send final result code if there is no information response in mlbuf */
+- if (g->mlbuf[0] == 0)
+- cmd->resp = buf;
+- else
++ if (g->mlbuf_len) {
+ cmd->resp = g->mlbuf;
++ g->mlbuf[g->mlbuf_len] = 0;
++ gsmd_log(GSMD_NOTICE,
++ "the text discarded is %s\n", buf);
++ } else
++ cmd->resp = buf;
+ rc = cmd->cb(cmd, cmd->ctx, cmd->resp);
+ DEBUGP("Clearing mlbuf\n");
+- g->mlbuf[0] = 0;
++ g->mlbuf_len = 0;
+ }
+
+ /* remove from list of currently executing cmds */
+@@ -382,7 +390,15 @@
+ g->gfd_uart.when |= GSMD_FD_WRITE;
+
+ return rc;
+-}
++}
++
++/* called when the modem asked for a new line of a multiline atcmd */
++static int atcmd_prompt(void *data)
++{
++ struct gsmd *g = data;
++
++ g->gfd_uart.when |= GSMD_FD_WRITE;
++}
+
+ /* callback to be called if [virtual] UART has some data for us */
+ static int atcmd_select_cb(int fd, unsigned int what, void *data)
+@@ -390,6 +406,7 @@
+ int len, rc;
+ static char rxbuf[1024];
+ struct gsmd *g = data;
++ char *cr;
+
+ if (what & GSMD_FD_READ) {
+ memset(rxbuf, 0, sizeof(rxbuf));
+@@ -413,8 +430,12 @@
+ 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);
+- rc = write(fd, pos->buf, strlen(pos->buf));
++ cr = strchr(pos->cur, '\n');
++ if (cr)
++ len = cr - pos->cur;
++ else
++ len = pos->buflen;
++ rc = write(fd, pos->cur, len);
+ if (rc == 0) {
+ gsmd_log(GSMD_ERROR, "write returns 0, aborting\n");
+ break;
+@@ -423,27 +444,32 @@
+ fd, rc);
+ return rc;
+ }
+- if (rc < len) {
+- gsmd_log(GSMD_FATAL, "short write!!! FIXME!\n");
+- exit(3);
+- }
++ if (cr && rc == len)
++ rc ++; /* Skip the \n */
++ pos->buflen -= rc;
++ pos->cur += rc;
+ write(fd, "\r", 1);
+- /* success: remove from global list of to-be-sent atcmds */
+- llist_del(&pos->list);
+- /* append to global list of executing atcmds */
+- llist_add_tail(&pos->list, &g->busy_atcmds);
++
++ if (!pos->buflen) {
++ /* success: remove from global list of
++ * to-be-sent atcmds */
++ llist_del(&pos->list);
++ /* append to global list of executing atcmds */
++ llist_add_tail(&pos->list, &g->busy_atcmds);
+
+ /* we only send one cmd at the moment */
+- g->gfd_uart.when &= ~GSMD_FD_WRITE;
+ break;
++ } else {
++ /* The write was short or the atcmd has more
++ * lines to send after a "> ". */
++ if (!(rc < len))
++ break;
++ }
+ }
+- }
+
+-#if 0
+- if (llist_empty(&g->pending_atcmds))
++ /* Either pending_atcmds is empty or a command has to wait */
+ g->gfd_uart.when &= ~GSMD_FD_WRITE;
+-#endif
+-
++ }
+
+ return 0;
+ }
+@@ -454,10 +480,10 @@
+ {
+ int buflen = strlen(cmd);
+ struct gsmd_atcmd *atcmd;
+-
++
+ if (rlen > buflen)
+ buflen = rlen;
+-
++
+ atcmd = talloc_size(__atcmd_ctx, sizeof(*atcmd)+ buflen);
+ if (!atcmd)
+ return NULL;
+@@ -468,6 +494,7 @@
+ atcmd->ret = -255;
+ atcmd->buflen = buflen;
+ atcmd->buf[buflen-1] = '\0';
++ atcmd->cur = atcmd->buf;
+ atcmd->cb = cb;
+ atcmd->resp = NULL;
+ strncpy(atcmd->buf, cmd, buflen-1);
+@@ -480,8 +507,9 @@
+ {
+ DEBUGP("submitting command `%s'\n", cmd->buf);
+
++ if (llist_empty(&g->pending_atcmds))
++ g->gfd_uart.when |= GSMD_FD_WRITE;
+ llist_add_tail(&cmd->list, &g->pending_atcmds);
+- g->gfd_uart.when |= GSMD_FD_WRITE;
+
+ return 0;
+ }
+@@ -517,9 +545,9 @@
+ g->llp.cur = g->llp.buf;
+ g->llp.len = sizeof(g->llp.buf);
+ g->llp.cb = &ml_parse;
++ g->llp.prompt_cb = &atcmd_prompt;
+ g->llp.ctx = g;
+ g->llp.flags = LGSM_ATCMD_F_EXTENDED;
+
+ return gsmd_register_fd(&g->gfd_uart);
+-}
+-
++}
+Index: gsm/src/gsmd/sms_cb.c
+===================================================================
+--- gsm.orig/src/gsmd/sms_cb.c 2007-07-31 13:58:37.000000000 +0200
++++ gsm/src/gsmd/sms_cb.c 2007-07-31 14:23:32.000000000 +0200
+@@ -91,9 +91,6 @@
+ if (!ucmd)
+ return -ENOMEM;
+
+-
+-
+-
+ ucmd->hdr.version = GSMD_PROTO_VERSION;
+ ucmd->hdr.msg_type = GSMD_MSG_SMS;
+ ucmd->hdr.msg_subtype = GSMD_SMS_GETMSG_STORAGE;
+@@ -188,14 +185,26 @@
+ int sms_cb_init(struct gsmd *gsmd)
+ {
+ struct gsmd_atcmd *atcmd;
++ char buffer[10];
+
+ atcmd = atcmd_fill("AT+CSMS=0", NULL, gu, 0);
+ if (!atcmd)
+ return -ENOMEM;
+ atcmd_submit(gsmd, atcmd);
+
+- /* Switch into "text mode" (Section 3.2.3) */
+- atcdm = atcmd_fill("AT+CMGF=1", 9, &sms_cb_init_cb, gu, 0);
++ /* If text mode, set the encoding */
++ if (gu->gsmd->flags & GSMD_FLAG_SMS_FMT) {
++ atcmd = atcmd_fill("AT+CSCS=\"IRA\"", 13, NULL, gu, 0);
++ if (!atcmd)
++ return -ENOMEM;
++ atcmd_submit(gsmd, atcmd);
++ }
++
++ /* Switch into desired mode (Section 3.2.3) */
++ snprintf(buffer, sizeof(buffer), "AT+CMGF=%i",
++ (gu->gsmd->flags & GSMD_FLAG_SMS_FMT) ?
++ GSMD_SMS_FMT_TEXT : GSMD_SMS_FMT_PDU);
++ atcmd = atcmd_fill(buffer, strlen(buffer), &sms_cb_init_cb, gu, 0);
+ if (!atcmd)
+ return -ENOMEM;
+
+Index: gsm/src/gsmd/usock.c
+===================================================================
+--- gsm.orig/src/gsmd/usock.c 2007-07-31 13:58:37.000000000 +0200
++++ gsm/src/gsmd/usock.c 2007-07-31 14:23:32.000000000 +0200
+@@ -75,7 +75,7 @@
+ ucmd->hdr.version = GSMD_PROTO_VERSION;
+ ucmd->hdr.msg_type = GSMD_MSG_PASSTHROUGH;
+ ucmd->hdr.msg_subtype = GSMD_PASSTHROUGH_RESP;
+- ucmd->hdr.len = strlen(resp)+1;
++ ucmd->hdr.len = rlen;
+ ucmd->hdr.id = cmd->id;
+ memcpy(ucmd->buf, resp, ucmd->hdr.len);
+
+@@ -100,7 +100,7 @@
+
+ static int usock_rcv_event(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, int len)
+ {
+- u_int32_t *evtmask = (u_int32_t *) ((char *)gph + sizeof(*gph), gph->id);
++ u_int32_t *evtmask = (u_int32_t *) ((char *)gph + sizeof(*gph));
+
+ if (len < sizeof(*gph) + sizeof(u_int32_t))
+ return -EINVAL;
+@@ -471,18 +471,15 @@
+
+ static int sms_send_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
+ {
+- struct gsmd_user *gu = ctx;
++ struct gsmd_user *gu = (struct gsmd_user *) ctx;
+ struct gsmd_ucmd *ucmd;
+-
+- ucmd = gsmd_ucmd_fill(strlen(resp)+1, GSMD_MSG_SMS,
+- GSMD_SMS_SEND, 0);
++
++ ucmd = gsmd_ucmd_fill(strlen(resp) + 1,
++ GSMD_MSG_SMS, GSMD_SMS_SEND, cmd->id);
+ if (!ucmd)
+ return -ENOMEM;
+-
+ strcpy(ucmd->buf, resp);
+-
+ usock_cmd_enqueue(ucmd, gu);
+-
+ return 0;
+ }
+
+@@ -520,34 +517,142 @@
+ return 0;
+ }
+
++int packing_7bit_character(char *src, char *dest)
++{
++ int i,j = 0;
++ unsigned char ch1, ch2;
++ char tmp[2];
++ int shift = 0;
++
++ *dest = '\0';
++
++ for ( i=0; i<strlen(src); i++ ) {
++
++ ch1 = src[i] & 0x7F;
++ ch1 = ch1 >> shift;
++ ch2 = src[(i+1)] & 0x7F;
++ ch2 = ch2 << (7-shift);
++
++ ch1 = ch1 | ch2;
++
++ j = strlen(dest);
++ sprintf(tmp, "%X", (ch1 >> 4));
++ dest[j++] = tmp[0];
++ sprintf(tmp, "%X", (ch1 & 0x0F));
++ dest[j++] = tmp[0];
++ dest[j++] = '\0';
++
++ shift++;
++
++ if ( 7 == shift ) {
++ shift = 0;
++ i++;
++ }
++ }
++
++ return 0;
++}
++
++/* Refer to GSM 03.40 subclause 9.2.3.3, for SMS-SUBMIT */
++static int usock_pdu_make_smssubmit(char *dest, struct gsmd_sms_send *src)
++{
++ u_int8_t header[10 + GSMD_ADDR_MAXLEN];
++ int pos = 0, i, coding7bit = 1;
++
++ /* (Should be optional but some modems require it) SMSC Length octet
++ * is prepended. If omitted or zero, use SMSC stored in the phone. */
++ header[pos ++] = 0x00;
++
++ header[pos ++] =
++ GSMD_SMS_TP_MTI_SUBMIT |
++ (0 << 2) | /* Reject Duplicates: 0 */
++ GSMD_SMS_TP_VPF_NOT_PRESENT |
++ GSMD_SMS_TP_SRR_NOT_REQUEST |
++ GSMD_SMS_TP_UDHI_NO_HEADER |
++ GSMD_SMS_TP_RP_NOT_SET;
++
++ /* TP-Message-Reference - 00 lets the phone set the number itself */
++ header[pos ++] = 0x00;
++
++ header[pos ++] = strlen(src->addr.number);
++ header[pos ++] = src->addr.type;
++ for (i = 0; src->addr.number[i]; i ++) {
++ header[pos] = src->addr.number[i ++] - '0';
++ if (src->addr.number[i])
++ header[pos ++] |= (src->addr.number[i] - '0') << 4;
++ else {
++ header[pos ++] |= 0xf0;
++ break;
++ }
++ }
++
++ /* TP-Protocol-Identifier - 00 means implicit */
++ header[pos ++] = 0x00;
++
++ /* TP-Data-Coding-Scheme - 00 for 7-bit default alphabet */
++ header[pos ++] = coding7bit ? 0x00 : 0x04;
++
++ /* TP-Validity-Period, if present, would go here */
++
++ header[pos ++] = src->payload.length;
++
++ if (dest) {
++ for (i = 0; i < pos; i ++) {
++ sprintf(dest, "%02X", header[i]);
++ dest += 2;
++ }
++ if (coding7bit)
++ packing_7bit_character(src->payload.data, dest);
++ else
++ for (i = 0; i < src->payload.length; i ++) {
++ sprintf(dest, "%02X", src->payload.data[i]);
++ dest += 2;
++ }
++ }
++
++ if (coding7bit)
++ return ((src->payload.length * 7 + 7) >> 3) + pos;
++ else
++ return src->payload.length + pos;
++}
++
++static const char *gsmd_cmgl_stat[] = {
++ "REC UNREAD", "REC READ", "STO UNSENT", "STO SENT", "ALL",
++};
++
+ static int usock_rcv_sms(struct gsmd_user *gu, struct gsmd_msg_hdr *gph,
+ int len)
+ {
+ /* FIXME: TEXT mode support!! */
+ struct gsmd_atcmd *cmd = NULL;
+ struct gsmd_sms_delete *gsd;
+- struct gsmd_sms *gs;
++ struct gsmd_sms_send *gss;
+ struct gsmd_sms_write *gsw;
+ int *stat, *index;
+ int atcmd_len;
+ char buf[1024];
+-
++
+ switch (gph->msg_subtype) {
+ case GSMD_SMS_LIST:
+ /* FIXME: only support PDU mode!! */
+ if(len < sizeof(*gph) + sizeof(int))
+ return -EINVAL;
+- stat = (int *) ((void *)gph + sizeof(*gph));
++ stat = (int *) ((void *)gph + sizeof(*gph));
++ if (*stat < 0 || *stat > 4)
++ return -EINVAL;
+
+- sprintf(buf, "%d", *stat);
+-
+- atcmd_len = 1 + strlen("AT+CMGL=") + strlen(buf);
+- cmd = atcmd_fill("AT+CMGL=", atcmd_len,
+- &sms_list_cb, gu, gph->id);
++ if (gu->gsmd->flags & GSMD_FLAG_SMS_FMT)
++ atcmd_len = sprintf(buf, "AT+CMGL=\"%s\"",
++ gsmd_cmgl_stat[*stat]);
++ else
++ atcmd_len = sprintf(buf, "AT+CMGL=%i", *stat);
++
++ cmd = atcmd_fill(buf, atcmd_len + 1,
++ &sms_list_cb, gu, gph->id);
+ if (!cmd)
+ return -ENOMEM;
+- sprintf(cmd->buf, "AT+CMGL=%s", buf);
+ break;
++
+ case GSMD_SMS_READ:
+ /* FIXME: only support PDU mode!! */
+ if(len < sizeof(*gph) + sizeof(int))
+@@ -563,6 +668,34 @@
+ return -ENOMEM;
+ sprintf(cmd->buf, "AT+CMGR=%s", buf);
+ break;
++
++ case GSMD_SMS_SEND:
++ if (len < sizeof(*gph) + sizeof(*gss))
++ return -EINVAL;
++ gss = (struct gsmd_sms_send *) ((void *) gph + sizeof(*gph));
++
++ if (gu->gsmd->flags & GSMD_FLAG_SMS_FMT) {
++ atcmd_len = sprintf(buf, "AT+CMGS=\"%s\"\n%.*s",
++ gss->addr.number,
++ gss->payload.length,
++ gss->payload.data);
++ } else {
++ atcmd_len = sprintf(buf, "AT+CMGS=%i\n",
++ usock_pdu_make_smssubmit(NULL,
++ gss) - 1);
++ atcmd_len += usock_pdu_make_smssubmit(buf + atcmd_len,
++ gss) * 2;
++ }
++ buf[atcmd_len ++] = 26; /* ^Z ends the message */
++ buf[atcmd_len ++] = 0;
++
++ cmd = atcmd_fill(buf, atcmd_len, &sms_send_cb, gu, gph->id);
++ if (!cmd)
++ return -ENOMEM;
++ break;
++ case GSMD_SMS_WRITE:
++ gsmd_log(GSMD_DEBUG, "sms write\n");
++ break;
+ #if 0
+ case GSMD_SMS_SEND:
+ /* FIXME: only support PDU mode!! */
+@@ -610,8 +743,8 @@
+ default:
+ return -EINVAL;
+ }
+-
+- gsmd_log(GSMD_DEBUG, "%s\n", cmd->buf);
++
++ gsmd_log(GSMD_DEBUG, "%s\n", cmd ? cmd->buf : 0);
+ if (cmd)
+ return atcmd_submit(gu->gsmd, cmd);
+ else
+@@ -867,7 +1000,7 @@
+ [GSMD_MSG_PIN] = &usock_rcv_pin,
+ [GSMD_MSG_PHONE] = &usock_rcv_phone,
+ [GSMD_MSG_NETWORK] = &usock_rcv_network,
+- [GSMD_MSG_SMS] = &usock_rcv_sms,
++ [GSMD_MSG_SMS] = &usock_rcv_sms,
+ //[GSMD_MSG_PHONEBOOK] = &usock_rcv_phonebook,
+ };
+
+Index: gsm/src/gsmd/vendor_ti.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_ti.c 2007-07-31 13:58:37.000000000 +0200
++++ gsm/src/gsmd/vendor_ti.c 2007-07-31 14:23:32.000000000 +0200
+@@ -277,7 +277,7 @@
+
+ static int ticalypso_initsettings(struct gsmd *g)
+ {
+- int rc;
++ int rc = 0;
+ struct gsmd_atcmd *cmd;
+
+ /* use +CTZR: to report time zone changes */
+Index: gsm/src/libgsmd/libgsmd_sms.c
+===================================================================
+--- gsm.orig/src/libgsmd/libgsmd_sms.c 2007-07-31 13:58:37.000000000 +0200
++++ gsm/src/libgsmd/libgsmd_sms.c 2007-07-31 14:23:32.000000000 +0200
+@@ -83,19 +83,33 @@
+ return 0;
+ }
+
+-int lgsmd_sms_send(struct lgsm_handle *lh,
+- const struct lgsm_sms *sms)
++#ifndef MIN
++# define MIN(a,b) (((a) < (b)) ? (a) : (b))
++#endif
++
++int lgsmd_sms_send(struct lgsm_handle *lh,
++ const struct lgsm_sms *sms)
+ {
+ /* FIXME: only support PDU mode */
+ struct gsmd_msg_hdr *gmh;
+- struct gsmd_sms *gs;
++ struct gsmd_sms_send *gss;
+ int rc;
+
+ gmh = lgsm_gmh_fill(GSMD_MSG_SMS,
+- GSMD_SMS_SEND, sizeof(*gs));
++ GSMD_SMS_SEND, sizeof(*gss));
+ if (!gmh)
+ return -ENOMEM;
+- gs = (struct gsmd_sms *) gmh->data;
++ gss = (struct gsmd_sms_send *) gmh->data;
++
++ gss->addr.type =
++ GSMD_TOA_NPI_ISDN |
++ GSMD_TOA_TON_UNKNOWN |
++ GSMD_TOA_RESERVED;
++ strncpy(gss->addr.number, sms->addr, sizeof(gss->addr.number));
++
++ gss->payload.length =
++ MIN(strlen(sms->data), sizeof(gss->payload.data));
++ memcpy(gss->payload.data, sms->data, gss->payload.length);
+
+ rc = lgsm_send(lh, gmh);
+ if (rc < gmh->len + sizeof(*gmh)) {
+@@ -108,7 +122,7 @@
+ return 0;
+ }
+
+-int lgsmd_sms_write(struct lgsm_handle *lh,
++int lgsmd_sms_write(struct lgsm_handle *lh,
+ const struct lgsm_sms_write *sms_write)
+ {
+ /* FIXME: only support PDU mode */
diff --git a/packages/gsm/files/vendor-qc-v0.patch b/packages/gsm/files/vendor-qc-v0.patch
deleted file mode 100644
index 8306f8a66e..0000000000
--- a/packages/gsm/files/vendor-qc-v0.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Index: gsm/src/gsmd/vendor_qc.c
-===================================================================
---- gsm.orig/src/gsmd/vendor_qc.c 2007-06-13 20:13:47.000000000 +0200
-+++ gsm/src/gsmd/vendor_qc.c 2007-06-13 20:45:19.000000000 +0200
-@@ -81,6 +88,9 @@
- {
- /* FIXME: do actual detection of vendor if we have multiple vendors */
- /* open /proc/cpuinfo and check for HTC Universal? */
-+
-+ /* The Qualcomm chip starts in V0 mode */
-+ g->flags |= GSMD_FLAG_V0;
- return 1;
- }
-
-Index: gsm/src/gsmd/gsmd.c
-===================================================================
---- gsm.orig/src/gsmd/gsmd.c 2007-06-13 20:13:47.000000000 +0200
-+++ gsm/src/gsmd/gsmd.c 2007-06-13 20:49:54.000000000 +0200
-@@ -62,7 +62,8 @@
- {
- struct gsmd_alive_priv *alp = ctx;
-
-- if (!strcmp(resp, "OK"))
-+ if (!strcmp(resp, "OK") ||
-+ ((alp->gsmd->flags & GSMD_FLAG_V0) && resp[0] == '0'))
- alp->alive_responded = 1;
- return 0;
- }
-@@ -201,7 +202,8 @@
- {
- struct gsmd *gsmd = ctx;
-
-- if (strcmp(resp, "OK")) {
-+ if (strcmp(resp, "OK") &&
-+ (!(gsmd->flags & GSMD_FLAG_V0) || resp[0] != '0')) {
- gsmd_log(GSMD_FATAL, "response '%s' to initial command invalid", resp);
- exit(5);
- }
diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb
index 7fc54a5afb..2fd047de76 100644
--- a/packages/gsm/libgsmd_svn.bb
+++ b/packages/gsm/libgsmd_svn.bb
@@ -4,17 +4,18 @@ LICENSE = "GPL"
SECTION = "libs/gsm"
PROVIDES += "gsmd"
PV = "0.0+svn${SRCDATE}"
-PR = "r14"
+PR = "r15"
SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
file://gsmd \
file://default \
file://extreplychars.patch;patch=1 \
file://getopt-wait-interpreter-ready.patch;patch=1 \
- file://alive-start-if-interpreter-ready.patch;patch=1 \
file://tihtc-csq-fix.patch;patch=1 \
- file://vendor-qc-v0.patch;patch=1 \
- file://universal-wcdma.patch;patch=1"
+ file://universal-wcdma.patch;patch=1 \
+ file://mlbuf-in-gsmd-struct.patch;patch=1 \
+ file://libgsmd-tool-fix.patch;patch=1 \
+ file://sms-hacks.patch;patch=1"
S = "${WORKDIR}/gsm"
diff --git a/packages/images/openmoko-devel-image.bb b/packages/images/openmoko-devel-image.bb
index 56890b5c34..9c72533f8d 100644
--- a/packages/images/openmoko-devel-image.bb
+++ b/packages/images/openmoko-devel-image.bb
@@ -1,7 +1,5 @@
require openmoko-image.bb
export PACKAGE_INSTALL += "\
- task-openmoko-demo \
task-openmoko-debug \
- task-openmoko-examples \
"
diff --git a/packages/images/openmoko-image.bb b/packages/images/openmoko-image.bb
index 632963076c..0f1359fb19 100644
--- a/packages/images/openmoko-image.bb
+++ b/packages/images/openmoko-image.bb
@@ -14,7 +14,6 @@ export PACKAGE_INSTALL = "\
task-openmoko-phone \
task-openmoko-finger \
task-openmoko-pim \
- task-openmoko-demo \
"
DEPENDS = "\
diff --git a/packages/libmikey/libmikey0_svn.bb b/packages/libmikey/libmikey0_svn.bb
deleted file mode 100644
index 663b639b3d..0000000000
--- a/packages/libmikey/libmikey0_svn.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-PV = "0.3.2+svn${SRCDATE}"
-LICENSE = "LGPL"
-
-DESCRIPTION = "C++ implementation of the Multimedia Internet KEYing (RFC3830)"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "libmutil0 openssl"
-DEFAULT_PREFERENCE = "-1"
-
-
-inherit autotools
-
-SRC_URI = "svn://svn.minisip.org/var/svn/minisip/trunk;module=libmikey"
-S = "${WORKDIR}/libmikey"
-
-
-PACKAGES = "${PN}"
-
-FILES_${PN} = " ${libdir}/libmikey.so.0 ${libdir}/libmikey.so.0.0.0 "
-
-do_stage() {
- oe_libinstall -a -so libmikey ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmikey
- install -m 0644 ${S}/include/libmikey/* ${STAGING_INCDIR}/libmikey
-}
diff --git a/packages/libmnetutil/libmnetutil0_svn.bb b/packages/libmnetutil/libmnetutil0_svn.bb
deleted file mode 100644
index a8e156bc13..0000000000
--- a/packages/libmnetutil/libmnetutil0_svn.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-PV = "0.2.2+svn${SRCDATE}"
-LICENSE = "LGPL"
-
-DESCRIPTION = "Networking class library for C++ programming"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "libmutil0 openssl"
-DEFAULT_PREFERENCE = "-1"
-
-inherit autotools
-
-SRC_URI = "svn://svn.minisip.org/var/svn/minisip/trunk;module=libmnetutil"
-S="${WORKDIR}/libmnetutil"
-
-
-PACKAGES = "${PN}"
-
-FILES_${PN} = " ${libdir}/libmnetutil.so.0 ${libdir}/libmnetutil.so.0.0.0 "
-
-do_stage() {
- oe_libinstall -a -so libmnetutil ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmnetutil
- install -m 0644 ${S}/include/libmnetutil/* ${STAGING_INCDIR}/libmnetutil
-}
diff --git a/packages/libmsip/libmsip0_svn.bb b/packages/libmsip/libmsip0_svn.bb
deleted file mode 100644
index 4418757ba2..0000000000
--- a/packages/libmsip/libmsip0_svn.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-PV = "0.2.2+svn${SRCDATE}"
-LICENSE = "LGPL"
-
-DESCRIPTION = "C++ implementation Session Initiation Protocol (RFC3261)"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "libmnetutil0 libmutil0"
-DEFAULT_PREFERENCE = "-1"
-
-inherit autotools
-
-SRC_URI = "svn://svn.minisip.org/var/svn/minisip/trunk;module=libmsip"
-S="${WORKDIR}/libmsip"
-
-
-PACKAGES = "${PN}"
-
-FILES_${PN} = " ${libdir}/libmsip.so.0 ${libdir}/libmsip.so.0.0.0 "
-
-do_stage() {
- oe_libinstall -a -so libmsip ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmsip
- install -m 0644 ${S}/include/libmsip/* ${STAGING_INCDIR}/libmsip
-}
diff --git a/packages/minisip/libmikey_svn.bb b/packages/minisip/libmikey_svn.bb
new file mode 100644
index 0000000000..c51e466f9c
--- /dev/null
+++ b/packages/minisip/libmikey_svn.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "C++ implementation of the Multimedia Internet KEYing (RFC3830)"
+HOMEPAGE = "http://www.minisip.org"
+SECTION = "libs/network"
+PRIORITY = "optional"
+DEPENDS = "libmutil0 openssl"
+PV = "0.3.2+svn${SRCDATE}"
+LICENSE = "LGPL"
+
+inherit autotools
+
+SRC_URI = "svn://svn.minisip.org/minisip/trunk;module=libmikey"
+S = "${WORKDIR}/libmikey"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/minisip/libmnetutil_svn.bb b/packages/minisip/libmnetutil_svn.bb
new file mode 100644
index 0000000000..a2a60ba930
--- /dev/null
+++ b/packages/minisip/libmnetutil_svn.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Networking class library for C++ programming"
+HOMEPAGE = "http://www.minisip.org"
+SECTION = "libs/network"
+PRIORITY = "optional"
+DEPENDS = "libmutil0 openssl"
+PV = "0.2.2+svn${SRCDATE}"
+LICENSE = "LGPL"
+
+inherit autotools
+
+SRC_URI = "svn://svn.minisip.org/minisip/trunk;module=libmnetutil"
+S = "${WORKDIR}/libmnetutil"
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/packages/minisip/libmsip_svn.bb b/packages/minisip/libmsip_svn.bb
new file mode 100644
index 0000000000..747cc49f0e
--- /dev/null
+++ b/packages/minisip/libmsip_svn.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "C++ implementation Session Initiation Protocol (RFC3261)"
+HOMEPAGE = "http://www.minisip.org"
+SECTION = "libs/network"
+PRIORITY = "optional"
+DEPENDS = "libmnetutil0 libmutil0"
+PV = "0.2.2+svn${SRCDATE}"
+LICENSE = "LGPL"
+
+inherit autotools
+
+SRC_URI = "svn://svn.minisip.org/minisip/trunk;module=libmsip"
+S = "${WORKDIR}/libmsip"
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/packages/libmutil/libmutil0_svn.bb b/packages/minisip/libmutil0_svn.bb
index 8766d623e3..a7a20bdf00 100644
--- a/packages/libmutil/libmutil0_svn.bb
+++ b/packages/minisip/libmutil0_svn.bb
@@ -1,10 +1,9 @@
DESCRIPTION = "Class library implementing utilities for C++ programming"
+HOMEPAGE = "http://www.minisip.org"
LICENSE = "LGPL"
SECTION = "libs"
PRIORITY = "optional"
-
DEPENDS = "openssl"
-
PV = "0.3.1+svn${SRCDATE}"
inherit autotools lib_package
@@ -13,8 +12,5 @@ SRC_URI = "svn://svn.minisip.org/minisip/trunk;module=libmutil"
S = "${WORKDIR}/libmutil"
do_stage() {
- oe_libinstall -a -so libmutil ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmutil
- install -m 0644 ${S}/include/libmutil/* ${STAGING_INCDIR}/libmutil
+ autotools_stage_all
}
diff --git a/packages/minisip/minisip-video_svn.bb b/packages/minisip/minisip-video_svn.bb
index 136f09e156..137f29f2d8 100644
--- a/packages/minisip/minisip-video_svn.bb
+++ b/packages/minisip/minisip-video_svn.bb
@@ -1,18 +1,13 @@
-PV = "0.6.2+svn${SRCDATE}"
+DESCRIPTION = "SIP user agent, with focus on security - video support"
LICENSE = "GPL"
SECTION = "x11/utils"
-PR = "r0"
+DEPENDS = "libsdl-x11 ffmpeg-0.4.9-pre1+cvs${SRCDATE} libglademm libmsip0 libmikey0"
CONFLICTS = "minisip"
+PV = "0.6.2+svn${SRCDATE}"
-DESCRIPTION = "SIP user agent, with focus on security - video support"
-DEPENDS = "libsdl-x11 ffmpeg-0.4.9-pre1+cvs${SRCDATE} libglademm libmsip0 libmikey0"
-SRC_URI = "svn://svn.minisip.org/var/svn/minisip/trunk;module=minisip"
+SRC_URI = "svn://svn.minisip.org/minisip/trunk;module=minisip"
S = "${WORKDIR}/minisip"
-
-
-FILES_${PN} += "${datadir}/minisip"
-
inherit autotools
EXTRA_OECONF = "--enable-ipaq --enable-video --with-avcodec=${STAGING_INCDIR}/ffmpeg"
@@ -23,3 +18,6 @@ do_install_append () {
install -m 0644 share/minisip.png ${D}${datadir}/pixmaps/minisip.png
install -m 0644 share/minisip.desktop ${D}${datadir}/applications/minisip.desktop
}
+
+FILES_${PN} += "${datadir}/minisip"
+
diff --git a/packages/minisip/minisip_svn.bb b/packages/minisip/minisip_svn.bb
index 6928387ad0..9e9d426d84 100644
--- a/packages/minisip/minisip_svn.bb
+++ b/packages/minisip/minisip_svn.bb
@@ -1,28 +1,23 @@
-PV = "0.6.2+svn${SRCDATE}"
+DESCRIPTION = "SIP user agent, with focus on security"
+HOMEPAGE = "http://www.minisip.org"
+DEPENDS = "libglademm libmsip0 libmikey0"
LICENSE = "GPL"
SECTION = "x11/utils"
-PR = "r0"
+PV = "0.6.2+svn${SRCDATE}"
-DESCRIPTION = "SIP user agent, with focus on security"
-DEPENDS = "libglademm libmsip0 libmikey0"
-SRC_URI = "svn://svn.minisip.org/var/svn/minisip/trunk;module=minisip"
+SRC_URI = "svn://svn.minisip.org/minisip/trunk;module=minisip"
S = "${WORKDIR}/${PN}"
-DEFAULT_PREFERENCE="-1"
-
-FILES_${PN} += "${datadir}/minisip"
-
inherit autotools
EXTRA_OECONF = "--enable-ipaq"
-# do_configure_prepend() {
-# ./bootstrap
-#}
-
do_install_append () {
install -d ${D}${datadir}/pixmaps
install -d ${D}${datadir}/applications
install -m 0644 share/minisip.png ${D}${datadir}/pixmaps/minisip.png
install -m 0644 share/minisip.desktop ${D}${datadir}/applications/minisip.desktop
}
+
+FILES_${PN} += "${datadir}/minisip"
+
diff --git a/packages/libmnetutil/.mtn2git_empty b/packages/nonworking/libmikey/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libmnetutil/.mtn2git_empty
+++ b/packages/nonworking/libmikey/.mtn2git_empty
diff --git a/packages/libmikey/libmikey0_0.3.2.bb b/packages/nonworking/libmikey/libmikey0_0.3.2.bb
index 214faef40f..214faef40f 100644
--- a/packages/libmikey/libmikey0_0.3.2.bb
+++ b/packages/nonworking/libmikey/libmikey0_0.3.2.bb
diff --git a/packages/libmikey/libmikey_0.1a.bb b/packages/nonworking/libmikey/libmikey_0.1a.bb
index e00ce25594..e00ce25594 100644
--- a/packages/libmikey/libmikey_0.1a.bb
+++ b/packages/nonworking/libmikey/libmikey_0.1a.bb
diff --git a/packages/libmsip/.mtn2git_empty b/packages/nonworking/libmnetutil/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libmsip/.mtn2git_empty
+++ b/packages/nonworking/libmnetutil/.mtn2git_empty
diff --git a/packages/libmnetutil/libmnetutil0_0.2.2.bb b/packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb
index a7866b35ec..a7866b35ec 100644
--- a/packages/libmnetutil/libmnetutil0_0.2.2.bb
+++ b/packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb
diff --git a/packages/nonworking/libmsip/.mtn2git_empty b/packages/nonworking/libmsip/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/libmsip/.mtn2git_empty
diff --git a/packages/libmsip/libmsip0_0.2.2.bb b/packages/nonworking/libmsip/libmsip0_0.2.2.bb
index 8d8bb905db..8d8bb905db 100644
--- a/packages/libmsip/libmsip0_0.2.2.bb
+++ b/packages/nonworking/libmsip/libmsip0_0.2.2.bb
diff --git a/packages/minisip/minisip_0.6.2.bb b/packages/nonworking/minisip/minisip_0.6.2.bb
index b85007deef..b85007deef 100644
--- a/packages/minisip/minisip_0.6.2.bb
+++ b/packages/nonworking/minisip/minisip_0.6.2.bb
diff --git a/packages/nonworking/minisip/minisip_1.0a.bb b/packages/nonworking/minisip/minisip_1.0a.bb
deleted file mode 100644
index 14ce425b0e..0000000000
--- a/packages/nonworking/minisip/minisip_1.0a.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "Minisip is a SIP User Agent"
-SECTION = "opie/network"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "libmikey libopie1"
-
-SRC_URI = "http://minisip.org/source/minisip-0.1a.tar.gz"
-S = "${WORKDIR}/minisip-0.1"
-
-inherit autotools
-
-EXTRA_OECONF = "--enable-qte --enable-opie"
-
diff --git a/packages/nonworking/nylon/.mtn2git_empty b/packages/nonworking/nylon/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/nylon/.mtn2git_empty
diff --git a/packages/nylon/simple-firewall.bb b/packages/nonworking/nylon/simple-firewall.bb
index fc7c3de6a3..fc7c3de6a3 100644
--- a/packages/nylon/simple-firewall.bb
+++ b/packages/nonworking/nylon/simple-firewall.bb
diff --git a/packages/nonworking/redboot-utils/.mtn2git_empty b/packages/nonworking/redboot-utils/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nonworking/redboot-utils/.mtn2git_empty
diff --git a/packages/redboot-utils/fis_1.0.bb b/packages/nonworking/redboot-utils/fis_1.0.bb
index d1170b6ba8..d1170b6ba8 100644
--- a/packages/redboot-utils/fis_1.0.bb
+++ b/packages/nonworking/redboot-utils/fis_1.0.bb
diff --git a/packages/openmoko-base/openmoko-theme-standard_svn.bb b/packages/openmoko-base/openmoko-theme-standard_svn.bb
index 6265526de6..8bf59ac707 100644
--- a/packages/openmoko-base/openmoko-theme-standard_svn.bb
+++ b/packages/openmoko-base/openmoko-theme-standard_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Standard Gtk+ theme for the OpenMoko distribution"
SECTION = "openmoko/base"
PV = "0.0+svn${SRCDATE}"
-PR = "r4"
+PR = "r5"
inherit openmoko-base
@@ -21,5 +21,7 @@ do_install() {
echo 'include "${datadir}/themes/openmoko-standard/gtk-2.0/gtkrc"' >> ${D}${sysconfdir}/gtk-2.0/gtkrc
}
+CONFFILES_${PN} = "${sysconfdir}/gtk-2.0/gtkrc"
+
PACKAGE_ARCH = "all"
FILES_${PN} = "${datadir} ${sysconfdir}"
diff --git a/packages/openmoko-apps/openmoko-rssreader_svn.bb b/packages/openmoko2/openmoko-feedreader2_svn.bb
index ec52817b81..41f28ed6a1 100644
--- a/packages/openmoko-apps/openmoko-rssreader_svn.bb
+++ b/packages/openmoko2/openmoko-feedreader2_svn.bb
@@ -3,7 +3,7 @@ SECTION = "openmoko/applications"
DEPENDS += "libmrss check webkit"
PV = "0.0.1+svn${SRCDATE}"
-PR = "r1"
+PR = "r0"
-inherit openmoko
+inherit openmoko2
diff --git a/packages/openmoko2/openmoko-session2.bb b/packages/openmoko2/openmoko-session2.bb
index 006948109f..9c87a2e318 100644
--- a/packages/openmoko2/openmoko-session2.bb
+++ b/packages/openmoko2/openmoko-session2.bb
@@ -1,16 +1,14 @@
DESCRIPTION = "Custom MB session files for poky"
LICENSE = "GPL"
SECTION = "x11"
-RDEPENDS = "matchbox-applet-startup-monitor matchbox-panel-2"
-RCONFLICTS = "matchbox-common openmoko-session"
-PR = "r20"
+RDEPENDS = "matchbox-common matchbox-applet-startup-monitor matchbox-panel-2"
+RCONFLICTS = "openmoko-session"
+PR = "r22"
-SRC_URI = "file://etc file://matchbox-session"
+SRC_URI = "file://etc"
S = ${WORKDIR}
do_install() {
- install -d ${D}/${bindir}
- install -m 0755 ${S}/matchbox-session ${D}/${bindir}
cp -R ${S}/etc ${D}/etc
rm -fR ${D}/etc/.svn
rm -fR ${D}/etc/matchbox/.svn
diff --git a/packages/openmoko2/openmoko-session2/etc/matchbox/session b/packages/openmoko2/openmoko-session2/etc/matchbox/session
index de0db79475..6c8c62dca5 100755
--- a/packages/openmoko2/openmoko-session2/etc/matchbox/session
+++ b/packages/openmoko2/openmoko-session2/etc/matchbox/session
@@ -2,8 +2,8 @@
SHOWCURSOR="no"
-openmoko-today2 &
-openmoko-dialer2 &
+openmoko-today &
+openmoko-dialer &
matchbox-window-manager -use_titlebar yes -use_desktop_mode decorated -theme openmoko-standard-2 -use_cursor $SHOWCURSOR $@ &
diff --git a/packages/openmoko2/openmoko-session2/matchbox-session b/packages/openmoko2/openmoko-session2/matchbox-session
deleted file mode 100644
index 658ce4bcfc..0000000000
--- a/packages/openmoko2/openmoko-session2/matchbox-session
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# Very simple session manager for matchbox tools
-#
-
-# Uncomment below to enable parsing of debian menu entrys
-# export MB_USE_DEB_MENUS=1
-
-if [ -e $HOME/.matchbox/session ]
-then
-exec $HOME/.matchbox/session
-fi
-
-if [ -e /etc/matchbox/session ]
-then
-exec /etc/matchbox/session
-fi
-
-# Default files to run if $HOME/.matchbox/session or /etc/matchbox/session
-# dont exist.
-
-matchbox-desktop-2 &
-matchbox-panel-2 --orientation south &
-exec matchbox-window-manager $@
diff --git a/packages/openmoko2/openmoko-theme-standard2_svn.bb b/packages/openmoko2/openmoko-theme-standard2_svn.bb
index b925edce1a..ed707a9617 100644
--- a/packages/openmoko2/openmoko-theme-standard2_svn.bb
+++ b/packages/openmoko2/openmoko-theme-standard2_svn.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "Standard Gtk+ theme for the OpenMoko distribution"
SECTION = "openmoko/base"
RCONFLICTS = "openmoko-theme-standard"
-PV = "0.1.0+srvn${SRCDATE}"
+PV = "0.1.0+svn${SRCDATE}"
PR = "r1"
inherit openmoko2
-SRC_URI = "svn://svn.openmoko.org/trunk/src/target/OM-2008/artwork/themes;module=openmoko-standard-2;proto=http"
+SRC_URI = "svn://svn.openmoko.org/trunk/src/target/OM-2007.2/artwork/themes;module=openmoko-standard-2;proto=http"
S = "${WORKDIR}/openmoko-standard-2"
do_install() {
@@ -19,5 +19,7 @@ do_install() {
echo 'include "${datadir}/themes/openmoko-standard-2/gtk-2.0/gtkrc"' >> ${D}${sysconfdir}/gtk-2.0/gtkrc
}
+CONFFILES_${PN} = "${sysconfdir}/gtk-2.0/gtkrc"
+
PACKAGE_ARCH = "all"
FILES_${PN} = "${datadir} ${sysconfdir}"
diff --git a/packages/tasks/task-openmoko.bb b/packages/tasks/task-openmoko.bb
index 8ef66b6080..6ac888c55a 100644
--- a/packages/tasks/task-openmoko.bb
+++ b/packages/tasks/task-openmoko.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "OpenMoko: Tasks for the OpenMoko Linux Distribution"
SECTION = "openmoko/base"
LICENSE = "MIT"
PROVIDES = "task-openmoko-everything"
-PR = "r49"
+PR = "r50"
ALLOW_EMPTY = "1"
PACKAGE_ARCH = "all"
@@ -65,9 +65,8 @@ RDEPENDS_task-openmoko-ui = "\
xset \
xrandr \
settings-daemon \
- openmoko-common \
- openmoko-session \
- openmoko-theme-standard \
+ openmoko-session2 \
+ openmoko-theme-standard2 \
openmoko-icon-theme-standard \
openmoko-sound-system \
openmoko-sound-theme-standard \
@@ -83,11 +82,10 @@ RDEPENDS_task-openmoko-base = "\
matchbox-panel-2 \
matchbox-panel-2-applets \
matchbox-applet-inputmanager \
- openmoko-appmanager \
+# openmoko-appmanager \
+ matchbox-keyboard \
+ matchbox-stroke \
openmoko-keyboard \
- openmoko-footer \
- openmoko-taskmanager \
- openmoko-panel-mainmenu \
openmoko-panel-battery \
openmoko-panel-bt \
openmoko-panel-clock \
@@ -102,7 +100,7 @@ DESCRIPTION_task-openmoko-phone = "OpenMoko: GSM and GPRS Phone Services"
RDEPENDS_task-openmoko-phone = "\
gsmd \
libgsmd-tools \
- openmoko-dialer \
+ openmoko-dialer2 \
openmoko-panel-gsm \
# ppp \
"
@@ -112,7 +110,7 @@ RDEPENDS_task-openmoko-phone = "\
#
DESCRIPTION_task-openmoko-finger = "OpenMoko: Finger UI Applications"
RDEPENDS_task-openmoko-finger = "\
- openmoko-calculator \
+# openmoko-calculator \
"
#
@@ -121,12 +119,10 @@ RDEPENDS_task-openmoko-finger = "\
DESCRIPTION_task-openmoko-pim = "OpenMoko: PIM Applications"
RDEPENDS_task-openmoko-pim = "\
eds-dbus \
- openmoko-contacts \
- openmoko-dates \
- openmoko-tasks \
- openmoko-today \
- openmoko-messages \
- openmoko-rssreader \
+ openmoko-contacts2 \
+ openmoko-today2 \
+# openmoko-messages \
+# openmoko-rssreader \
"
#
@@ -139,32 +135,6 @@ RDEPENDS_task-openmoko-net = "\
"
#
-# task-openmoko-demo
-#
-DESCRIPTION_task-openmoko-demo = "OpenMoko: Demo Applications"
-RDEPENDS_task-openmoko-demo = "\
- matchbox-desktop-2 \
- matchbox-keyboard \
- matchbox-stroke \
- matchbox-config-gtk \
- xcursor-transparent-theme \
- web \
- mtpaint \
-"
-
-#
-# task-openmoko-examples
-#
-DESCRIPTION_task-openmoko-examples = "OpenMoko: Example Applications"
-RDEPENDS_task-openmoko-examples = "\
- openmoko-stylus-demo-simple \
- openmoko-stylus-demo \
- openmoko-finger-demo \
- openmoko-panel-demo-simple \
- openmoko-panel-demo \
- openmoko-chordmaster"
-
-#
# task-openmoko-debug
#
DESCRIPTION_task-openmoko-debug = "OpenMoko: Debugging Tools"