Target di pkgsrc

Da Wiki di NetBSD Italia.

(Differenze fra le revisioni)
(Lo rendo conforme a Organizzazione dei contenuti (HI MaybeDrunk :-)) e altri miglioramenti e rimandi alle apposite variabili)
Riga 1: Riga 1:
-
{{stub}}
+
In questo tutorial saranno documentati i ''target'' {{man|make|1}} basiliari e
 +
indispensabili per gli utenti [[pkgsrc]].
-
Qui vedremo in maniera un po' approssimativa come utilizzare il comando make in [[pkgsrc]].
+
In tutti i seguenti esempi (se non specificatamente indicato) il comando make
-
make è il comando fornito da [[NetBSD]] che permette l'installazione e la gestione dei pacchetti su [[pkgsrc]] e non solo. Ogniuno dei comandi elencati di seguito vanno eseguiti nella directory del pacchetto che si intende gestire; per esempio per installare evolution (il mail client di gnome) dovete eseguire:
+
con l'apposito target va invocato
 +
sempre nella directory [[PKGSRCDIR|${PKGSRCDIR}]]''/categoria/pacchetto/'', ad
 +
esempio per invocare il target [[#install]], assumendo che la
 +
PKGSRCDIR sia ''/usr/pkgsrc'' e il pacchetto che vogliamo installare sia
 +
''mail/evolution'':
-
  cd /usr/pkgsrc/mail/evolution ; make install
+
  # cd /usr/pkgsrc/mail/evolution && make install
 +
== Target per utenti ==
 +
=== build ===
 +
# make
-
Vediamo ora qualche target:
+
Senza nessun target pkgsrc invocherà il target ''build'' che scaricarà tutti
 +
i [[distfile]], partendo prima dalle dipendenze, compilerà queste dipendeze,
 +
le [[#install|installerà]] ed infine compilerà il pacchetto.
 +
=== install ===
 +
# make install
-
== Compilazione ==
+
Con il target ''install'' vengono fatte tutte le operazioni fatte nel
-
make
+
''build'' ed inoltre viene anche installato il pacchetto non solo le
 +
dipendenze.
-
questo semplice comando legge il Makefile che, altro non è che una lista di cose che make deve fare come: vedere le dipendenze, compilare i singoli file, ecc.
+
È generalmente il target utilizzato per installare un pacchetto e tutte le sue
-
In questo modo vi risparmierete di dover provvedere voi stessi a questi noiosi compiti.
+
dipendenze.
-
== Installazione ==
+
=== info ===
-
  make install
+
  # make info
-
mentre il comando di prima compilava soltanto i file, questo oltre alla compilazione li installa, sempre nel modo descritto nel Makefile
+
Il target ''info'' equivale ad eseguire {{man|pkg_info|1}} che serve ad
 +
ottenere informazioni sul pacchetto in questione.
-
== Info ==
+
=== clean ===
-
  make info
+
  # make clean
-
questo comando equivale ad eseguire {{man|pkg_info|1}} che serve ad ottenere ogni tipo di info sul pacchetto in questione.
+
Il target ''clean'' serve per eliminare la [[WRKDIR|${WRKDIR}]]
 +
(di default la directory ''work/'' che contiene i file presenti nel distfile e
 +
directory nascoste utili per pkgsrc).
-
== Pulizia ==
+
'''NOTA''': è sconsigliato eseguire questo target nella [[PKGSRCDIR|${PKGSRCDIR}]]
-
make clean
+
per cancellare tutte le [[WRKDIR|${WRKDIR}]]. Infatti se si vuole fare il ''clean''
 +
per tutte le [[WRKDIR|${WRKDIR}]] è consigliato utilizzare
 +
{{pkgsrc|pkgtools|pkgclean}}, che fa la stessa cosa ma in modo intelligente,
 +
processando solo i pacchetti in cui c'è veramente una [[WRKDIR|${WRKDIR}]].
-
questa pratica opzione consente di pulire la directory work del pacchetto appena compilato che spesso occupa molto spazio e che contiene i file temporanei serviti in fase di compilazione. E' importante sapere che se la compilazione non andata a buon fine per un errore legato al pacchetto che si sta installando (e non ad una sua dipendenza) , è necessario prima di rilanciare la compilazione pulire con questo comando.Se non avete mai usato questo comando potete usare {{pkgsrc|pkgtools|pkgclean}} il quale, a differenza di "cd /usr/pkgsrc ; make clean" pulisce solo i pacchetti installati, non tutti i pacchetti indiscriminatamente.
+
=== clean-depends ===
 +
# make clean-depends
-
== Pulizia Delle Dipendenze ==
+
Esegui il target [[#clean]] per tutte le dipendenze di quel pacchetto.
-
make clean-depends
+
-
come il precedente comando fa la pulizia, ma anzichè fare la pulizia del pacchetto corrente va a leggere il Makefile e fa esclusivamente la pulizia dei pacchetti da cui dipende. E' come se voi entraste nella dir di ogni dipendenza e deste [[#Pulizia|make clean]].
+
=== reinstall ===
 +
# make reinstall
-
== Re-Installazione ==
+
Questo target reinstallerà il pacchetto in questione.
-
make reinstall
+
-
se pensate che qualcosa sia andato male in fase d'installazione del pacchetto (come un fetch avvenuto male o altro) potete eseguire questo comando che reinstallera' il pacchetto.
+
=== deinstall ===
 +
# make deinstall
-
== Rimozione ==
+
Target equivalente al comando {{man|pkg_delete|1}}.
-
make deinstall
+
-
questo comando equivale a {{man|pkg_delete|1}}. Decidete voi quale usare visto che non c'è alcuna differenza.
+
Per eliminare anche le dipendenze (che gli altri pacchetti non usano) di quel
 +
pacchetto basta impostare [[DEINSTALLDEPENDS|${DEINSTALLDEPENDS}]]:
-
== Aggiornamento ==
+
# DEINSTALLDEPENDS=1 make deinstall
-
make update
+
-
come vi potete aspettare questo comando è solo una sequenza di [[#Rimozione|make deinstall]] e [[#Installazione|make install]] che rimuove prima le diepndenze non aggiornate, poi il pacchetto non aggiornato e, infine, installa le dipendenze e il pacchetto alla versione aggiornata. Tenete presente che "cd /usr/pkgsrc ; make update" installa tutti i pacchetti, non fa solo l'aggiornamento di quelli installati.
+
=== update ===
 +
# make update
-
== Visione Dipendenze Installate ==
+
Target che [[#deinstall|rimuove]] e [[#install|installa]] le dipendenze non
-
make show-installed-depends
+
aggiornate e poi il pacchetto stesso.
-
poco da dire a riguardo, visionate quali dipendenze sono gia installate.
+
'''NOTA:''' se invocato nella [[PKGSRCDIR|${PKGSRCDIR}:
 +
# cd ${PKGSRCDIR} && make update
 +
Questo ''target'' installa tutti i pacchetti, non fa solo l'aggiornamento di
 +
quelli installati.
 +
=== show-depends ===
 +
# make show-depends
-
Per altre opzioni di make in pkgsrc rimando alla guida [http://www.netbsd.org/docs/pkgsrc/build.html#build.helpful-targets helpful targets].
+
Mostra tutte le dipendenze del pacchetto.
 +
 
 +
== Approfondimenti ==
 +
Per altri utili target make di pkgsrc si rimanda al
 +
[http://www.netbsd.org/docs/pkgsrc/build.html#build.helpful-targets| paragrafo ''Other helpful targets'']
 +
de [http://www.netbsd.org/docs/pkgsrc/ The pkgsrc guide].
[[Categoria:Tutorial]]
[[Categoria:Tutorial]]

Versione delle 21:52, 6 dic 2008

In questo tutorial saranno documentati i target make(1) basiliari e indispensabili per gli utenti pkgsrc.

In tutti i seguenti esempi (se non specificatamente indicato) il comando make con l'apposito target va invocato sempre nella directory ${PKGSRCDIR}/categoria/pacchetto/, ad esempio per invocare il target #install, assumendo che la PKGSRCDIR sia /usr/pkgsrc e il pacchetto che vogliamo installare sia mail/evolution:

# cd /usr/pkgsrc/mail/evolution && make install

Indice

Target per utenti

build

# make

Senza nessun target pkgsrc invocherà il target build che scaricarà tutti i distfile, partendo prima dalle dipendenze, compilerà queste dipendeze, le installerà ed infine compilerà il pacchetto.

install

# make install

Con il target install vengono fatte tutte le operazioni fatte nel build ed inoltre viene anche installato il pacchetto non solo le dipendenze.

È generalmente il target utilizzato per installare un pacchetto e tutte le sue dipendenze.

info

# make info

Il target info equivale ad eseguire pkg_info(1) che serve ad ottenere informazioni sul pacchetto in questione.

clean

# make clean

Il target clean serve per eliminare la ${WRKDIR} (di default la directory work/ che contiene i file presenti nel distfile e directory nascoste utili per pkgsrc).

NOTA: è sconsigliato eseguire questo target nella ${PKGSRCDIR} per cancellare tutte le ${WRKDIR}. Infatti se si vuole fare il clean per tutte le ${WRKDIR} è consigliato utilizzare pkgtools/pkgclean, che fa la stessa cosa ma in modo intelligente, processando solo i pacchetti in cui c'è veramente una ${WRKDIR}.

clean-depends

# make clean-depends

Esegui il target #clean per tutte le dipendenze di quel pacchetto.

reinstall

# make reinstall

Questo target reinstallerà il pacchetto in questione.

deinstall

# make deinstall

Target equivalente al comando pkg_delete(1).

Per eliminare anche le dipendenze (che gli altri pacchetti non usano) di quel pacchetto basta impostare ${DEINSTALLDEPENDS}:

# DEINSTALLDEPENDS=1 make deinstall

update

# make update

Target che rimuove e installa le dipendenze non aggiornate e poi il pacchetto stesso.

NOTA: se invocato nella [[PKGSRCDIR|${PKGSRCDIR}:

# cd ${PKGSRCDIR} && make update

Questo target installa tutti i pacchetti, non fa solo l'aggiornamento di quelli installati.


show-depends

# make show-depends

Mostra tutte le dipendenze del pacchetto.

Approfondimenti

Per altri utili target make di pkgsrc si rimanda al paragrafo Other helpful targets de The pkgsrc guide.

Strumenti personali