pkgsrc

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
pkgsrc
DevelopersAlistair Crooks, Hubert Feyrer and Johnny C. Lam[1]
Initial releaseJanuary 4, 1998; 28 years ago (1998-01-04)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC, Unix shell
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemUnix-like
    TypePackage management system
    LicenseBSD License
    Websitewww.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.[2]

    As of September 2025, pkgsrc currently contains over 29,000 packages[3] 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

    [edit | edit source]
    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

    [edit | edit source]

    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][2]

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

    Packages

    [edit | edit source]

    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:

    References

    [edit | edit source]
    1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').