pkgsrc
![]() | |
Developer(s) | Alistair Crooks, Hubert Feyrer and Johnny C. Lam[1] |
---|---|
Initial release | January 4, 1998 |
Stable release | 2024Q2[2]
/ 30 June 2024 |
Repository | |
Written in | C, Unix shell |
Operating system | Unix-like |
Type | Package management system |
License | BSD License |
Website | www |
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]
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
[edit]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]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
[edit]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:
- Since at least 2014,[12] Joyent has provided binary packages for SmartOS/illumos, macOS,[5] and Enterprise Linux (CentOS/Oracle/Red Hat/Scientific).[4][12] Packages are provided on a rolling release basis from the trunk (HEAD, in CVS terminology) of pkgsrc, with updates every few days;[5] additionally, quarterly stable releases of pkgsrc for Joyent's own SmartOS are also provided (dating back to 2012Q4).[13]
- Since 2017,[14] University of Wisconsin–Milwaukee has provided binary packages for NetBSD, RHEL/CentOS, and Darwin/macOS.[15][16] 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.[14]
References
[edit]- ^ a b "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.
- ^ Greg Troxel (30 June 2024). "announcing the pkgsrc-2024Q2 branch". Retrieved 2 July 2024.
- ^ a b David Chisnall (2006-10-06). "NetBSD: Not Just for Toasters". InformIT. Prentice Hall Professional. Retrieved 2019-07-25.
- ^ a b c "Joyent Packages Documentation - Install On Linux". Joyent. Retrieved 2018-10-10.
- ^ a b c d "Joyent Packages Documentation - Install On macOS". Joyent. Archived from the original on 2018-10-06. Retrieved 2018-10-10.
- ^ Perkin, Jonathan (2018-10-05). "Announcing the pkgsrc-2018Q3 release". NetBSD. Retrieved 2018-10-10.
- ^ "pkgin, a binary package manager for pkgsrc".
- ^ "Information about NetBSD 1.3".
- ^ Dillon, Matthew (2005-08-31). "PKGSRC will be officially supported as of the next release". DragonFly users mailing list.
- ^ Thomas Klausner (2017-09-12). "pkgsrc Commit Message Policy". pkgsrc-users@ (Mailing list). NetBSD. Retrieved 2019-05-09.
- ^ "Index of pub/PKGSRC/Packages/".
- ^ a b "Joyent's packages, available for SmartOS/illumos, Linux, and OSX". Archived from the original on 2014-07-15. Retrieved 2018-10-11.
- ^ "Index of /Packages/".
- ^ a b "Re: Pkgsrc binary packages now available for scientific computing". pkgsrc-users (Mailing list). NetBSD. 2017-08-01. Retrieved 2018-10-13.
- ^ "mirror1.hpc.uwm.edu/pkgsrc/". Retrieved 2018-10-11.
- ^ "Software Management". University of Wisconsin–Milwaukee, High Performance Computing dept. Retrieved 2018-10-11.
External links
[edit]- Official website
- A web interface for pkgsrc
- pkgsrc-wip – a project to get more people actively involved with pkgsrc
- pkgsrcCon: An annual conference focusing on pkgsrc
- /r/pkgsrc on Reddit