OpenBSD Ports
   HOME

TheInfoList



OR:

Ports collections (or ''ports trees'', or just ''ports'') are the sets of
makefile In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called ''Makefiles'' which specify how to derive the target program. Though integrated develo ...
s and
patch Patch or Patches may refer to: Arts, entertainment and media * Patch Johnson, a fictional character from ''Days of Our Lives'' * Patch (''My Little Pony''), a toy * "Patches" (Dickey Lee song), 1962 * "Patches" (Chairmen of the Board song) ...
es provided by the
BSD The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
-based
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s,
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
,
NetBSD NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
, and
OpenBSD OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
, as a simple method of installing software or creating binary packages. They are usually the base of a
package management system A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. A package manager deals w ...
, with ports handling package creation and additional tools managing package removal, upgrade, and other tasks. In addition to the BSDs, a few
Linux distribution A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
s have implemented similar
infrastructure Infrastructure is the set of facilities and systems that serve a country, city, or other area, and encompasses the services and facilities necessary for its economy, households and firms to function. Infrastructure is composed of public and priv ...
, including Gentoo's
Portage Portage or portaging (Canada: ; ) is the practice of carrying water craft or cargo over land, either around an obstacle in a river, or between two bodies of water. A path where items are regularly carried between bodies of water is also called a ...
,
Arch An arch is a vertical curved structure that spans an elevated space and may or may not support the weight above it, or in case of a horizontal arch like an arch dam, the hydrostatic pressure against it. Arches may be synonymous with vaul ...
's Arch Build System (ABS),
CRUX Crux () is a constellation of the southern sky that is centred on four bright stars in a cross-shaped asterism commonly known as the Southern Cross. It lies on the southern end of the Milky Way's visible band. The name ''Crux'' is Latin for c ...
's Ports and
Void Linux Void Linux is an independent Linux distribution that uses the X Binary Package System (XBPS) package manager, which was designed and implemented from scratch, and the runit init system. Excluding binary blobs, binary kernel blobs, a base install i ...
's Templates. The main advantage of the ports system when compared with a binary distribution model is that the installation can be tuned and optimized according to available resources. For example, the system administrator can easily install a 32 bit version of a package if the 64 bit version is not available or is not optimized for that machine. Conversely, the main disadvantage is compilation time, which can be significant. For example, a full installation of a FreeBSD system, using ports, can take several days, depending on the hardware.


FreeBSD Ports

Jordan Hubbard Jordan K. Hubbard (born April 8, 1963) is an open source software developer, authoring software such as the Ardent Window Manager and various other open source tools and libraries before co-founding the FreeBSD project with Nate Williams and Rodn ...
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

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,
SmartOS SmartOS is a free and open-source SVR4 hypervisor based on the UNIX operating system that combines OpenSolaris technology with Linux's KVM virtualization. Its core kernel contributed to the illumos project. It features several technologies: Cros ...
/
illumos Illumos (stylized as illumos) is a partly free and open-source Unix operating system. It is based on OpenSolaris, which was based on System V Release 4 (SVR4) and the Berkeley Software Distribution (BSD). Illumos comprises a kernel, device ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
MINIX 3 Minix 3 is a small, Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2. The project's main goal is for the system to be fault-tolerant by detecting and rep ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and other
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
s. ''pkgsrc'' was created in August 1997 based on the existing FreeBSD ports system. It follows a quarterly release schedule and as of October 2018 contains over 22'000 packages. With their 1.4 release,
DragonFly BSD DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in Ju ...
announced that they would be adopting ''pkgsrc'' as their official package management system.
DragonFly BSD DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in Ju ...
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.


OpenBSD ports

In contrast to
FreeBSD Ports The FreeBSD Ports collection is a package management system for the FreeBSD operating system, providing an easy and consistent way of installing software packages. As of February 2020, there are over 38,487 ports available in the collection. It has ...
, on which it was originally based, the OpenBSD ports system is intended as a source used to create the end product,
packages Package may refer to: Containers or Enclosures * Packaging and labeling, enclosing or protecting products * Mail, items larger than a letter * Chip package or chip carrier * Electronic packaging, in electrical engineering * Automotive package, in ...
: installing a port first creates a package and then installs it. Ports are made up of a makefile,
text file A text file (sometimes spelled textfile; an old alternative name is flatfile) is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system. In operating ...
s 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 Source may refer to: Research * Historical document * Historical source * Source (intelligence) or sub source, typically a confidential provider of non open-source intelligence * Source (journalism), a person, publication, publishing institute o ...
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. In late October 2007, OpenBSD developer Nikolay Sturm announced that -stable ports tree should be considered unmaintained due to the lack of resources. This effectively forced users to run -current ports/base tree in order to keep up with security updates. In 2009, it was decided to revive the -stable ports tree under supervision of Robert Nagy and Jasper Lievisse Adriaanse. There are two unofficial web sites with a listing of OpenBSD ports and packages:
OpenPorts.se
originally announced as ports.openbsd.nu in 2006, is a custom-written web-site that does its own parsing of the ports tree structure and the updates, and has the functionality of tracking changes of a given port, having a shortcoming of not supporting some of the more complicated Makefile logic, and thus missing some 15% of packages that require the intricate knowledge of the ports tree structure and the use of the official tools.
ports.su
announced in February 2013 and is based on the official sqlports database, thus having a complete collection of all the packages and flavours that are available for the amd64 platform. Being based on the official tools, the "virtual" (non-primary) categories are readily available, and so is the information about the library, build and run-time dependencies. The source of the web-site is heavily based on the ports-readmes port, and is readily available in
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
.


See also

*
Android Runtime Android Runtime (ART) is an application runtime environment used by the Android operating system. Replacing Dalvik, the process virtual machine originally used by Android, ART performs the translation of the application's bytecode into native ...
which does
ahead-of-time compilation In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount ...
at installation *
MacPorts MacPorts, formerly DarwinPorts, is a package manager for macOS and Darwin. It is an open-source software project that aims to simplify the installation of other open source software. It's similar in function to Fink and the BSD ports collections ...
, used in
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. The name and design is based on the ports system *
Portage (software) Portage is a package management system originally created for and used by Gentoo Linux and also by ChromeOS, Calculate, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections. Gentoo is sometimes referred to ...
, used in
Gentoo Linux Gentoo Linux (pronounced ) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the ...
and inspired by the ports system


References


External links


OpenBSD Porter's Handbook

OpenBSD ports

The OpenBSD ports manpage

FreeBSD Ports



The ideas behind Compile
{{Package management systems Berkeley Software Distribution Free package management systems