Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
domanda su portage [e una proposta!]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
LucaMartinetti
n00b
n00b


Joined: 23 Jan 2003
Posts: 44
Location: Rome [IT]

PostPosted: Sat Feb 07, 2004 1:39 pm    Post subject: domanda su portage [e una proposta!] Reply with quote

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
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Sat Feb 07, 2004 2:14 pm    Post subject: Re: domanda su portage Reply with quote

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
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Sat Feb 07, 2004 3:23 pm    Post subject: Re: domanda su portage Reply with quote

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
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Sat Feb 07, 2004 3:55 pm    Post subject: Re: domanda su portage Reply with quote

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
View user's profile Send private message
LucaMartinetti
n00b
n00b


Joined: 23 Jan 2003
Posts: 44
Location: Rome [IT]

PostPosted: Sat Feb 07, 2004 4:04 pm    Post subject: Re: domanda su portage Reply with quote

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
View user's profile Send private message
MyZelF
Bodhisattva
Bodhisattva


Joined: 25 Feb 2003
Posts: 2010
Location: Venice, Italy

PostPosted: Sat Feb 07, 2004 4:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Sat Feb 07, 2004 7:17 pm    Post subject: Reply with quote

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 :D

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
View user's profile Send private message
MyZelF
Bodhisattva
Bodhisattva


Joined: 25 Feb 2003
Posts: 2010
Location: Venice, Italy

PostPosted: Sat Feb 07, 2004 7:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Sat Feb 07, 2004 7:43 pm    Post subject: Reply with quote

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 :lol:), solo che gli ci vogliono tredici post dopo i vaneggiamenti febbrili degli ultimi tre giorni :P
_________________
Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo
Back to top
View user's profile Send private message
MyZelF
Bodhisattva
Bodhisattva


Joined: 25 Feb 2003
Posts: 2010
Location: Venice, Italy

PostPosted: Sat Feb 07, 2004 7:52 pm    Post subject: Reply with quote

Diciamo che questo è il meglio che emerge possa offrire al momento per risolvere la questione. O almeno credo.
Back to top
View user's profile Send private message
LucaMartinetti
n00b
n00b


Joined: 23 Jan 2003
Posts: 44
Location: Rome [IT]

PostPosted: Sun Feb 08, 2004 11:50 am    Post subject: Reply with quote

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
View user's profile Send private message
MyZelF
Bodhisattva
Bodhisattva


Joined: 25 Feb 2003
Posts: 2010
Location: Venice, Italy

PostPosted: Sun Feb 08, 2004 12:39 pm    Post subject: Reply with quote

Qualcosa del genere?

Code:
#!/bin/sh
function resume () {
    emerge --resume --skipfirst || resume
}
emerge -uD world || resume
Back to top
View user's profile Send private message
cerri
Bodhisattva
Bodhisattva


Joined: 05 Mar 2003
Posts: 2957
Location: # init S

PostPosted: Sun Feb 08, 2004 5:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum