Innanzitutto, ringrazio in anticipo chiunque vorrà e potrà darmi una mano a capire dove sbaglio. Sto, per la prima volta, tentando di seguire la guida per Linux from scratch e credevo andasse tutto nel migliore dei modi ma, al momento di scaricare tutti i packages necessari (procedura che ho tentato di automatizzare ricorrendo alla creazione di un file .csv dal nome, appunto, packages.csv), sto riscontrando un problema con sed che mi impedisce il download. Sono quasi convinto di aver capito dove sia l'errore ma non so davvero come correggerlo.
Questo è il mio script per il download dei diversi packages (il nome di questo file è: download.sh):
Codice: Seleziona tutto
cat packages.csv | while read line; do
NAME="`echo $line | cut -d\; -f1`"
VERSION="`echo $line | cut -d\; -f2`"
URL="`echo $line | cut -d\; -f3 | sed "s^@^$VERSION^g"`"
MD5SUM="`echo $line | cut -d\; -f4`"
CACHEFILE="$(basename "$URL")"
if [ ! -f "$CACHEFILE" ]; then
echo "Sto scaricando $URL"
wget "$URL"
if ! echo "$MD5SUM $CACHEFILE" | md5sum -c >/dev/null; then
rm -f "$CACHEFILE"
echo "Verifica di $CACHEFILE fallita! il codice MD5 non combacia!"
exit 1
fi
fi
done
Nel mio file packages.csv, per ogni URL, ho rimpiazzato il numero di versione con una @ (il mio fine è quello di riuscire a scaricare il relativo pacchetto, fintantoché esso mantenga l'attuale nomenclatura) e credo proprio che sia questo ciò che mi fa saltare tutto. Sbaglio qualcosa e all'esecuzione dello script e la @ non viene rimpiazzata con il corrispondente numero di versione.
Questo poi è lo script che dovrebbe consentirmi di scaricare effettivamente i packages (e credo che qui non ci siano errori... correggetemi se sbaglio ):
Codice: Seleziona tutto
cp -rf *.sh packages.csv "$LFS/sources"
cd "$LFS/sources"
export PATH="$LFS/tools/bin:$PATH"
source download.sh
Ringrazio nuovamente chiunque mi darà una mano.
Saluti