xpkg 0.1.3 review
Downloadxpkg project's goal is to create a package and package management system for the DarwinPorts ports collection. Here are some key fea
|
|
xpkg project's goal is to create a package and package management system for the DarwinPorts ports collection.
Here are some key features of "xpkg":
be lighweight (no http-client, etc.)
make use of xar
rely on few components to make installation (e. g. during OS install) painless
provide library functionality so that GUI front ends can be created easily
robustness (atomic installation w. rollback)
Packages consist of a name, version and revision. It also has a major and a minor build number and a collection of so called items (see dependencies for details). Every package installed must have a unique name, so only one package with name postgresql may be installed at one moment. The version and revision numbers are just for users to see what software they have installed. The major and a minor numbers are used for dependencies.
Dependencies arevery simple: A package can provide and request so called items. An item basically consists of a name (string), a major and minor number (int). If you want to install a package that requires a certain item, you have to have installed another package that provides just that item (a higher minor number is ok, too).
The basic use for items is to use the package name (e. g. python24) as an item's name you provide. So python24 will provide an item with name being python24. The major and minor numbers show the state of the item. The minor number should get incremented on every build of the package, e. g. due to a bug fix release. The major number should get increased if something serious changes and the provided features change, get incompatible, etc..
This system also makes virtual packages unnecessary and works well without OR-dependencies like require a OR b.
What's New in This Release:
xpkg now comes with xpkgcreate(1), a tool to easily create packages from catalog files.
xpkg 0.1.3 keywords