[Debian][HOWTO] using bleeding edge FSO (Cornucopia aka vala rewrite)

Paul Fertser fercerpav at gmail.com
Thu May 6 22:59:58 CEST 2010


Hi,

I like using Debian on my FR (in fact it is the only system i use as
my daily phone since i bought it) and i decided i want to start
getting all the great improvements and fixes from git again (as i used
to when framework was pure python).

Compiling everything needed natively proved to be a reasonable idea as
i'm now running everything i want and it takes me a 10 sec effort and
not more than 30 minutes of processing time to update e.g. fsogsmd
with "git pull && make && make install". I've also written an emacs
interface[1] to FSO (thanks to John Sullivan for inspiration), that's
the only UI i use now (will make an announcement later in another
letter).

So basically the method i used is as follows: look in the OE recipies
for correct dependencies, build and install in right order. Using
distcc helps a lot, the main bottleneck becoming "autoreconf -i"
(surprise ;) ). Everything installs to /usr/local, everything is using
autofoo, so "make uninstall" is possible. I think it's a reasonably
clean enough method for my purposes, so i'm not going to try build any
proper debian packages.

Here go some hints:

* if you install python frameworkd (it's still needed for some
  components) with "python setup.py install --prefix=/usr/local" you
  might need to edit your python config a little.

* The old zhone doesn't seem to work (easily fixable) and the new
  zhone2 is not exactly fully functional but allows to place and
  receive calls.

* If you want to use SHR apps from the repo, you need to binary patch
  and change incoming -> INCOMING, outgoing -> OUTGOING, release ->
  RELEASE, active -> ACTIVE in
  /usr/lib/libframeworkd-glib-20100213.so.0. The same applies if you
  want to keep your old oevenstd's rules.yaml.

* mdbus2 is uber-cool, fast, has interactive mode with readline and
  history support. The only limitation is it doesn't support sending
  a{sv} yet.

* i converted my sim contacts to opimd after retrieving them with
  mdbus2 with several simple vim commands to produce a script for
  opimd-cli.

* add some swap, it won't be used unless absolutely needed anyway, but
  if you want to compile libfso-glib without distcc you'll need ~300M
  of RAM.

* add fsodeviced to your startup scripts, other components will be
  started via dbus activation.

* if you want to debug fsogsmd issues, you can comment out the Exec
  line in it's activation file and start it from the shell, it'll
  remain in foreground providing you with a very nice colour output
  (if you use the right config parameters).

* after fsogsmd restart opimd might stop receiving signals (or
  probably some similar problem) so the messages will remain stored on
  sim, never getting into opimd. It's planned to be fixed with a
  little redesign soon.

* WARN: messages on your sim might be automatically deleted by fsogsmd
  if it's low on space (to keep incoming messages, and all incoming
  messages are stored on sim first).

* use emacs on device; editing files, shell and term modes, erc are
  something i had the best experience on FR with.

Distcc hints:

Install distccd on your host and get the arm toolchain from emdebian
(or use crosstool with appropriate options on Gentoo, stage1 is
enough). Start it with "distccd --allow 192.168.0.202". Add
192.168.0.200 to ~/.distcc/hosts on your FR. Do ``export CC="distcc
arm-linux-gnueabi-gcc"'' before running ./configure.

To save your time compiling i've made a tarball with everything ready
to "make && make install". It can be found (along with my configs) at
[2].

So welcome to the new wonderful faster and more reliable world of
FSO2, and to the discussions of the latest-and-greatest at
#openmoko-cdevel.

[1] http://wiki.github.com/paulfertser/fso-el/
[2] http://mail.nixl.net:8888/
-- 
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav at gmail.com



More information about the community mailing list