| With the increased flexibility in implementing filesystems as
| per the requirements, we can implement the functionality
| similar to apt-get, emerge or yum... (dependency tracking,
| versions tracking...) in the filesystem itself.
We can't. apt-get, emerge, and yum are interactive processes,
a file-system requires a non-interactive processes since it
doesn't have any communication with the terminal and keyboard.
If something goes wrong, you want it to fail as cleanly as
possible, the more `magic' you add, the worse things can fail.
Yes we can. If package A says it depends on having B provided,
anbd B is not provided, then treat A as not really installed, and
display a notice about this in a suitable place.
If packages C and D say they are exclusive, and both are
"installed", and the user has not indicated a preference between
them, then arbitrarily choose one of them, and display a notice
about this in a suitable place telling the user to please choose.
What you are thinking of is simply storing the current system
dependency tree somewhere for the user (or program) to look at.
apt-get, yum, etc do a bit more. For example, when you issue `apt-get
install emacs', you will get a question if you wish to download emacs,
including any dependencies, and then if you answer yes it will proceed
to download all of these packages. It might also query the user about
any helpful packages to install, and maybe report any errors while
downloading. This is the kinda of functionality I was refering to.
The functionality we want in stowfs is the functionality of dpkg (dpkg
reports if any dependencies are not resolved to any program using it),
not apt-get.
It is true that this does do the whole job. It does the bottom
half. We will want a program that the user can use to browse the
available packages and select them. We want it to know, when the
user asks to install package A, to ask the user "Do you want B as
well?"
With luck, we can use something like dselect which already does
this job.
Agreed, including a command line version of dselect (i.e. apt-get).
Happy hacking.