[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Comparing PackageFS and GNU PM

From: Luca Ferroni
Subject: Comparing PackageFS and GNU PM
Date: Fri, 24 Sep 2004 03:02:31 +0200

Hi all,
I'm new to gnu-system-discuss, but I have read many messages belonging to 
GNU package management plan.

I am developing an user space file system I called PackageFS
(see, which shares some goals
with GNU packagefs. Its purpose is to make the user able to manage packages
with ordinary file system operations.
I give a short explanation through some examples:

After mounting pkgfs you find AVAILABLE and INSTALL directories which
contain respectively entries of available and installed packages.

AVAILABLE entry example:  emacs21/info .
info is a "fake file" which returns package metadata if read.

INSTALL entry holds a subtree of all package owned files and
two additional subdirectories DEPENDS_ON  and DEPEND_FOR
that stores symlinks to dependencies and reverse dependencies 
INSTALL entries.

Then you can:
- Install a file with "cp -a AVAILABLE/emacs21 INSTALL/"
- Remove a file with "rm -r INSTALL/emacs21"
- Show files installed by a package with "ls -R INSTALL/emacs21"
- Find which package owns a file with "find INSTALL/ -path <pathname>  -xdev"
- Update package database with "touch AVAILABLE/"
- Upgrade whole system with "touch INSTALL/"

I read your plans about GNU PM, and I think it is great. 
I think we can point out some advantages and some flaws of these two ideas:
(I am not very skilled in the GNU system, so please correct me if I am wrong)

1) PackageFS relies on existing package managers... currently they work quite 
and maybe it would be better to improve them than building a new one from 

2) [Derived from 1)] Dependencies managing it is not a PackageFS matter.

3) PackageFS is transparent to (virtually) all GNU/Linux distribution, but this 
is not
a GNU PM issue. However PackageFS could be transparent to any GNU distribution
(I think currently no many changes should be made in order to make it working 
Debian GNU/Hurd)

4) In GNU PM, /packages and its symlinks represent a "starting point" and this
make it more powerful than PackageFS where symlinks are and "end point":
applications get real filesystem which in GNU appears as a consequence of 
symlinks in /packages.

5) GNU PM could give support to package versioning or whatever else it wants, 
whereas PackageFS features depend on underlying package manager.

6) In PackageFS, installation is accomplished through  _only_one_ operation 
(it may be cp, mkdir or drag&drop). In GNU PM you firstly need to extract
package and then to create symlink. This is an important point to be evaluated
if you want to provide usability to all users.

7) In GNU PM you can set the translator to get installed packages 
even from ~/packages, so any user has its own system. ...but you should
have an active translator for each user I think.

There are some similarities too:

1) If you go into /packages you get by-package system view, 
which is very useful;

2) packages are removed with a single operation

Future works on PackageFS include:

1) Support to multi-administration: a new idea to give administration 
to some users on specific packages. I think this feature could fit to GNU PM 

2) Exporting the file system to provide easy cluster management.

In the end, I think GNU PM idea is great, and I probably would enjoy it.
But what about an ordinary user ? We should evaluate
how it improves ordinary package management features. 
Do we really need to develop such a new PM from scratch ?

I'd like to finish this message with a contribute to GNU PM
(if you think it should be developed):

In PackageFS you can set mount options to view packages as a mere list
or by categories or priorities. I think categories and priorities should be
supported by GNU PM too. It may be useful to split packages in those sets,
since we have a lots of packages on one system.
I don't understand if translator affects the directory /packages itself.
If so, you can add one more option to it to reach this goal.

One question:
I want to present GNU PM among related works in my thesis:
how should I refer to it ? Is GNU Package Manager right ? 

Sorry for message length.
Thank you for improving Free Software every day :)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]