View previous topic :: View next topic |
Author |
Message |
LucaMartinetti n00b
Joined: 23 Jan 2003 Posts: 44 Location: Rome [IT]
|
Posted: Sat Feb 07, 2004 1:39 pm Post subject: domanda su portage [e una proposta!] |
|
|
Ciao a tutti! Ho una domanda abbastanza semplice su portage.. allora..
C'è un modo (magari un opzione di emerge) per dire ad emerge di saltare i pacchetti che non riesce a compilare durante un "emerge -uD world" e continuare con gli altri?
Mi chiedevo se fosse possibile dato che il mio script di update che gira con cron ogni sab si ferma anche quando un solo ebuild fallisce.
Se l'opzione non esiste anche qualche riga di shell script sarebbe ben accetta .
Grazie. _________________ http://www.phatsoft.net
Last edited by LucaMartinetti on Sat Feb 07, 2004 4:08 pm; edited 1 time in total |
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Sat Feb 07, 2004 2:14 pm Post subject: Re: domanda su portage |
|
|
LucaMartinetti wrote: | Ciao a tutti! Ho una domanda abbastanza semplice su portage.. allora..
C'è un modo (magari un opzione di emerge) per dire ad emerge di saltare i pacchetti che non riesce a compilare durante un "emerge -uD world" e continuare con gli altri?
Mi chiedevo se fosse possibile dato che il mio script di update che gira con cron ogni sab si ferma anche quando un solo ebuild fallisce.
Se l'opzione non esiste anche qualche riga di shell script sarebbe ben accetta .
Grazie. |
al momento mi viene in mente solo Code: | # emerge -i pacchetto | che pero' andrebbe fatto solo dopo aver verificato che il tal pacchetto non si compila. In oltre, non é un buon metodo, saltare a pie' pari i pacchetti, perché potrebbero essere davvero importanti. Il mio suggerimento, quindi, é: fai in modo che il tuo script lanci prima bugzilla.py (programmino di morellik, invero moooolto utile) che trovi su www.gentoo.it : se il programma non trova bug noti, allora puoi lanciare l'emerge vero e proprio: al 90% non ci dovrebbero essere problemi.
Coda |
|
Back to top |
|
|
shev Bodhisattva
Joined: 03 Feb 2003 Posts: 4084 Location: Italy
|
Posted: Sat Feb 07, 2004 3:23 pm Post subject: Re: domanda su portage |
|
|
codadilupo wrote: | al momento mi viene in mente solo Code: | # emerge -i pacchetto | che pero' andrebbe fatto solo dopo aver verificato che il tal pacchetto non si compila |
Soprattutto presuppone l'intervento manuale, cosa che il nostro amico non vorrebbe visto che parla di update automatico e cron. Sinceramente non so se nelle recenti versioni di portage ci sia un'opzione che permetta a portage di proseguire nonostante gli errori, cmq ci sono diverse cose che mi lasciano perplesso a riguardo:
- imho è sconsigliabile lanciare automaticamente update di sistema se non si è presenti a controllare. Va bene essere fiduciosi, ma un pizzico di sicurezza non guasta mai
- non credo sia una cosa saggia voler proseguire cmq con l'aggiornamento se c'è qualche intoppo, visto che il pacchetto che non compila dovrebbe/potrebbe servire, minando la stabilità del sistema
- se si usa il ramo stabile di gentoo non dovrebbero esserci problemi con gli update, quindi nno dovrebbe fallire la compilazione di nessun pacchetto ne esserci bisogno quindi di opzioni dedicate
Insomma, non so se esiste ciò che chiedi, ma potrebbe essere un bene: certe cose imho vanno fatte con l'amministratore presente _________________ Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo |
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Sat Feb 07, 2004 3:55 pm Post subject: Re: domanda su portage |
|
|
Shev wrote: | Soprattutto presuppone l'intervento manuale, cosa che il nostro amico non vorrebbe visto che parla di update automatico e cron. |
Beh, in realtà si puo' automatizzare... un po' di grep e | mi pare possano bastare...
Quote: | Sinceramente non so se nelle recenti versioni di portage ci sia un'opzione che permetta a portage di proseguire nonostante gli errori, cmq |
Questo si'. Apposto ho suggerito di inserire il bugzilla di morellik: solo se non ci sono problemi noti, allora si puo' andare sula fiducia (e non essere presenti)
Coda |
|
Back to top |
|
|
LucaMartinetti n00b
Joined: 23 Jan 2003 Posts: 44 Location: Rome [IT]
|
Posted: Sat Feb 07, 2004 4:04 pm Post subject: Re: domanda su portage |
|
|
le tue considerazioni sono giustissime ma..
Quote: |
- imho è sconsigliabile lanciare automaticamente update di sistema se non si è presenti a controllare. Va bene essere fiduciosi, ma un pizzico di sicurezza non guasta mai
|
anche se il server in questione non è assulutamente mission critical (p2p server di casa)
in effetti hai ragione.. sono un pò troppo fiducioso del portage tree.. se la mia fiducia fosse ben riposta tutto si compilerebbe
Quote: |
- non credo sia una cosa saggia voler proseguire cmq con l'aggiornamento se c'è qualche intoppo, visto che il pacchetto che non compila dovrebbe/potrebbe servire, minando la stabilità del sistema
|
portage compila in sandbox e sovrascrive nel / solo se la compilazione è andata a buon fine, e non si sognerebbe mai di installare qualcosa senza le rispettive dependencies.. non vedo dove sia il problema..
Quote: |
- se si usa il ramo stabile di gentoo non dovrebbero esserci problemi con gli update, quindi nno dovrebbe fallire la compilazione di nessun pacchetto ne esserci bisogno quindi di opzioni dedicate
|
magari.. giuro di usare kernel stable e nessuna cflag esotica!
Quote: |
Insomma, non so se esiste ciò che chiedi, ma potrebbe essere un bene: certe cose imho vanno fatte con l'amministratore presente
|
in alcuni ambiti sono d'accordissimo.. ma la cosa bella di gentoo è la facilità di aggiornamento dei pacchetti.. allora perchè non scriptare tutto?
Che ne dite di una feature request per portage?
idee, commenti, flame, tutto graditissimo.. _________________ http://www.phatsoft.net |
|
Back to top |
|
|
MyZelF Bodhisattva
Joined: 25 Feb 2003 Posts: 2010 Location: Venice, Italy
|
Posted: Sat Feb 07, 2004 4:15 pm Post subject: |
|
|
Credo che portage abbia già tutto il necessario per fare quello che dici...
Fai uno script che verifichi l'exit status di "emerge -u" e, in caso di errori, lo rilanci con
Code: | # emerge --resume --skipfirst |
(in modo ricorsivo) |
|
Back to top |
|
|
shev Bodhisattva
Joined: 03 Feb 2003 Posts: 4084 Location: Italy
|
Posted: Sat Feb 07, 2004 7:17 pm Post subject: |
|
|
Ragazzi, sia chiaro: non ho detto che non si può scriptare il tutto e automatizzarlo. Ho detto che non credo ci sia già un'opzione di emerge che lo faccia, tutto qui. Che poi si possa sempre rimediare con due righe di codice non ci piove, ci mancherebbe
Sulla scelta poi di automatizzare o meno la cosa non discuto oltre, sono scelte soggettive e come tali hanno sempre il mio rispetto. Ho solo manifestato le mie perplessità nel caso non fossero state prese in considerazione, ma se si sono valutati pro e contro allora prego, buon divertimento _________________ Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo |
|
Back to top |
|
|
MyZelF Bodhisattva
Joined: 25 Feb 2003 Posts: 2010 Location: Venice, Italy
|
Posted: Sat Feb 07, 2004 7:20 pm Post subject: |
|
|
Shev wrote: | Che poi si possa sempre rimediare con due righe di codice non ci piove |
ma proprio due di numero... nel senso che --skipfirst è pensata apposta per riprendere la compilazione in seguito ad un errore (ignorandolo)...
Shev wrote: | Sinceramente non so se nelle recenti versioni di portage ci sia un'opzione che permetta a portage di proseguire nonostante gli errori |
vedila come una risposta a questa affermazione, non alla possibilità di scriptizzare il tutto... |
|
Back to top |
|
|
shev Bodhisattva
Joined: 03 Feb 2003 Posts: 4084 Location: Italy
|
Posted: Sat Feb 07, 2004 7:43 pm Post subject: |
|
|
MyZelF wrote: | Shev wrote: | Sinceramente non so se nelle recenti versioni di portage ci sia un'opzione che permetta a portage di proseguire nonostante gli errori |
vedila come una risposta a questa affermazione, non alla possibilità di scriptizzare il tutto... |
Quindi non c'è nessuna opzione che faccia ciò che chiede il nostro amico in automatico (lanciare l'aggiornamento, SE c'è qualche errore lo ignora automaticamente e prosegue oltre). Perchè quella che giustamente tu riporti presuppone che si sia prima lanciato l'aggiornamento, questo si sia bloccato su un pacchetto e quindi venga lanciato il resume ignorando l'ultimo pacchetto. Procedimento che di per sè richiede l'intervento manuale dell'amministratore (ignorando la possibilità di scriptare la cosa, sto parlando solo di opzioni di portage ovviamente). Credo non ci piova, no?
Poi che usando queste opzioni e mettendole in uno script si ottenga la soluzione è assodato.
/me che sta solo chiarendo il suo discorso (a sè stesso ), solo che gli ci vogliono tredici post dopo i vaneggiamenti febbrili degli ultimi tre giorni _________________ Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo |
|
Back to top |
|
|
MyZelF Bodhisattva
Joined: 25 Feb 2003 Posts: 2010 Location: Venice, Italy
|
Posted: Sat Feb 07, 2004 7:52 pm Post subject: |
|
|
Diciamo che questo è il meglio che emerge possa offrire al momento per risolvere la questione. O almeno credo. |
|
Back to top |
|
|
LucaMartinetti n00b
Joined: 23 Jan 2003 Posts: 44 Location: Rome [IT]
|
Posted: Sun Feb 08, 2004 11:50 am Post subject: |
|
|
emerge dice:
Quote: |
--skipfirst
This option is only valid in a resume situation. It removes the
first package in the resume list so that a merge may continue in
the presence of an uncorrectable or inconsequential error. This
should only be used in cases where skipping the package will not
result in failed dependencies.
|
Quindi le dependencies non vengono ricalcolate.. nel nostro script se fallisce un ebuild richiesto da altri.. una volta saltato falliranno anche gli altri a catena.. triste ma abbastanza ragionevole..
C'è qualcuno che ha già affrontato la questione e puo darmi una mano con lo script?
Grazie a tutti. _________________ http://www.phatsoft.net |
|
Back to top |
|
|
MyZelF Bodhisattva
Joined: 25 Feb 2003 Posts: 2010 Location: Venice, Italy
|
Posted: Sun Feb 08, 2004 12:39 pm Post subject: |
|
|
Qualcosa del genere?
Code: | #!/bin/sh
function resume () {
emerge --resume --skipfirst || resume
}
emerge -uD world || resume
|
|
|
Back to top |
|
|
cerri Bodhisattva
Joined: 05 Mar 2003 Posts: 2957 Location: # init S
|
Posted: Sun Feb 08, 2004 5:52 pm Post subject: |
|
|
Myzelf, molto carino.
Ecco il mio:
Code: | #!/bin/sh
if [ `id -u` -ne 0 ]; then
echo Rootati.
exit 0
fi
echo Procedo all\'emerge -eD world.
echo Hai 5 secondi per interrompere.
echo
sleep 5
echo Procedo al calcolo delle dipendenze.
PORTAGE_NICENESS=-20 emerge -eDp world | grep ebuild > /tmp/emerge-eDp
echo Calcolo completato.
echo
if [ -f /tmp/emerge-eDp_done ]; then
echo Alcuni ebuild risultano già ricompilati: li salto.
else
echo Compilazione da zero.
touch /tmp/emerge-eDp_done
fi
for EB in `cat /tmp/emerge-eDp | awk '{ print $4 }'`; do
if [ `grep $EB /tmp/emerge-eDp_done | wc -l` -ne 0 ]; then
echo L\'ebuild $EB risulta già compilato.
else
PORTAGE_NICENESS=-20 emerge `etcat -v $EB | grep "*" |
awk '{ print $2 }'`
if [ $? -eq 0 ]; then
echo Compilato con successo.
echo $EB >> /tmp/emerge-eDp_done
else
echo L\'emerge ha riportato un errore.
echo $EB >> /tmp/emerge-eDp_errors
fi
fi
done
|
_________________ Enjoy your freedom.
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
<----------------------->
Andrea Cerrito |
|
Back to top |
|
|
|