====== DEPENDENCY ====== * **AUTORE**: Joern Abatz \\ * **DATA**: 23-09-2003 \\ * **LICENZA**: GNU Free Documentation License \\ * **SOMMARIO**: Mantenere l'albero delle dipendenze in ordine \\ * **PRINCIPALE URL**: 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:** \\ - Come lavorare con depsort - Cosa c'è nel tarball - Compilare depsort.c - Pacchetti virtuali - Dipendenze omesse - Formato di deps.txt - Estrazione delle dipendenze dal libro BLFS - da fare 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: \\ * 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 \\ 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: \\ * 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 ancoravgestiti 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.