Earthwings (Talk | contribs) (→Creating fresh packages) |
Earthwings (Talk | contribs) |
||
| Line 6: | Line 6: | ||
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. | 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. | ||
<code bash> | <code bash> | ||
| − | cd $(mktemp -d) | + | cd "$(mktemp -d)" |
repo="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeedu/marble" | repo="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeedu/marble" | ||
rev="$(svn info "${repo}" | grep Revision | awk '{ print $2 }')" | rev="$(svn info "${repo}" | grep Revision | awk '{ print $2 }')" | ||
| − | svn co "${repo}" marble-0. | + | svn co "${repo}" "marble-0.10+svn${rev}" |
</code> | </code> | ||
Inside, we'll add the debian packaging files. | Inside, we'll add the debian packaging files. | ||
<code bash> | <code bash> | ||
| − | cd "marble-0. | + | cd "marble-0.10+svn${rev}" |
git clone https://vcs.maemo.org/git/marble garage | git clone https://vcs.maemo.org/git/marble garage | ||
ln -s garage/packaging/debian | ln -s garage/packaging/debian | ||
| Line 26: | Line 26: | ||
Afterwards, build the packages: | Afterwards, build the packages: | ||
<code bash> | <code bash> | ||
| − | + | dpkg-buildpackage -rfakeroot | |
</code> | </code> | ||
| − | Three debian packages -- marble-$version.deb, marble-plugins-$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: | + | 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 ([http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing/Installing_under_opt_and_MyDocs Maemo suggestion]) | * 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 | * Application manager icon contained in the control file | ||
| − | * bin/marble.sh wrapper script that sets LD_LIBRARY_PATH and XDG_DATA_HOME | + | * 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.desktop and marble.service files for application menu integration | ||
* Marble icons copied to /usr/share/icons/hicolor/apps/ | * Marble icons copied to /usr/share/icons/hicolor/apps/ | ||
Maemo packages are based on the Debian package format. The git repository at marble.garage.maemo.org contains necessary files for quick packaging.
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:
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.