Howdy!I've had a good chance to go over my old PackageManager and get it compiled on Haiku and almost fully stripped from LoonCAFE. I didn't realize when I first started working on it that I had actually designed a really simple depot layout, so I'd like to pass on the basics to hopefully start the fire behind the PackageManager ( mine, or whichever, doesn't matter, as long we get one ).
As it stands we have the following: Category ->CategoryID Package ->PackageID ->DepencyList ( list of PackageIDs + optional version criteria ) InstalledPackage ->OverwriteLog DepotInterface ( from app to depot ) NetworkInterface ->DepotHeader ->DepotCategoryList ->DepotPackageList CachedDepot InstalledPackageList FilePolicy PackageInstaller PackageUninstallerThat is the application side, thus far. PackageInstaller & Uninstaller are not fully implemented and would just be automaters for the normal package format. I'm sure I missed something as well ;-)
The NetworkInterface has the basics setup for the following network configuration:
Standard http or ftp server. .bmsg = compressed, flattened BMessage /DepotHeader.bmsg /DepotRedirect.php - server load balancing /depot/CategoryList.bmsg /depot/[CategoryID]/CategoryList.bmsg /depot/[CategoryID]/PackageList.bmsg /depot/[CategoryID]/images/icon.png /depot/[CategoryID]/images/background.png /depot/[CategoryID]/[PackageID]/PackageHeader.bmsg /depot/[CategoryID]/[PackageID]/images/icon.png /depot/[CategoryID]/[PackageID]/images/background.png /depot/[CategoryID]/[PackageID]/Package.pkg.gzAll ideas are welcome, I'm sure someone has put more thought into this than I did years ago, but this seems like a pretty simple method ( when you're a one man show, you look for simplicity :-) ).
Let me know what y'all think. Doesn't have to be .bmsg of course, could be xml or whatever.
Oh, the background image of a category is shown centered behind the package list in the PackageManager and the background for a package is shown in the PackageView.
I'd share, but the UI is not buildable w/out LoonCAFE so I am stripping the UI::Builder from LoonCAFE so I don't have to create a new UI just to get input :-)
--The loon