
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The last point is a bit of contention under Linux. Sure, apt-get, urmpi, and the like make it easy to get and install the latest open source software from your favourite vendor, but they don't cover 'other'software. Third party, and closed source software is somewhat more difficult.
It is possible (and indeed a popular thing to do), to take some commercial software and make a package (either deb/rpm/etc) of it and then install that, thus allowing you to use your usual package management stuff to manage the package. Of course this is pretty difficult for Joe Bloggs, but for an enterprise user this is surprisingly effective.
The 'Applications' folder is accessible from the users Control panel as a special directory, allowing write access with sudo and the rootpassword. The folder itself would most likely sit in somewhere like /usr/local/Applications/. Thus, our application 'Foo', would be in /usr/local/Applications/Foo/. It's file structure would look something like this: /usr/local/Applications/Foo/ /usr/local/Applications/Foo/icon.svg /usr/local/Applications/Foo/description.txt /usr/local/Applications/Foo/main -> ./tree/usr/local/bin/foo /usr/local/Applications/Foo/tree/usr/bin/foo /usr/local/Applications/Foo/tree/usr/lib/foo/libfoo.so /usr/local/Applications/Foo/install/etc/foo/foo.conf
This is a regularly quoted idea. For instance: http://www.sunsite.ualberta.ca/Documentation/Gnu/stow-1.3.2/ Personally I'm not a big fan of the idea of installing into one place, as it means I lose all the benefits of the Unix filesystem. For example: * It's difficult to share content across multiple machines (which may have multiple architectures, eg, a "high scores" across a network of multiple machines. If I share the tree, I get the config files, and binaries and everything. * I can't mount /usr/local readonly to protect against rogue applications/users. etc.
/usr/local/Applications/Foo/home/.foo/
er, what happens if more than one user logs into this machine, perhaps you mean /usr/local/Applications/Foo/home/$USER/.foo/ Then I have to create ..../home/$USER directories for every user I create, and every time I install an application. If I share this across multiple machines then I have to make sure users (and uids) are the same across them all.
To install, symlinks from are made from /usr/bin/foo and /usr/lib/foo/ and /usr/local/Applications/Foo/tree/usr/lib/foo/ to/usr/local/Applications/Foo/tree/usr/bin/foo, and to /usr/local/Applications/Foo/tree/usr/lib/foo/. A copy of /usr/local/Applications/Foo/install/etc/foo/foo.conf is made to /etc/, so that changes made to the configuration do not affect the original files of the program. At the most basic level, Foo/ needs to be copied from it's original source to /usr/local/Applications/ and a script run to copy files in Foo/install/ and make symlinks of the files in Foo/tree/. However, this allows for much greater usability. The file Foo/icon.svg can replace the standard folder icon, and Foo/description.txt can contain multiple language descriptions of the program, to be read by any program used to handle the installation and removal of applications.
This sounds very NeXTish where if a "directory" had a ".app" extension then the GUI treated it like an entire application. MacOS X has "stolen" this idea with their "bundles".
I will emphasise again that this system is not meant to replace things link apt-get and rpm, but sit alongside them, and provide a common simple platform independent way of installing third party software.
An interesting idea, however I think it more likely that people will start packaging RPM's than some other format. - -- People who push both buttons should get their wish. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: Only when you are sure they have you, can you stop being paranoid iD8DBQE/OzFgcAgRpy8z8UQRAmptAKCsaa0lLJzu80C9hwtLwC9dvXioZACfT0QH YkCSGqbvhH3inVbxn+XatL4= =tjNU -----END PGP SIGNATURE-----