I can help with this, perhaps it might be better to stop by the -devel channel in IRC, but basically:
* an entry needs to be added to the Distro table. This must be done manually with an INSERT INTO Distro ... command in mysql
* each package in the Software > Packages screen must have a package source added to them. For upstream non-linuxmce packages, this must be a separate source (look at, for example, any package without a manufacturer (the ones at the top.)... For LinuxMCE packages, you need to add a compatibility record in the Packages section.
The package database is literally a database on top of whatever package system that the target system is using. Right now, we have package entries and scripts for Debian derived distributions.
It is split into two separate programs, MakeRelease and ConfirmDependencies, they both use the Package database you see in the Web Admin, to either build packages for the system, or to install them into a target system respectively.
Each individual package is broken up into several basic sections:
* A compatibility record, whether the package should be built/installed cart blanche for a given operating system or distribution.
* A list of dependencies, other entries in the Package database that the package will need to be installed. For upstream packages, this is usually empty, because these packages are not built by us, and already have their own dependencies.. For our own packages, there are entries in here which correspond to other Package entries, these get added either into Depends (for Pluto built packages), or Pre-Depends (for non-Pluto packages)
* A list of package sources, where to get this package (and more specifically, which script to use to grab the package.), usually, this is either Pluto Addon, or Ubuntu Addon packages. Look at some of the packages to see. This is followed by which repository to get it out of, AND more importantly, given the source, which distro it is compatible with (because some repositories may work across multiple distro versions, for example).
* and finally, for packages we build, a list of files that are part of the package (this is used by MakeRelease to build the package).
This is literally used by our build scripts, to output each and every package needed.
-Thom