Difference between revisions of "Marble/MaemoPackaging"

Jump to: navigation, search
m (Text replace - "</code>" to "</syntaxhighlight>")
(Page moved to community wiki)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{improve|This page needs to reflect Marble's move from svn to git. Additionally the creation of language files must be explained. GHNS map themes are missing as well (osmarender and hikebikemap)}}
+
{{ Moved To Community }}
 
+
Maemo packages are based on the Debian package format. The git repository at marble.garage.maemo.org contains necessary files for quick packaging.
+
 
+
=== Creating fresh packages ===
+
We are going to check out a fresh subversion copy of Marble, add the debian specific packaging files from the marble garage git repository and build a Maemo .deb package for the armel target. It will be readily usable on the N900.
+
 
+
First, we check out a fresh subversion copy of Marble to a temporary directory. Make sure to do this inside scratchbox with the armel target activated if you intend to use the package on the N900.
+
<syntaxhighlight lang="bash">
+
cd "$(mktemp -d)"
+
repo="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeedu/marble"
+
rev="$(svn info "${repo}" | grep Revision | awk '{ print $2 }')"
+
svn co "${repo}" "marble-0.10+svn${rev}"
+
</syntaxhighlight>
+
 
+
Inside, we'll add the debian packaging files.
+
<syntaxhighlight lang="bash">
+
cd "marble-0.10+svn${rev}"
+
git clone https://vcs.maemo.org/git/marble garage
+
ln -s garage/packaging/debian
+
</syntaxhighlight>
+
 
+
Update the changelog, if needed.
+
<syntaxhighlight lang="bash">
+
dch
+
</syntaxhighlight>
+
 
+
Afterwards, build the packages:
+
<syntaxhighlight lang="bash">
+
LD_LIBRARY_PATH=debian/marble/opt/marble/lib dpkg-buildpackage -rfakeroot
+
</syntaxhighlight>
+
 
+
Four debian packages -- marble-$version.deb, marble-plugins-$version.deb, libmarble-$version.deb and marble-data-$version.deb -- will end up in the parent directory. Compared to the original Debian package, they contain the following adjustments:
+
* Split into more packages
+
* Install prefix changed from /usr to /opt/marble ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing/Installing_under_opt_and_MyDocs Maemo suggestion])
+
* Application manager icon contained in the control file
+
* bin/marble.sh wrapper script that sets PATH, LD_LIBRARY_PATH and XDG_DATA_HOME
+
* marble.desktop and marble.service files for application menu integration
+
* Marble icons copied to /usr/share/icons/hicolor/apps/
+
 
+
Currently there is a bug related to scratchbox which affects the creation of the marble-data.deb package. It will contain too little data when created on the ARMEL target. As this will trigger a segfault on the N900, the marble-data.deb package must be created on the X86 target. Because the -data package is architecture independent, you can just overwrite the faulty package created on ARMEL.
+
 
+
To install the four packages on your N900, copy them to the device and install them using dpkg.
+
<syntaxhighlight lang="bash">
+
scp ../marble*.deb root@IP-OF-N900:/home/user/MyDocs
+
ssh root@IP-OF-N900 -- "dpkg -i /home/user/MyDocs/marble*.deb"
+
</syntaxhighlight>
+
 
+
You can start Marble on the N900 from the application menu. To uninstall -- how dare you! -- use the application manager.
+

Latest revision as of 04:50, 26 October 2016

This page is now on the community wiki.


This page was last modified on 26 October 2016, at 04:50. Content is available under Creative Commons License SA 4.0 unless otherwise noted.