MADDE/Packaging: Difference between revisions
imported>shep |
imported>shep m →Steps |
||
| Line 35: | Line 35: | ||
X-Osso-Type=application/x-executable | X-Osso-Type=application/x-executable | ||
7 | 7. Inside the "src" folder added a file called "src.pro". Getting this right is the key to getting the Makefile correct and hence the install working. At the end of this file there is a section called "INSTALLS += "...for every file you want installed in a location you need an entry here. In the example here we install the target, icon and desktop files. | ||
Code: | Code: | ||
TARGET = wwcalc | TARGET = wwcalc | ||
| Line 59: | Line 53: | ||
#MAKE INSTALL | #MAKE INSTALL | ||
INSTALLS += target desktop icon64 | INSTALLS += target desktop icon64 | ||
target.path =$$BINDIR | target.path =$$BINDIR | ||
| Line 68: | Line 62: | ||
icon64.path = $$DATADIR/icons/hicolor/64x64/apps | icon64.path = $$DATADIR/icons/hicolor/64x64/apps | ||
icon64.files += wwcalc.png | icon64.files += wwcalc.png | ||
} | } | ||
8. Up one level and inside the top level folder (i.e. "c:\Madde\0.5\home\<YOU!>\<projectname>-0.x" ) create a file called "<projectname>.pro" with the following exact contents. | |||
Code: | Code: | ||
TEMPLATE = subdirs | TEMPLATE = subdirs | ||
SUBDIRS = src | SUBDIRS = src | ||
10. In Madde make sure the runtime is up and connectible (described | 10. In Madde make sure the runtime is up and connectible (described here: http://wiki.maemo.org/MADDE/Device_runtime) and then execute. | ||
Code: | Code: | ||
mad dh_make --createorig --single -e foo.bar@gmail.com -c gpl | mad dh_make --createorig --single -e foo.bar@gmail.com -c gpl | ||
mad qmake | mad qmake | ||
mad dpkg-buildpackage | mad dpkg-buildpackage | ||
mad remote -r org.maemo.<projectname> send ../< | mad remote -r org.maemo.<projectname> send ../<projectname>_0.x-1_armel.deb | ||
mad remote -r org.maemo.<projectname> install <projectname>_0. | mad remote -r org.maemo.<projectname> install <projectname>_0.x-1_armel.deb | ||
11. Uninstalling - from an X_Terminal. | |||
Code: | Code: | ||
sudo gainroot | sudo gainroot | ||
dpkg -r <projectname> | dpkg -r <projectname> | ||
Revision as of 22:06, 19 January 2010
Introduction
This guide explains how to take a simple Qt application and compile it so that it deploys to the N900 with an Icon. It is supposed to be step by step guide on how to take a (simple) Qt app and package and deploy it with an Icon using Madde.
Prerequisites
The project I have is simple, 1 window called mainwindow.
Note: As a convention I like to keep all my code together, so I have created any extra files in the "src" folder.
Steps
1. Create project through Madde
2. Edit and test with QT Creator
3. Once ready to deploy create a clean empty top level folder "<projectname>-0.x" where x is your revision number e.g. "c:\Madde\0.5\home\shep\wwcalc-0.1"...In the OS Note: the following 3 steps apply each time you go to build.
3.1 ensure there is no "debian" folder at the same level as "src" 3.2 ensure there is no folder structure called "<projectname>-0.x-orig" left over from a failed compile 3.3 remove old compiles from the Madde\home\user (e.g. C:\Madde\0.5\home\Shep) folder.
4. Copy the "src" folder from the tested Qt project into the "<projectname-0.x" folder
5. Create (or obtain) an application Icon. This should be a 64x64 png. Call it <projectname>.png and place it in the "src" folder.
6. Again inside the "src" folder create a new file called "<projectname>.desktop" Code:
[Desktop Entry] Encoding=UTF-8 Version=0.x Type=Application Name=<Long Descriptive Project Name> Exec=/usr/bin/<projectname> Icon=<projectname> X-HildonDesk-ShowInToolbar=true X-Osso-Type=application/x-executable
7. Inside the "src" folder added a file called "src.pro". Getting this right is the key to getting the Makefile correct and hence the install working. At the end of this file there is a section called "INSTALLS += "...for every file you want installed in a location you need an entry here. In the example here we install the target, icon and desktop files. Code:
TARGET = wwcalc
TEMPLATE = app
SOURCES += qtmain.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
PREFIX = ../debian/wwcalc/usr
unix {
BINDIR = $$PREFIX/bin
DATADIR =$$PREFIX/share
DEFINES += DATADIR=\"$$DATADIR\" PKGDATADIR=\"$$PKGDATADIR\"
#MAKE INSTALL
INSTALLS += target desktop icon64
target.path =$$BINDIR
desktop.path = $$DATADIR/applications/hildon
desktop.files += wwcalc.desktop
icon64.path = $$DATADIR/icons/hicolor/64x64/apps
icon64.files += wwcalc.png
}
8. Up one level and inside the top level folder (i.e. "c:\Madde\0.5\home\<YOU!>\<projectname>-0.x" ) create a file called "<projectname>.pro" with the following exact contents. Code:
TEMPLATE = subdirs SUBDIRS = src
10. In Madde make sure the runtime is up and connectible (described here: http://wiki.maemo.org/MADDE/Device_runtime) and then execute. Code:
mad dh_make --createorig --single -e foo.bar@gmail.com -c gpl mad qmake mad dpkg-buildpackage mad remote -r org.maemo.<projectname> send ../<projectname>_0.x-1_armel.deb mad remote -r org.maemo.<projectname> install <projectname>_0.x-1_armel.deb
11. Uninstalling - from an X_Terminal. Code:
sudo gainroot dpkg -r <projectname>