maemo 5 developer workshop @ metalab
DESCRIPTION
2010-01-22TRANSCRIPT
![Page 1: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/1.jpg)
Maemo 5Maemo 5Developer WorkshopDeveloper Workshop
Thomas PerlThomas Perl2010-01-222010-01-22
![Page 2: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/2.jpg)
Ü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
![Page 3: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/3.jpg)
Nokia 770, N800 und N810● “Internet Tablets”● Mai 2005: Nokia 770● Jänner 2007: N800● Oktober 2007: N810
![Page 4: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/4.jpg)
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
![Page 5: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/5.jpg)
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
![Page 6: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/6.jpg)
Sprachen, Toolkits und Frameworks● GTK+/Hildon: C, C++, Python (PyMaemo)● Qt-Support: C++, Python (PyQt4, PySide)● Sonstiges: Haskell, Perl, Ruby, Prolog, …● Für Spiele: OpenGL ES, SDL, PyGame● Für Multimedia: GStreamer
● Mehr? → Pakete in Debian (armel)
![Page 7: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/7.jpg)
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)
![Page 8: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/8.jpg)
..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
![Page 9: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/9.jpg)
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
![Page 10: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/10.jpg)
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
![Page 11: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/11.jpg)
Publishen auf maemo.org (1/2)● Maemo.org Extras Repository● QA-Prozess
● 10 Tage Quarantäne● 10 Karma-Punkte (Thumbs up: +1, down: -4)● Funktionalität, Illegale Inhalte, Usability,
Stromverbrauch, Optification, Security Risks, fehlende URL zum Bugtracker(!)
![Page 12: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/12.jpg)
Publishen auf maemo.org (2/2)
SourcePaket(Debian, .dsc)
maemo.orgAutobuilder
BuildFehler: EMailmit Details, Rejected
Build OK: Import inMaemo ExtrasDevel
Entwickler entscheidet, wannPaket nach ExtrasTesting kommt
Extras QA Process(10 Tage, 10 KarmaPunkte)
Paket darf insExtrasRepository
![Page 13: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/13.jpg)
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
![Page 14: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/14.jpg)
On-Device Development (2/2)
![Page 15: Maemo 5 Developer Workshop @ Metalab](https://reader033.vdocument.in/reader033/viewer/2022042623/5484c4ceb47959fb0c8b4cde/html5/thumbnails/15.jpg)
Credits● Mer Photo: Meizirkki
http://picasaweb.google.com/meizirkki/MerOnTheTouchBook
● Maemo Extras QA Process - IconsGNOME Icon Theme
● PyGTKEditor Screenshot: Khertanhttp://khertan.net/2009/11/
● 770, N800, N810, N900 Photos: Nokiahttp://www.nokia.com/press/media_resources
● Maemo.org Logo: Maemo Community