Loading Blog Search...

Monday, September 17, 2007

Display Icon in Maemo Application Manager

After making a deb package for maemo platform, and depolying it to a repository recognized by Maemo application manager, it is valuable to let application manager display a interesting icon beside the package name.

There are several points need to note:

  1. encode a 26x26 png image into base64 format, this can be done by: uuencode -m xxx_26x26.png /dev/stdout . Then the encoded texts (between the 1st and the last line) will be used in package.
  2. embed the texts into debian/control, in a section named: XB-Maemo-Icon-26. There must be a space before each line in this section.
  3. run dpkg-scanpackages to generate Packages.gz, and make sure the XB-Maemo-Icon-26 section is also copied into Packages.gz
Actually, application manager display icon based on the base64 data found in Packages.gz.

However, I found dpkg-scanpackages of some versions dismiss the icon section. For these versions, here is the workaround:

change:

dpkg-scanpackages ....... > .../Packages.gz

to:

dpkg_scanpackages="/tmp/dpkg_scanpackages-$$"
cat $BIN_SCANPACKAGES | $BIN_SED -e "s/('Package',/('Package', 'Maemo-Icon-26',/" > $dpkg_scanpackages #this is for dpkg-scanpackage 1.3
cat $dpkg_scanpackages | $BIN_SED -e "s/Size MD5sum Section Priority Description))/Size MD5sum Section Priority Description Maemo-Icon-26))/" > $dpkg_scanpackages #this is for dpkg-scanpackage 1.4
chmod 755 $dpkg_scanpackages

$dpkg_scanpackages ....... > .../Packages.gz

No comments: