AUTHOR: Joern Abatz DATA: 23-09-2003 LICENZE: GNU Free Documentation License SOMMARIO: Mantenere l'albero delle dipendenze in ordine PRINCIPALE URI: http://www.abatz.de/linux/blfs-dependencies.html TRADUZIONE: Cardelli Sandro 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: ------ 1. Come lavorare con depsort 2. Cosa c'è nel tarball 3. Compilare depsort.c 4. Pacchetti virtuali 5. Dipendenze omesse 6. Formato di deps.txt 7. Estrazione delle dipendenze dal libro BLFS 8. da fare 1. 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. 2. Cosa c'è nel tarball: ------------------------- deps.txt - una lista di pacchetti e loro dipendenze (dal libro BLFS) depsort - un programma che porta le dipendenze in un ordine lineare depsort.c - il codice sorgente mkrawdeps1 - script per estrarre dipendenze dal libro BLFS (versione txt) mkrawdeps2 - script per aggiungere il numero della versione al nome dei pacchetti mkrawdeps3 - script per portare le dipendenze dei pacchetti morepkgs.txt a risolvere le dipendenze aperte 3. Compilare depsort.c: ----------------------- Eseguite: make depsort 4. 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. 5. 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) 6. 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. 7. 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 8. DA FARE: -------- - Aggiustamento delle informazioni sulla versione come "... o successiva" - Distinzione tra "depends on" e "will utilize" - Creare "deps.txt" automaticamente dal libro BLFS (XML) CAMBIAMENTI: 16-09-2003 - aggiunti 3 script per estrarre le dipendenze dal 'libro' (versione txt) - tutti i nomi dei pacchetti hanno adesso un numero di versione (non ancora gestiti come '... o successiva') - aggiunto pacchetto virtuale 'mta' dipendente da 'sendmail o postfix o qmail o exim' - aggiunto pacchetto virtuale 'cvs-server' dipendente da cvs e openssh 2002-9-30 - rimosso un bug nel programma che lascia vedere anche "gal" quando "galeon" compare nell'elenco - rimosso pacchetto aggiuntivo di mozilla perché adesso è nel libro - aggiunti abiword, at-spi, gconf-editor, gdm, gnumeric, libgail-gnome, mozilla, pan alle dipendenze - modificate dipendenze per mozilla, docbook - aggiunti pacchetti aggiuntivi menzionati nel libro.