Pkgsrc

Da Wiki di NetBSD Italia.

Questo articolo è solo un abbozzo, contribuisci a migliorarlo secondo le convenzioni di NetBSD-it mettendo a disposizione le tue conoscenze. La comunità te ne sarà grata!

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, necessit 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 sè stesso, il che è un lavoro che richiede un costo in termini di tempo.

Pkgsrc contiene correntemente diverse centinaia 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??

Pkgsrc provvede le seguenti 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 patches 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 distrubioni 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 files 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 suportate.
  • 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 pakages locali e patches è avviabile subito nei propri file INSTALL o README, così da poter configurare il tutto specificatamente per il proprio ambiente.
    I seguenti sono 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 bugs, è 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 bugs: Tools di Analisi Statica(pkgtools/pkglint), controlly per il processo di build(sono shell scripts 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.
Strumenti personali