diff options
author | Florian Boor <florian.boor@kernelconcepts.de> | 2007-07-31 16:21:16 +0000 |
---|---|---|
committer | Florian Boor <florian.boor@kernelconcepts.de> | 2007-07-31 16:21:16 +0000 |
commit | 2e61dfe7129ee23bc41ba1ada89eedf3245a16ca (patch) | |
tree | 7d0ad528141ab948a7afd6093e53c2c5f169b29a | |
parent | f89fc38904e333aaa0ab588a741087b32564987d (diff) | |
parent | 0adc9ee1289b5437b6386a44060117a8a5207f01 (diff) |
merge of '15b74f4a5710e603d60db9716cb6cb0619511ac7'
and '8961e177cdb0b701e3bb0304ec24d5c4a3947254'
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" |