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 7200 pacchetti. È 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, inclusi:

  • 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 qualcuno.

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 package incluse anche gli aggiornamenti , sono gestite automaticamente. I file di configurazione dei vari package 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 (eccetto i distfile) sono liberamente disponibili sotto la licenza BSD, così da poter estendere e adattare pkgsrc ai propri bisogni. Supporto per package 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 funzionare solo 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: strumenti 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
QNX Ottobre 2007
Strumenti personali