The most important thing on GPMS is how packages will be managed. IMHO, to manage packages we need 2 directories. The first will be /packages or /stow, that will be where packages will put their binaries. The second will be /var/'GPMS', where every package will have a small file with some data about it, some information like 'full name', 'description', 'version', 'library dependencies' and 'binary dependencies'... Something simple to people be able to create one using they favorite editor.
/var/'GPMS' as you call it, is not needed. This data is stored with the actual binary package in a sub-directory called SUMMARY. When a package is removed, GPMS will check if the library dependencies are used by other packages, if they aren't, they are removed. If you try to remove a package or library that are a dependency of other, the 'GPMS' will return an error. This isn't handled by GPMS, this is handled by a translator that is used by stowfs. Nor will a package be removed if dependencies aren't fullfiled, it will just be noted in some manner that the package has unfullfiled dependencies, say in a file called /stowfs/DEPENDENCIES. Note that what you call GPMS, is in reality a file-system, that consists of stowfs, kitten, something to calculate dependencies and other tools. To install packages we have many options. The one is use the advantages of GNU Source Installer to create packages from source that users auto-tools in a proper way. Installation is really only done in one way, making a symlink to /stowfs, what the symlink points to is what you'd get from `make install DESTDIR=/some/place'. Then it is up to a front-end to check the dependencies of a package with the help of /stowfs/DEPENDENCIES, and ask the user to act accordingly. Cheers. _______________________________________________ gnu-system-discuss mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-system-discuss
