DESCRIZIONE:
Questo suggerimento è per principianti che installano pacchetti seguendo il libro BLFS per la primissima volta. Non è possibile installare dal libro BLFS dall'inizio alla fine. Prima o poi si incontrerà qualche pacchetto, che dipende da altri pacchetti che dipendono da ancora più pacchetti.
Questo hint aiuterà a tenere traccia di cosa si sta facendo e a che punto si è arrivati.
PREREQUISITI:
BLFS-BOOK-1.0.txt blfs-dependencies.tar.gz
SUGGERIMENTO:
Indice:
Come lavorare con depsort:
Il tarball http://www.abatz.de/linux/blfs-dependencies.tar.gz contiene:
deps.txt - una lista di pacchetti e le loro dipendenze (dal libro BLFS)
depsort - un programma che porta quelle dipendenze in ordine lineare
1. Ci sono due righe in “deps.txt” che bisogna editare prima dell'uso:Nella riga
mta sendmail-8.12.9 or postfix-2.0.7 or qmail-1.03 or exim-4.14
scegliere un MTA da installare e rimuovere gli altri (rimuovere anche gli 'or')
Nella riga
xine-lib-1-beta9 xfree86-4.3.0 alsa-0.9.2 esound-0.2.29 or arts-1.1 ….
scegliere o esound-0.2.29 o arts-1.1 e rimuovere l'altro
2. Adesso scrivere una lista di quei pacchetti dal libro BLFS che si sono già installati (un nome per riga) e salvarla come “inst.txt”. Se non si è ancora installato nulla di BLFS (ma solo LFS), creare un file vuoto, con:
>> inst.txt
3. Adesso scrivere una lista di pacchetti che si vuvole installare e salvarla come “wish.txt”. Per fare una lista di tutti i pacchetti in “deps.txt” eseguire:
cat deps.txt | awk '{print $1}' > wish.txt
(Comunque sarebbe meglio non farlo. C'è più chiarezza, se si installa un pacchetto - con le dipendenze - per volta.)
4. Poi eseguire:
./depsort
Questo produce un file chiamato “result.txt”, una lista di pacchetti che possono essere installati dall'inizio alla fine.
Cosa c'è nel tarball:
a risolvere le dipendenze aperte
Compilare depsort.c:
Eseguite:
make depsort
Pacchetti virtuali:
Ci sono alcuni nomi di pacchetto nell'elenco che non esistono:
“mta”, “alsa” e “cvs-server”. Li ho inseriti, perché ci sono pacchetti
nel libro BLFS che dipendono da “alsa” o da “un MTA dal capitolo 22”, e
c'è un pacchetto chiamato “cvs-server” discusso nel libro.
Guardiamo “alsa”, “mta” e “cvs-server” come “pacchetti virtuali”.
Essi non hanno tarball propri, soltanto dipendenze:
“alsa” dipende da 3 pacchetti: alsa-lib, alsa-utils e alsa-tools.
“mta” dipende da 1 dei 4 pacchetti: sendmail o postfix o qmail o exim.
“cvs-server” dipende da 2 pacchetti: cvs e openssh.
Dipendenze omesse: :
Le seguenti dipendenze dal libro BLFS non sono comprese in questo hint:
- oss (perché ho preferito alsa, e comunque oss era una dipendenza opzionale)
Formato di deps.txt:
La prima parola di ogni riga è il nome del pacchetto da installare.
Le parole seguenti sono i nomi dei pacchetti dai quali dipende.
Le parole devono essere separate da un solo spazio. Non sono ammesse spaziature in testa o in coda.
Estrarre dipendenze dal libro BLFS:
Sono necessari tre file: mkrawdeps1, mkrawdeps2, mkrawdeps3, (tutti impostati come eseguibili) e una copia del libro BLFS (versione txt) nella stessa cartella.
mkrawdeps1 ricerca nel libro le righe contenenti “depend on:” e riporta queste righe (compreso le cinque righe seguenti) in un file “rawdeps1.txt”.
Riporta anche i nomi dei pacchetti (in forma ridotta senza numero di versione) in un file “shortnames.txt”. Ed estrae i nomi completi dei pacchetti (con il numero di versione) dall'indice del libro salvandoli in “longnames.txt”.
E' necessario che gli errori vengano rimossi a mano da questi tre file. Ci sono delle righe interrotte, alcune piccole incoerenze tipo trattini “-” e sottolineature “_” nel nome dei pacchetti, e caratteri sporchi da rimuovere.
Il formato dei pacchetti nella sezione KDE differisce leggermente dal resto del libro. L'output di “mkrawdeps1” è alquanto confuso in questo punto. Anche questo deve essere corretto a mano.
E per favore non cancellare le lineette di separazione pacchetto “–”.
mkrawdeps2 successivamente legge il file rawdeps1.txt, prova ad aggiungere il numero di versione dal “longnames.txt” e salva il risultato in “rawdeps2.txt”.
E' necessario editare “rawdeps2.txt”, rimuovere i rimanenti errori e aggiungere i nomi dei pacchetti che lo script non ha trovato nel libro. (Si prega di aggiungere i separatori di linee “–” se si aggiungono nomi di pacchetto).
mkrawdeps3 successivamente legge il file rawdeps2.txt e lo riformatta come il programma “depsort” si aspetta: un nome di pacchetto e le sue dipendenze su una linea, separati da spazi. L'output è salvato in “rawdeps3.txt”, dove è ancora ordinato come nel libro.
Confrontare il contenuto di rawdeps3.txt con le dipendenze nel libro per un'ultima volta, dopodiché eseguire “sort | uniq” in “deps.txt”, ed eseguire ./depsort
DA FARE:
CAMBIAMENTI:
16-09-2003