dz,
The fields in the Packages file are extracted from the control file in the ipk. You can have multiline Package descriptions. For example this is a perfectly valid control file:
Summary: A GNU collection of binary utilities.
Package: binutils
Priority: optional
Architecture: arm
Version: 2.15-1
Release:
Maintainer: Takuya Murakami <tmurakam@mtd.biglobe.ne.jp
Section: system
Size: 1304k
Depends:
License: GPL
Filename: binutils_2.15-1_arm.ipk
Size: 543032
MD5Sum: 0ec8b523e7d04d6bdd2f6d302aff64f4
Description: A GNU collection of binary utilities.
Binutils is a collection of binary utilities. This package includes
gprof, nm, readelf, size, strings, and strip only.
(Not includes ar, as, ld, objcopy, objdump, ranlib, addr2line.)
As Tumnus has stated there are reasons why XML was not chosen for the Zaurus package manager. What problem is exactly fixed by using XML? I can see problems that will be introduced using XML, but I'm not seeing the upside.
The package format is derived from the Debian Package format, which is more flexible and useful then any other UNIX Package format. You might want to check out the Debian Developer's Reference for more information:
http://www.debian.org/doc/developers-reference/There are only a few fields that are actually required by the package manager in the control file. The rest are gravy and you can even make up your own. For example, you could add a feild "Coolness: very" If you wanted to. The Package tool will ignore this field, but maybe this is a field that some script will use or it is of some use to the user.
I use the following scripts, which I think are from the Zaurus Developers Site and one that I wrote quick and dirty (ipkg-expand).
Hope this helps.