Pkgsrc

Last updated
pkgsrc
Developer(s) Alistair Crooks, Hubert Feyrer and Johnny C. Lam [1]
Initial releaseJanuary 4, 1998;25 years ago (1998-01-04)
Stable release
2023Q3 [2] / 28 September 2023;2 months ago (28 September 2023)
Repository
Written in C, Unix shell
Operating system Unix-like
Type Package management system
License BSD License
Website www.pkgsrc.org

pkgsrc (package source) is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently; in 1999, support for Solaris was added, followed by support for other operating systems. [3]

Contents

pkgsrc currently contains over 22,000 packages and includes most popular open-source software. It is the native package manager on NetBSD, SmartOS and MINIX 3, and is portable across 23 different operating systems, including AIX, various BSD derivatives, HP-UX, IRIX, Linux, [4] macOS, [5] Solaris, and QNX. [6]

There are multiple ways to install programs using pkgsrc. The pkgsrc bootstrap contains a traditional ports collection that utilizes a series of makefiles to compile software from source. Another method is to install pre-built binary packages via the pkg_add and pkg_delete tools. A high-level utility named pkgin also exists, and is designed to automate the installation, removal, and update of binary packages in a manner similar to Debian's Advanced Packaging Tool. [7]

Several vendors, including MNX.io, provide binary packages for popular operating systems, including macOS and Linux. [5] [4]

Supported platforms

PlatformDate added
NetBSD October 1997
Solaris March 1999
Linux June 1999
Darwin and macOS October 2001
FreeBSD November 2002
OpenBSD November 2002
IRIX December 2002
BSD/OS December 2003
AIX December 2003
Interix (for Windows NT)March 2004
DragonFly BSD October 2004
OSF/1 November 2004
HP-UX April 2007
QNX October 2007
Haiku January 2010
MINIX 3 August 2010
MirBSD January 2011
illumos and SmartOS February 2011
Cygwin May 2013
GNU/kFreeBSD July 2013
Bitrig June 2015

History

On October 3, 1997, NetBSD developers Alistair Crooks and Hubert Feyrer created pkgsrc [1] based on the FreeBSD ports system and intended to support the NetBSD packages collection. It was officially released as part of NetBSD 1.3 [8] on January 4, 1998. DragonFly BSD used pkgsrc as its official package system from version 1.4 in 2006, to 3.4 in 2013. [9] [3]

On 2017-09-12, a commit message policy that accommodates DVCS was established by the project. [10]

Packages

The NetBSD Foundation provides official, pre-built binary packages for multiple combinations of NetBSD and pkgsrc releases, and occasionally for certain other operating systems as well. [11]

As of 2018, several vendors provide pre-built binary packages for several platforms:

Related Research Articles

<span class="mw-page-title-main">Common Desktop Environment</span> Desktop environment for Unix, Unix-like, and OpenVMS operating systems

The Common Desktop Environment (CDE) is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit. It was part of the UNIX 98 Workstation Product Standard, and was for a long time the Unix desktop associated with commercial Unix workstations. It helped to influence early implementations of successor projects such as KDE and GNOME desktop environment, which largely replaced CDE following the turn of the century.

<span class="mw-page-title-main">Oracle Solaris</span> Unix operating system originally developed by Sun Microsystems

Solaris is a proprietary Unix operating system originally developed by Sun Microsystems. After the Sun acquisition by Oracle in 2010, it was renamed Oracle Solaris.

<span class="mw-page-title-main">Portage (software)</span> Gentoo package management system

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 as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project was concerned with using Portage to manage other operating systems, such as BSDs, macOS and Solaris. The most notable of these implementations is the Gentoo/FreeBSD project.

<span class="mw-page-title-main">Ion (window manager)</span>

In Unix computing, Ion is a tiling and tabbing window manager for the X Window System. It is designed such that it is possible to manage windows using only a keyboard, without needing a mouse. It is the successor of PWM and is written by the same author, Tuomo Valkonen. Since the first release of Ion in the summer 2000, similar alternative window management ideas have begun to show in other new window managers: Larswm, ratpoison, StumpWM, wmii, xmonad and dwm.

<span class="mw-page-title-main">OpenSolaris</span> Open source operating system from Sun Microsystems based on Solaris

OpenSolaris is a discontinued open-source computer operating system based on Solaris and created by Sun Microsystems. It was also, perhaps confusingly, the name of a project initiated by Sun to build a developer and user community around the eponymous operating system software.

OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, called containers, zones, virtual private servers (OpenVZ), partitions, virtual environments (VEs), virtual kernels, or jails. Such instances may look like real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can see all resources of that computer. However, programs running inside of a container can only see the container's contents and devices assigned to the container.

BioLinux is a term used in a variety of projects involved in making access to bioinformatics software on a Linux platform easier using one or more of the following methods:

Ports collections 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 FreeBSD Ports collection is a package management system for the FreeBSD operating system. As of February 2020, there are over 38,487 ports available in the collection. It has also been adopted by NetBSD as the basis of its pkgsrc system.

<span class="mw-page-title-main">FreeBSD</span> Free and open-source Unix-like operating system

FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version of FreeBSD was released in 1993 developed from 386BSD and the current version runs on x86, ARM, PowerPC and RISC-V processors. The project is supported and promoted by the FreeBSD Foundation.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

GNU variants are operating systems based upon the GNU operating system. According to the GNU project and others, these also include most operating systems using the Linux kernel and a few others using BSD-based kernels.

.pkg (package) is a filename extension used for several file formats that contain packages of software and other files to be installed onto a certain device, operating system, or filesystem, such as the macOS, iOS, PlayStation Vita, PlayStation 3, and PlayStation 4.

The Image Packaging System, also known as IPS or pkg(5), is a cross-platform package management system created by the OpenSolaris community in coordination with Sun Microsystems. It is used by Solaris 11 and several Illumos-based distributions: OpenIndiana, OmniOS, XStreamOS and a growing number of layered applications, including GlassFish, across a variety of Operating System platforms. IPS is coded in the Python programming language.

<span class="mw-page-title-main">Illumos</span> Free software implementation of the Solaris kernel

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 drivers, system libraries, and utility software for system administration. This core is now the base for many different open-sourced Illumos distributions, in a similar way in which the Linux kernel is used in different Linux distributions.

<span class="mw-page-title-main">OpenIndiana</span> Solaris-like operating system based on illumos

OpenIndiana is a free and open-source illumos distribution descended from UNIX System V Release 4 via the OpenSolaris operating system. Forked from OpenSolaris after OpenSolaris was discontinued by Oracle Corporation, OpenIndiana takes its name from Project Indiana, the internal codename for OpenSolaris at Sun Microsystems before Oracle’s acquisition of Sun in 2010.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

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 available for many platforms, including servers, desktops, handheld devices, and embedded systems.

<span class="mw-page-title-main">SmartOS</span> Operating system

SmartOS is a free and open-source SVR4 hypervisor based on the UNIX operating system that combines OpenSolaris technology with bhyve and KVM virtualization. Its core kernel contributes to the illumos project. It features several technologies: Crossbow, DTrace, bhyve, KVM, ZFS, and Zones. Unlike other illumos distributions, SmartOS employs NetBSD pkgsrc package management. SmartOS is designed to be particularly suitable for building clouds and generating appliances. It was originally developed for and by Joyent, who announced in April 2022 that they had sold their business supporting and developing of Triton Datacenter and SmartOS to MNX Solutions. It is open-source and free for anyone to use.

<span class="mw-page-title-main">OpenZFS</span> Open-source implementation of the ZFS file system

OpenZFS is an open-source implementation of the ZFS file system and volume manager initially developed by Sun Microsystems for the Solaris operating system and now maintained by the OpenZFS Project. It supports features like data compression, data deduplication, copy-on-write clones, snapshots, and RAID-Z. It also supports the creation of virtual devices, which allows for the creation of file systems that span multiple disks.

References

  1. 1 2 "10 years of pkgsrc - pkgsrc and the concepts of package management 1997-2007 (part 1)". www.netbsd.org. The NetBSD Foundation. Retrieved 14 October 2010.
  2. Greg Troxel (28 September 2023). "Announcing the pkgsrc-2023Q3 branch" . Retrieved 5 October 2023.
  3. 1 2 David Chisnall (2006-10-06). "NetBSD: Not Just for Toasters". InformIT . Prentice Hall Professional . Retrieved 2019-07-25.
  4. 1 2 3 "Joyent Packages Documentation - Install On Linux". Joyent . Retrieved 2018-10-10.
  5. 1 2 3 4 "Joyent Packages Documentation - Install On macOS". Joyent. Archived from the original on 2018-10-06. Retrieved 2018-10-10.
  6. Perkin, Jonathan (2018-10-05). "Announcing the pkgsrc-2018Q3 release". NetBSD . Retrieved 2018-10-10.
  7. "pkgin, a binary package manager for pkgsrc".
  8. "Information about NetBSD 1.3".
  9. Dillon, Matthew (2005-08-31). "PKGSRC will be officially supported as of the next release". DragonFly users mailing list.
  10. Thomas Klausner (2017-09-12). "pkgsrc Commit Message Policy". pkgsrc-users@ (Mailing list). NetBSD . Retrieved 2019-05-09.
  11. "Index of pub/PKGSRC/Packages/".
  12. 1 2 "Joyent's packages, available for SmartOS/illumos, Linux, and OSX". Archived from the original on 2014-07-15. Retrieved 2018-10-11.
  13. "Index of /Packages/".
  14. 1 2 "Re: Pkgsrc binary packages now available for scientific computing". pkgsrc-users (Mailing list). NetBSD. 2017-08-01. Retrieved 2018-10-13.
  15. "mirror1.hpc.uwm.edu/pkgsrc/" . Retrieved 2018-10-11.
  16. "Software Management". University of Wisconsin–Milwaukee, High Performance Computing dept. Retrieved 2018-10-11.