Pkgsrc
Da Wiki di NetBSD Italia.
Indice |
Che cosa è pkgsrc?
La collezione dei pacchetti di NetBSD (pkgsrc) è una struttura per lo sviluppo di software di terze parti su NetBSD e altri sistemi operativi UNIX-like, contenente correntemente oltre 6400 pacchetti. E' usato per permettere liberamente al software disponibile di essere configurato e sviluppato facilmente nelle piattaforme supportate.
C'è tanto software liberamente disponibile per i sistemi basati su Unix, quale è generalmente disponibile in forma di codice sorgente. Prima che questo software possa essere usato, necessita di essere configurato sul sistema locale, compilato ed installato, e questo è esattamente quello che la collezione dei pacchetti di NetBSD fa. Pkgsrc ha anche alcuni comandi base per gestire i pacchetti binari, così che ogni utente non deve compilare il pacchetto per se stesso, il che è un lavoro che richiede un costo in termini di tempo.
Pkgsrc contiene correntemente diverse migliaia di pacchetti, includendo:
- www/apache - Il web server Apache
- www/firefox - Il web browser Firefox
- meta-pkgs/gnome - L'ambiente desktop GNOME
- meta-pkgs/kde3 - L'ambiente desktop K
...giusto per nominarne un po'.
Pkgsrc ha un supporto built-in per gestire varie dipendenze, come pthreads e X11, e funzioni estese come il supporto IPv6 in un rango di piattaforme.
Perché pkgsrc?
Funzionalità chiave
- Facilità di compilazione di software dal codice sorgente così come la creazione e l'installazione di pacchetti binari. Il codice sorgente e le ultime patch sono scaricate da un server per download o un suo mirror, verificate per checksum, e poi compilate nel proprio sistema. Il supporto per le distribuzioni binarie è avviabile per tutte le distrubuzioni native e per le piattaforme emulate da NetBSD.
- Tutti i pacchetti sono installati in un unica albero di cartelle, includendo file binari, librerie, pagine man e altra documentazione.
- Tutte le dipendenze dei packages incluse anche gli aggiornamenti , sono gestite automaticamente. I file di configurazione dei vari packages sono automaticamente gestiti durante gli aggiornamenti, così le modifiche locali sono preservate da errori vari.
- Come NetBSD, pkgsrc è stato sviluppato, con in mente la portabilità e ovviamente consiste di codice altamente portabile. Ciò permette la massima velocità di sviluppo quando vi è da effettuare un porting ad una nuova piattaforma. Codesta portabilità assicura la costante portabilità di pkgsrc per tutte le piattaforme supportate.
- Il file d'installazione, le licenze software, le richieste di crittografia internazionale e le opzioni di compilazione e build per un gran numero di pacchetti sono tutte inserite in un semplice, centrale file di configurazione.
- L'intero codice sorgente (non incluso i file di distribuzione) sono liberamente avviabili sotto la licenza BSD, così da poter estendere e adattare pkgsrc ai propri bisogni. Supporto per packages locali e patch è avviabile subito nei propri file INSTALL o README, così da poter configurare il tutto specificatamente per il proprio ambiente.
Principi basilari per pkgsrc
- "It should only work if it's right" ("Dovrebbe solo funzionare se è scritto correttamente") - Ciò significa, che se un package contiene bug, è meglio trovarli e reclamare per essi, per poi installare il package e sperare che esso funzioni. Ci sono numerosi controlli in pkgsrc che cercano di trovare bug: Tools di Analisi Statica (pkgtools/pkglint), controlli per il processo di build (sono shell script funzionanti in base alla loro portabilità per diverse shell), e controlli di post-installazione (file installati, riferimenti a librerie condivise, interpreti di scripts).
- "If it works, it should work everywhere" ("Se funziona, dovrebbe funzionare ovunque") - Come NetBSD è stato sviluppato per molte architetture hardware, pkgsrc lo è stato per lavorare su molti sistemi operativi. Molta cura è presa per far si che i packages si comportino allo stesso modo su tutte le piattaforme.
Piattaforme Supportate
Pkgsrc consiste sia di distribuzioni binarie o dei file sorgenti per i successivi sistemi operativi che saranno elencati. Dopo aver ottenuto il codice sorgente o i binari, sarà semplicissimo installarli mediante l'utilizzo di pkgsrc!
Pkgsrc fu derivato dal sistema dei port di FreeBSD, e inizialmente sviluppato solo per NetBSD. Da poi, pkgsrc è cresciuto molto, e adesso supporta le seguenti piattaforme:
Piattaforma | Data Inizio Supporto |
---|---|
NetBSD | Agosto 1997 |
Solaris | Marzo 1999 |
Linux | Giugno 1999 |
Darwin (Mac OS X) | Ottobre 2001 |
FreeBSD | Novembre 2002 |
OpenBSD | Novembre 2002 |
IRIX | Dicembre 2002 |
BSD\OS | Dicembre 2003 |
AIX | Dicembre 2003 |
Interix | Marzo 2004 |
DragonFly BSD | Ottobre 2004 |
OSF/1 | Novembre 2004 |
HP-UX | Aprile 2007 |