*** Welcome to piglix ***

Ports collection


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 Arch Build System (ABS), CRUX's Ports and Void Linux's Templates.

The main advantage of the ports collection method of install is the fine tuning and optimization of the software installation, according to the hardware resources available. For instance, the system administrator can easily create a 64-bit install of a piece of software on a 64-bit system if a 64-bit binary isn't readily available instead of using a 32-bit version not optimized for such a system.

On the other hand, the main disadvantage is the extra time spent in packages compilation. For instance, a full install of a FreeBSD system through the ports collection can take up to several days, depending on the system performance.

Jordan Hubbard committed his port make macros to the FreeBSD CVS repository on August 21, 1994. His package install suite Makefile had been committed a year earlier (August 26, 1993). The core ports framework was at first maintained by Hubbard along with Satoshi Asami for several years. The Ports Management Team was later formed to handle this task.

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 packages. With their 1.4 release, DragonFly BSD announced that they would be adopting pkgsrc as their official package management system.DragonFly BSD however built their own ports implementation called dports with the release 3.4 and switched over to it completely with 3.6. The development is done via their git.


...
Wikipedia

...