# Pkgsrc

pkgsrc (package source) è un sistema di gestione dei pacchetti per sistemi operativi di tipo Unix-like. È stato originariamente creato come fork del sistema ports di FreeBSD nel 1997 e da allora è diventato il principale sistema di gestione dei pacchetti per NetBSD. Successivamente, il supporto è stato esteso ad altri sistemi operativi come Solaris, Linux, MacOS, FreeBSD, OpenBSD, QNX e molti altri
Attualmente pkgsrc contta più di 26.000 pacchetti, la maggior parte dei quali è open source.
Esistono diversi modi per installare programmi utilizzando pkgsrc. Il metodo "tradizionale" prevede la compilazione partendo dal codice sorgente. In questo caso, i pacchetti, vengono compilati utilizzando una serie di file di make. Questo processo richiede una certa conoscenza tecnica e può richiedere più tempo.
Un altro metodo è quello di partire da pacchetti binari precompilati utilizzando pkg_add e pkg_delete. Questi strumenti consentono di installare e rimuovere pacchetti binari precompilati già pronti all'uso.
È possibile procedere all'installazione dei pacchetti anche attraverso l'utilizzo di pkgin, un'utilità di alto livello che automatizza l'installazione, la rimozione e l'aggiornamento di pacchetti binari in modo simile all'Advanced Packaging Tool di Debian. Questo metodo offre un'interfaccia utente più intuitiva e semplifica il processo di gestione dei pacchetti.
Diversi fornitori, tra cui MNX.io, offrono pacchetti binari precompilati per pkgsrc compatibili con sistemi operativi popolari come macOS e Linux.

## Piattaforme supportate

| Piattaforma | Data aggiunta |
| NetBSD | ottobre 1997 |
| Solare | marzo 1999 |
| Linux | giugno 1999 |
| Darwin e macOS | ottobre 2001 |
| BSD libero | novembre 2002 |
| OpenBSD | novembre 2002 |
| IRIS | dicembre 2002 |
| BSD/OS | dicembre 2003 |
| AIX | dicembre 2003 |
| Interix (per Windows NT ) | marzo 2004 |
| Libellula BSD | ottobre 2004 |
| OSF/1 | novembre 2004 |
| HP-UX | aprile 2007 |
| QNX | ottobre 2007 |
| Haiku | gennaio 2010 |
| MINIX 3 | agosto 2010 |
| MirBSD | gennaio 2011 |
| illumos e SmartOS | febbraio 2011 |
| Cigno | maggio 2013 |
| GNU/kFreeBSD | luglio 2013 |
| Bitrig | giugno 2015 |

## Storia

Pkgsrc nasce come fork del sistema di gestione dei pacchetti FreeBSD Ports nel 1997 ad opera di Alistair Crooks e Hubert Feyrer, considerati gli artefici dello sviluppo iniziale di pkgsrc. All'epoca erano attivi contributori alla comunità open source e lavoravano sullo sviluppo del sistema operativo NetBSD. La decisione di creare pkgsrc venne presa con l'obiettivo di creare un sistema di gestione dei pacchetti più flessibile e personalizzabile per NetBSD. Crooks e Feyrer, insieme ad altri sviluppatori, apportarono significative modifiche al codice originale di FreeBSD Ports, dando vita a pkgsrc.
Venne rilasciato ufficialmente come parte di NetBSD 1.3 il 4 gennaio 1998. DragonFly BSD ha utilizzato pkgsrc come sistema di pacchetti ufficiale dalla versione 1.4 del 2006 fino alla versione 3.4 nel 2013.
Il 12 settembre 2017, il progetto ha stabilito una politica sui messaggi di commit che si adatta ai sistemi di controllo delle versioni distribuiti (DVCS) dandosi delle regole su come scrivere e organizzare i messaggi che accompagnano le modifiche al codice.

## Pacchetti

La NetBSD Foundation mette a disposizione pacchetti binari precompilati ufficiali per diverse combinazioni di versioni di NetBSD e pkgsrc, e occasionalmente anche per altri sistemi operativi.