Pkgsrc

From Wikipedia, the free encyclopedia
Revision as of 16:09, 1 October 2025 by imported>Mindmatrix (29,000 packages as of September 2025)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Short descriptionTemplate:Primary sources Template:Lowercase title Template:Infobox software 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.Template:R

Template:Asof, pkgsrc currently contains over 29,000 packages<ref>Template:Cite mailing list</ref> 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,<ref name=pkgsrc-linux>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> macOS,<ref name=pkgsrc-osx>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Solaris, and QNX.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

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 Template:Mono and Template:Mono tools. A high-level utility named Template:Mono 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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Several vendors, including MNX.io, provide binary packages for popular operating systems, including macOS and Linux.Template:R

Supported platforms

Platform Date 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<ref name="10yrs-pt1"/> based on the FreeBSD ports system and intended to support the NetBSD packages collection. It was officially released as part of NetBSD 1.3<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> on January 4, 1998. DragonFly BSD used pkgsrc as its official package system from version 1.4 in 2006, to 3.4 in 2013.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>Template:R

On 2017-09-12, a commit message policy that accommodates DVCS was established by the project.Template:R

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.<ref name=tnf-packages>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

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

|CitationClass=web }}</ref> Packages are provided on a rolling release basis from the trunk (HEAD, in CVS terminology) of pkgsrc, with updates every few days;<ref name=pkgsrc-osx/> additionally, quarterly stable releases of pkgsrc for Joyent's own SmartOS are also provided (dating back to 2012Q4).<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

|CitationClass=web }}</ref><ref name=uwm2>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Packages are only built from the quarterly releases of pkgsrc, aiding use in long-term experiments, where stability and reproducibility of the findings is of the essence.<ref name=msg025383>Template:Cite mailing list</ref>

References

Template:Reflist

Template:Portal

Template:NetBSD Template:Package management systems