Wednesday, January 16, 2008

Package Management based on bundles

Read the post on bundles first, if you are not coming from an OSX background


You can use package management with a bundle type of system easily, in fact, in a better way then you can with normal files. The failure to exploit hidden files in bundles is where apple has failed in terms fo bundling.

Its easy to do. And you can also overcome different architectures by using different contents.plist files for different archs (which should be based on the linux kernel arch)


1) Scan over the harddisk structure (or use file monitoring) and find all sources.apt files in bundles.
2) The sources.apt will just be a list of apt sources with updates for the program
3) Scan over all the files again and find all bundles, scan their contents.plist to grab a list of all the files, their location (in case there are multiple copies, and their versions. Or isolate this process to certain directories.
4) Scan all the Apt repos to find updates for the bundles
5) Offer them to the user, or allow a user to right click a file, and select an update option in the context menu.
6) Update the files in their place from the mirrors.


Its a more dynamic form a package management, as many files can be now moved around. Library locations should be standardised though, and kept there, or else serious problems will occur with program loading. And, the repos are decentralised. Finally, you can right click any compatible bundle to update them and their dependencies.


To delete programs, you could drag the bundle to the recycle bin, it could read the contents file, and handle a proper uninstallation if the user wishes.

No comments: