I have a number of comments on this subject.
- A URL that lists which packages are known to work and
where to get them will be very helpful. If they are in
the pkg format so much the better. If a binary
distribution is available that'd be great but the key
thing is to put this info. together in one place. Ptr to
this URL can be posted via FAQ or something.
What will be even niftier is a mechanism like this that
can be used for any package for any OS on any machine
architecture. This can be specified by a tuple: name, os,
arch, author(s), version, description, source location,
binary location, comments, certification, see-also, etc.
Sort of a global, distributed database for packages but I
think I am dreaming:-)
- Notice that an install is not intrinsically tied to a
specific package. In general, we have a set of packages
that must be installed together and an open set of
packages that we may wish to install. Some packages
depend on other packages. Then there are things that need
to be done to `prepare' for an install (e.g. formatting
and partitioning a disk) and things that need to be done
to `finish' an install. We can similarly define what it
means to `remove' a package as well as upgrade a package.
If we can describe such lower level details in a machine
independent fashion, it should be possible to write a
number of different installer programs that operate in
different environments but feed of off the same description.
The benefit of abstracting out the installation process
in this way is that we can install NetBSD or some package
on top of NetBSD or pretty much anything else using a
standard style of interaction. If we have access to X
windows, we can use a fancier installer with all sorts
of bells and whistles but an initial install of an OS can
be quite parsimonious.
Of course, this is an idealized model and we won't be able
to abstract out everything. Even so, this will be a big
step up from install shell scripts. It should also allow
you to cleanly uninstall a complete or partial install,
query which things have been installed etc.
The user interface should allow you to *mark* which things
you want to install before installing them (as well as
mark which things you want to remove before removing
them). If you are connected to the 'net, you should be
able to install pretty much anything (assuming my dream
above becomes reality!).
- While NetBSD suffers from a lack of such tools more so
than Linux (and even FreeBSD), I sincerely hope we can
come up with a solution that is not specific to NetBSD.
Comments?
Bakul