Ports collection
From Wikipedia, the free encyclopedia
Ports collections (or ports trees, or just ports) are the sets of makefiles and patches provided by the BSD-based operating systems, FreeBSD, NetBSD and OpenBSD, as a simple method of installing software or creating binary packages. They are usually the base of a package management system, with ports handling package creation and additional tools managing package removal, upgrade, and other tasks. In addition to the BSDs, a few Linux distributions have implemented similar infrastructure, including Gentoo's Portage, Arch's Pacman and CRUX's pkgutils.
Contents |
[edit] NetBSD's pkgsrc
NetBSD's pkgsrc ports collection is distinctive in that it aims to be portable and is usable on a number of operating systems aside from NetBSD itself, including the other BSDs, Linux and other Unix-likes. pkgsrc was created in August 1997 based on the existing FreeBSD ports system. It follows a quarterly release schedule and as of July 2006 contains over 6000 ports. With their 1.4 release, DragonFly BSD announced that they would be adopting pkgsrc as their official package management system[1].
[edit] OpenBSD ports
In contrast to FreeBSD ports, on which it was originally based, the OpenBSD ports system is intended as a source used to create the end product, packages: installing a port first creates a package and then installs it. Packages are made up of a makefile, text files with descriptions and installation messages, any patches required to adjust the program to work on OpenBSD and a packing list listing the files to be included in the packages. The ports tree uses a set of standard makefiles, some of which are shared with the source tree, to provide the bulk of its functionality; this shared infrastructure includes many utility functions for port developers and means that ports can often be made very simply. As a security precaution or an aid when developing new ports, port builds may be run using systrace and a default policy is provided.