I am sorry to send my third mail about the same subject, but this is a small definition wrote by AMS and improved by me after a dialog with him.
** Package managment on the GNU system This document outlines how the package management system will work and be used on the GNU system. * The package manager -- stowfs The package manager on GNU is a file-system, so one will use normal file-system commands to interact with it. For example, the installation of a package would be done either by making a symlinking/copying/moving the current binary tree to /stow or using tools that will organize packages in your system and manage dependencies. So to install a package on GNU, for example, we could execute the following command: # ln -s /directory/where/package/lives /stow/package To uninstall the package, you just remove the symbolic link or directoryin /stow that contains your package. That is: # rm /stow/package * The Package Format The project of the binary package was done to be very simple (compatible to something created by a 'make install DESTDIR=/somewhere/package-vers_N') and functional. On packages we will have a SUMMARY directory, where you will find some informations about the package. This directory is optional to turn possible install packages directly from source (make install DESTDIR=/stow/pack-vers_N). The packages will have no pre/post-install/deinstall scripts. * Configuration files -- kitten When you edit a file in /etc, you will be interacting with the kitten translator. What happens when you save your changes back to the disk is that your local changes will be stored in /stow/local/etc. So you don't really end up modifying the "virtual" file that lives in /etc. What kitten does is something aking to `cat', i.e. it concattenates several files into one (files from "/stow/*/etc" to be exact), but with the extra feature of allowing you modify the conkittanated file as if it was one big file. * Dependencies -- not-named-yet The dependency translator is really only useful to front ends (command line, or GUI based). It will read a file that contains a dependency listing in /stow/package, and then calculate what dependencies are missing (or not missing). The information will then be stored in a file in /stow. Details pending on the format for dependency listings, the file that will keep a listing of what dependencies are not fullfilled. * Duplicated files A problem that may apears when you put each package in one separated directory is that some packages provides files with the same name. Currently, Stowfs only merges the file of the first package, i.e. if we have a /stow/a/bin/foo and a /stow/b/bin/foo, only /stow/a/bin/foo will be merged and will apears on /bin/ A better solution may be implemented in stowfs, an option is merge /stow/a/bin/foo as /bin/[EMAIL PROTECTED] and /stow/b/bin/foo as /bin/[EMAIL PROTECTED] and, by default, create a symlink from the first (/bin/[EMAIL PROTECTED]) to /bin/foo, but, if the user preffer, it can change this link to appoint to /bin/[EMAIL PROTECTED] If this files are config files (/etc/), this problem is solved by kitten conkittanatening the files that have the same name. -- --- leonardolopespereira at gmail.com GNU Privacy Guard (GPG) ID da chave: 83E8AFBF | servidor: keys.indymedia.org gpg --keyserver keys.indymedia.org --recv-keys 83E8AFBF
signature.asc
Description: This is a digitally signed message part
_______________________________________________ gnu-system-discuss mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-system-discuss
