Editing Packaging a Qt application
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | + | = Packaging a Qt Application = | |
- | + | == Looking for a debian package of your Application == | |
- | Packaging a Qt | + | If you want to port a popular Qt application probably it is already packaged for debian. |
- | + | You can try to get the package source in a couple of different ways: | |
- | == | + | * Adding a debian src repository in your /etc/apt/source.list file |
- | + | <pre> | |
- | + | $echo “deb http://ftp.it.debian.org/debian/ unstable main contrib non-free” >> /etc/apt/source.list | |
- | + | $apt-get update | |
- | * | + | $apt-cache search app_name |
- | + | $apt-get source app_name | |
- | + | </pre> | |
- | + | * Checking http://packages.debian.org, downloading the following files and running ''dpkg-source -x app_name.dsc'' to decompress the upstream source and to apply the changes available in the diff.gz file. | |
+ | ** upstream source file (.tar.gz) | ||
+ | ** package changes (.diff.gz) | ||
+ | ** meta-data information file (.dsc) | ||
+ | == Creating a Debian package for a new Qt Application == | ||
+ | If your application has been already packaged, you can jump this section. | ||
+ | If your application is quite younger and you need to package it by yourself, | ||
+ | in order to creating a new package, you need to: | ||
+ | * Rename the upstream source directory in Package-Version (eg: myapp-0.1) | ||
+ | * Create “src” directory in Package-Version/ | ||
+ | * Copy all the files in the src/ | ||
+ | * Rename src/appname.pro in src/src.pro | ||
<pre> | <pre> | ||
$mv myapp myapp-0.1 | $mv myapp myapp-0.1 | ||
Line 19: | Line 30: | ||
$mv src/appname.pro src/src.pro | $mv src/appname.pro src/src.pro | ||
</pre> | </pre> | ||
- | + | *Create a myapp-0.1/myapp.pro file like this: | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | *Create a | + | |
<pre> | <pre> | ||
QMAKEVERSION = $$[QMAKE_VERSION] | QMAKEVERSION = $$[QMAKE_VERSION] | ||
Line 67: | Line 46: | ||
**Some example files (*.EX *.ex) | **Some example files (*.EX *.ex) | ||
<pre> | <pre> | ||
- | |||
dh_make --createorig --single -e maintainer@email.org -c gpl | dh_make --createorig --single -e maintainer@email.org -c gpl | ||
</pre> | </pre> | ||
+ | |||
+ | == Having a look inside the debian/ dir == | ||
+ | At this point the directory my-app contains | ||
+ | * the source directory ( src/ ) | ||
+ | * the debian directory (debian/) | ||
+ | |||
+ | Inside the debian dir we have the files need for the creation of the debian package | ||
+ | * Changelog - Application's change log | ||
+ | * Compat - Debian helper compatibly version | ||
+ | * Control - Describes the packages to be made | ||
+ | * Copyright - Copyright text | ||
+ | * Rules - A makefile containing the rules to build all kinds of packages | ||
+ | |||
+ | == Maemo Packaging Policy == | ||
+ | Maemo packages follow the Debian Policy, but there are some items where Maemo: | ||
+ | * Is more strict (it is an embedded distribution) | ||
+ | * Is more relaxed | ||
+ | **Only a target device (Nokia Internet Tablet) | ||
+ | **Only a specified UI (Hildon) | ||
+ | **Only one user. | ||
+ | *Differs from Debian because Maemo has different: | ||
+ | **Objectives | ||
+ | **Maintainers | ||
+ | **Infrastructure | ||
== Editing the rules file == | == Editing the rules file == | ||
- | The rules file generated by | + | The rules file generated by dh_make will be modified in order to look like this one. |
+ | We are using qmake, so we haven't a configure file to run. | ||
<pre> | <pre> | ||
Line 118: | Line 121: | ||
dh_installman | dh_installman | ||
dh_link | dh_link | ||
- | dh_strip | + | dh_strip |
dh_compress | dh_compress | ||
dh_fixperms | dh_fixperms | ||
Line 130: | Line 133: | ||
.PHONY: build clean binary-indep binary-arch binary install configure | .PHONY: build clean binary-indep binary-arch binary install configure | ||
</pre> | </pre> | ||
+ | = Useful Links = | ||
+ | [http://qt4.garage.maemo.org Qt4Maemo at garage] | ||
- | + | [http://doc.trolltech.com/4.4/index.html Official Qt 4.4 Documentation] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | [[Category: | + | [[Category:Development]] |
- | + |
Learn more about Contributing to the wiki.