Marble/MaemoPackaging

From KDE Community Wiki
Revision as of 18:28, 7 April 2010 by Earthwings (talk | contribs)

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. 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}"

Inside, we'll add the debian packaging files. cd "marble-0.10+svn${rev}" git clone https://vcs.maemo.org/git/marble garage ln -s garage/packaging/debian

Update the changelog, if needed. dch

Afterwards, build the packages: dpkg-buildpackage -rfakeroot

Three 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 (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/

To install the two packages on your N900, copy them to the device and install them using dpkg. scp ../marble*.deb root@IP-OF-N900:/home/user/MyDocs ssh root@IP-OF-N900 -- "dpkg -i /home/user/MyDocs/marble*.deb"

You can start Marble on the N900 from the application menu. To uninstall -- how dare you! -- use the application manager.