OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
Maemo 5 Developer Workshop @ Metalab
1. Maemo 5
Developer Workshop
Thomas Perl
2010-01-22
2. Übersicht
● Nokia 770, N800 und N810
● Maemo.org community und Mer
● Sprachen, Toolkits und Frameworks
● Maemo 5 SDK
● Debian Packaging und /optification
● Publishen auf maemo.org
● On-Device Development
3. Nokia 770, N800 und N810
● “Internet Tablets”
● Mai 2005: Nokia 770
● Jänner 2007: N800
● Oktober 2007: N810
4. Maemo.org community
● Open Source – Software für Maemo
● Services
● bugs.maemo.org (Offizieller Bug-Tracker)
● talk.maemo.org (Forum)
● garage.maemo.org (Projekt-Hosting)
● maemo.org/packages (Extras QA)
● #maemo, #mer auf Freenode
● Bester Einstiegspunkt zum Entwickeln
5. Mer
● Open-Source “Distribution” von Maemo 5
● Proprietäre Teile durch Open Source-
Implementierung ersetzen (wo möglich)
● Support für nicht-Maemo-Geräte
7. Maemo 5 SDK
● SDK Installer (URL siehe Wiki-Seite)
● Ohne Linux: VM (zB Ubuntu-Image)
● UI, Desktop, Compile-“targets” (armel, x86)
● MADDE (Technology Preview)
● Cross-compiler
● Für Linux (32- u. 64-bit), Windows, Mac OS X
● ...oder direkt am Gerät ohne SDK (später)
8. ..und IDEs?
● PluThon
● Eclipse-Plugin für Python/Maemo
● Direktes “Deployment” auf das Gerät (SSH)
● Qt Creator
● Qt-Anwendung designen und entwickeln
● Source mit Scratchbox (armel) kompilieren
9. Debian-Packaging
● Apps werden als “.deb”-Pakete geliefert
● Handling von Abhängigkeiten, Konflikten,
Upgrades, etc.. (“apt-get”)
● Siehe: Wiki, Debian Policy Manual
● Maemo-spezifische Erweiterungen
(Programmname, Icon für App Manager, ...)
● Alternativen: PyPackager oder py2deb
10. Optification
● 256MB OneNAND: Kernel + Root-FS
● 32GB eMMC
● 2 GB /home (ext3)
● ca. 29 GB /home/user/MyDocs (vfat)
● /opt ist Symlink auf /home/opt/
● Programme müssen nach “/opt”
installiert werden, um Platz zu sparen
● Helper-Tool: maemo-optify
12. Publishen auf maemo.org (2/2)
BuildFehler: EMail
mit Details, Rejected
Build OK: Import in
SourcePaket maemo.org Maemo ExtrasDevel
(Debian, .dsc) Autobuilder
Paket darf ins Extras QA Process Entwickler entscheidet, wann
ExtrasRepository (10 Tage, 10 KarmaPunkte) Paket nach ExtrasTesting kommt
13. On-Device Development (1/2)
● Man nehme:
● Python + UI Bindings (PyGTK oder PyQt4)
● Vim (oder: QEmacs, PyGTKEditor, ...)
● Wenn man Zeit hat: GCC für C-Entwicklung
● Per X-Terminal geht das so:
apt-get install python-gtk2 python-hildon