Utility for safe updating of ports in base system
talon at lpthe.jussieu.fr
Wed Mar 19 17:10:52 PDT 2008
Doug Barton wrote:
> So, I renew my inquiry. :) Is portmaster a suitable candidate to fulfill
> the role of the utility described, and if not, why not?
At the risk of being flamed, i would venture to say that such an utility
should be able to upgrade things based of *binary* packages, and
consequently that portmaster is not a suitable candidate. For example
pkg_add installs a binary package, if you want to compile and install
you run "make all install clean" in the ports tree. One of the
requirements of an upgrade system is predictability, this can only
be achieved by using binary packages. Another requirement, in my opinion,
is speed, and the lack of speed, which is completely hidden when you
compile your packages will be immediately apparent if you try to use
packages. Indeed portupgrade has options -P and -PP to work with
packages which could serve as a prototype for a "pkg_upgrade" written
in C, except that they work poorly, and in particular run slowly.
In my opinion, an example of a correct "pkg_upgrade" type programm
written in C++ is the Debian apt-get. It works predictably, fast, etc.
One of its features, that i consider very important for correct
operation, is that it computes the list of all packages to be deleted
and all packages to be installed and asks the user if he agrees before
doing anything. It fetches all necessary packages before installing or
deleting anything. Hence you can be sure that the upgrade process will
not end in a mess if something crashes in the middle, like it is the
case with all present standard FreeBSD upgraders.
More information about the freebsd-ports