[maemo-developers] [CSSU] Advice wanted on the best way to package Cell Broadcast SMS bugfix for closed libsms library

From: Jonathan Wilson jfwfreo at tpgi.com.au
Date: Sat Jun 25 06:30:37 EEST 2011
Basically, due to a bug in libsms (closed source Nokia library that's part 
of the telephony stack in Fremantle), Cell Broadcast SMS does not work on 
the N900. Specifically it is a bug in the function sms_gsm_cb_routing_ntf.

Its clear at this point that Nokia will not release the source code to 
libsms (or back-port the fix for this bug from Harmattan where it appears 
to be fixed). Nor are they likely to release the information required to 
allow replacement of libsms without a wholesale replacement of most of the 
telephony stack (including the dialer, messaging app etc).
Given this, I have come up with a possible solution and would like advice 
on the best way to package this solution.

Option 1:
Patch libsms (there are 3 bytes that need to be changed to fix the bug) and 
distribute the patched .so file. (i.e. basically an updated libsms package)

Option 2:
Distribute a package that will patch (and un-patch on uninstall I would 
guess) libsms with the 3 changed bytes to fix the bug.

Option 3:
Distribute a package that somehow loads something into the memory space of 
the CSD daemon and applies the 3-byte patch to the in-memory image of libsms.

Option 4:
Create a clone of sms_gsm_cb_routing_ntf and use LD_PRELOAD or something 
similar to cause libsms to use the clone and not the original in libsms

I dont know much about how ARM Linux works (or how Debian packaging works 
or what the CSSU maintainers would find acceptable) so I dont know which 
option is the best option. Hence I am asking the CSSU gurus to help me 
figure out which option is the best option going forward as a way to 
distribute this fix (which will then allow a user-space widget to be 
produced that can talk to the IncomingCBS DBUS signal and do something with 
the incoming Cell Broadcast SMS messages)
More information about the maemo-developers mailing list