Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emerge -e world senza system [risolto]
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
gamberetto
Apprentice
Apprentice


Joined: 29 Mar 2005
Posts: 210
Location: Camisano Vicentino (VI)

PostPosted: Thu Jun 30, 2005 4:01 pm    Post subject: emerge -e world senza system [risolto] Reply with quote

Ciao a tutti, ho cercato nel forum, ma senza trovare nulla!
Il mio quesito è questo: sono passato a gcc 3.4 da poco e ho fatto un emerge -e system perché non volevo ricompilare proprio tutto.
Ora però mi farebbe voglia riemerge tutti gli altri pacchetti, ma se do un emerge -e world mi ricompila anche i pacchetti nel gruppo system! Così ho pensato di tirarmi fuori la lista dei pacchetti del system e del world con
Code:
pacchi_sys=$(exec emerge -pe system | grep ebuild | gawk '{print $4}')
pacchi_world=$(exec emerge -pe world | grep ebuild | gawk '{print $4}')

(ho provato a vedere la guida di emerge, eix e qpkg ma non ho trovato nulla di più semplice)

però ci sono 2 problemi:
1) così non ottengo una lista "pulita": invece di sys-libs/pwdb mi viene fuori sys-libs/pwdb-0.62 ed emerge mi sembra non gradisca
2) non so come sottrarre ad una lista, l'altra.

Grazie per qualsiasi aiuto!
_________________
Andre!
http://www.antimafiaduemila.com


Last edited by gamberetto on Sat Jul 16, 2005 7:14 am; edited 1 time in total
Back to top
View user's profile Send private message
Ic3M4n
Advocate
Advocate


Joined: 02 Nov 2004
Posts: 3489
Location: Bergamo.

PostPosted: Thu Jun 30, 2005 4:22 pm    Post subject: Reply with quote

beh, mi sembra che la lista tu già ce l'abbia. l'unico problema è che l'hai con i numero di versione. le soluzioni sono due:
- o rimuovi il numero di versione
- anteponi ad ogni riga un =.

credo che per la seconda tu possa utilizzare sed (man sed x maggiori info)
Back to top
View user's profile Send private message
gamberetto
Apprentice
Apprentice


Joined: 29 Mar 2005
Posts: 210
Location: Camisano Vicentino (VI)

PostPosted: Thu Jun 30, 2005 4:36 pm    Post subject: Reply with quote

grazie della risposta!

per l'uguale ho risolto così (non conosco bene sed, ma forse dovrei impararlo...):
Code:
pacchi_sys2=""; for i in pacchi_sys; do pacchi_sys2=$pacchi_sys2"=$i "; done;


per la lista forse è scontato ma non ci sono ancora... ce ne ho 2: una con i programmi del gruppo system e una con quelli del gruppo world. Docrei togliere dalla lista "pacchi_world" quelli che sono nella lista "pacchi_sys".
Nella man di emerge non ho trovato opzioni che mi permettano di escludere dei pacchetti del tipo
Code:
emerge -e $pacchi_world --escludi $pacchi_sys

forse c'è? provo a guardare meglio!

grazie ancora :wink:
_________________
Andre!
http://www.antimafiaduemila.com
Back to top
View user's profile Send private message
Ic3M4n
Advocate
Advocate


Joined: 02 Nov 2004
Posts: 3489
Location: Bergamo.

PostPosted: Thu Jun 30, 2005 4:45 pm    Post subject: Reply with quote

puoi usare diff, quelli con il + o con il meno, a seconda di quale metti prima sono quelli che devi emergere. non chiedermi però come fare a creare una lista da dare in parso ad emerge.
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Thu Jun 30, 2005 4:59 pm    Post subject: Reply with quote

prova cosi'...


Code:

emerge -pe system | grep ebuild | gawk '{print $4}'| sort> /tmp/system
emerge -pe world | grep ebuild | gawk '{print $4}' | sort> /tmp/world
STRING="emerge --oneshot"
for x in `comm /tmp/world /tmp/system -3`
do
        STRING="$STRING =$x"
done
echo $STRING
#$STRING



quando ti sei assicurato che tutto e' ok togli il commento prima di $STRING
ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
G2k
l33t
l33t


Joined: 06 Mar 2004
Posts: 672
Location: Rome, Italy

PostPosted: Thu Jun 30, 2005 5:04 pm    Post subject: Reply with quote

Io tempo fa ho scritto un HOWTO del cavolo per creare una lista completa dei file in world. Una volta ottenuta la lista basta che togli le righe dei pacchetti che non vuoi che siano installati dal file di testo che ti crea. Lo trovo parecchio utile io perche cosi posso togliere i pacchetti del toolchain e magari altri pacchetti molto grandi come openoffice e posso far partire l'emerge compilando tutto fuorche' cio' che non e' specificato. Puoi leggere il post qui. Spero possa esserti utile :wink:
_________________
Animula vagula blandula,
Hospes comesque corporis,
Quae nunc abibis in loca
Pallidula rigida nudula,
Nec ut soles dabis iocos...
- Imp. Caesar Hadrianus
Back to top
View user's profile Send private message
gamberetto
Apprentice
Apprentice


Joined: 29 Mar 2005
Posts: 210
Location: Camisano Vicentino (VI)

PostPosted: Thu Jun 30, 2005 5:05 pm    Post subject: Reply with quote

Potrebbe funzionare così?

Code:
#! /bin/bash
temp=""
echo "Sto creando la lista dei pacchetti in \"system\"..."
temp=$(exec emerge -pe system | grep ebuild | gawk '{print $4}')
pacchi_sys=""
for i in $temp
do
        pacchi_sys=$pacchi_sys"=$i "
done

temp=""
echo "Sto creando la lista dei pacchetti in \"world\"..."
temp=$(exec emerge -pe world | grep ebuild | gawk '{print $4}')
pacchi_world=""
for i in $temp
do
        pacchi_world=$pacchi_world"=$i "
done

echo "Sto togliendo dalla lista \"world\" i pacchetti della lista \"system\"..."
lista=""
for i in $pacchi_world
do
        temp=1;
        for k in $pacchi_sys
        do
                if [ $i == $k ]
                then
                        temp=0
                fi
        done
        if [ $temp -eq 1 ]
        then
                lista=$lista"$i "
        fi
done

echo -e "Ecco il risultato:\n$lista"

if [ "$1" != "esegui" ]
then
        echo "Usa l'opzione \"esegui\" per eseguire l'emerge"
fi
if [ "$1" == "esegui" ]
then
        echo "Sto emergendo!!!"
        emerge --oneshot --nodeps $lista
        echo "Sono emerso con successo (?)"
fi


Per me dovrebbe funzionare. Scusate se ho chiesto aiuto anche se poi pensandoci un po' di più avrei potuto cavarmela da solo (beh, forse a metterci l'uguale davanti ai nomi dei pacchetti non ci sarei mai arrivato!).
Spero che possa servire a qualcuno...

Ciao a tutti e grazie IceMan per l'aiuto! :D

Edit: ho messo a posto qualche errore nello script
_________________
Andre!
http://www.antimafiaduemila.com


Last edited by gamberetto on Thu Jun 30, 2005 8:05 pm; edited 2 times in total
Back to top
View user's profile Send private message
gamberetto
Apprentice
Apprentice


Joined: 29 Mar 2005
Posts: 210
Location: Camisano Vicentino (VI)

PostPosted: Thu Jun 30, 2005 5:10 pm    Post subject: Reply with quote

Ops... mi avete battuto sul tempo!
xchris wrote:
prova cosi'...


Code:

emerge -pe system | grep ebuild | gawk '{print $4}'| sort> /tmp/system
emerge -pe world | grep ebuild | gawk '{print $4}' | sort> /tmp/world
STRING="emerge --oneshot"
for x in `comm /tmp/world /tmp/system -3`
do
        STRING="$STRING =$x"
done
echo $STRING
#$STRING




mi devo studiare quel "comm" ma mi sembra dieci volte più semplice della mia soluzione!

G2k wrote:
Io tempo fa ho scritto un HOWTO del cavolo per creare una lista completa dei file in world.

grazie! Anche se pnso che non sia il modo più veloce per questo caso.

Grazie ancora, ciao!
_________________
Andre!
http://www.antimafiaduemila.com
Back to top
View user's profile Send private message
G2k
l33t
l33t


Joined: 06 Mar 2004
Posts: 672
Location: Rome, Italy

PostPosted: Thu Jun 30, 2005 5:12 pm    Post subject: Reply with quote

e' vero, non e' veloce ma mi da la possibilita di cambiare a manina mentre con il vostro metodo piu' automatizzato si puo' solo creare un diff. Ovviamente tutti e due i modi hanno i loro pregi.
_________________
Animula vagula blandula,
Hospes comesque corporis,
Quae nunc abibis in loca
Pallidula rigida nudula,
Nec ut soles dabis iocos...
- Imp. Caesar Hadrianus
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Thu Jun 30, 2005 5:23 pm    Post subject: Reply with quote

gamberetto chiedeva come rimuovere system...

usando il tuo metodo dovrebbe togliere (nel mio sistema) 113 pacchetti controllando a mano...
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
G2k
l33t
l33t


Joined: 06 Mar 2004
Posts: 672
Location: Rome, Italy

PostPosted: Thu Jun 30, 2005 5:30 pm    Post subject: Reply with quote

hai ragione.
Sinceramente non capisco perche non abbiano gia' incorporato una funzione cosi semplice in portage (che ti faccia compliare world senza system) e perche non abbiano scritto del codice che compili il toolchain nell'ordine giusto...bah
_________________
Animula vagula blandula,
Hospes comesque corporis,
Quae nunc abibis in loca
Pallidula rigida nudula,
Nec ut soles dabis iocos...
- Imp. Caesar Hadrianus
Back to top
View user's profile Send private message
G2k
l33t
l33t


Joined: 06 Mar 2004
Posts: 672
Location: Rome, Italy

PostPosted: Thu Jun 30, 2005 5:43 pm    Post subject: Reply with quote

gamberetto wrote:
mi devo studiare quel "comm" ma mi sembra dieci volte più semplice della mia soluzione!

hmm...a me invece non convince usare comm. Comm fa un paragone di due file riga per riga, ma devono essere gia messi in ordine (ed e' per questo che xchris ha dato un `sort` prima di creare i file in /tmp). Se l'ordine dovesse contare (se tu portassi quella lista su un'altra macchina per esempio) allora andrebbe bene solo se aggiungessi il comando --nodeps perche senno' ti tirerebbe anche le dipendenze di quel pacchetto, cosa che tu non vuoi. Comunque adesso ci stiamo pensando su un po' troppo... :P e' un caso un po' assurdo
_________________
Animula vagula blandula,
Hospes comesque corporis,
Quae nunc abibis in loca
Pallidula rigida nudula,
Nec ut soles dabis iocos...
- Imp. Caesar Hadrianus
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Thu Jun 30, 2005 10:03 pm    Post subject: Reply with quote

non ho capito il problema di spostare la lista :)

puoi sempre sortare...

non ho capito neanche il discorso su deps.. :)
cmq emerge supporta --nodeps

ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
G2k
l33t
l33t


Joined: 06 Mar 2004
Posts: 672
Location: Rome, Italy

PostPosted: Fri Jul 01, 2005 12:28 am    Post subject: Reply with quote

xchris wrote:
non ho capito il problema di spostare la lista :)

puoi sempre sortare...

non ho capito neanche il discorso su deps.. :)
cmq emerge supporta --nodeps

ciao
Beh, diciamo per assurdo: se tu dovessi dare i comandi che hai scritto tu prima per creare una lista di file da emergere, e poi spostassi quella lista su un'altra macchina, il momento che gli dici di compilare xorg-x11 ti tirerebbe altre dipendenze (alcune che farebbero parte del toolchain) che tu non vuoi. Quindi il tuo metodo funziona perfettamente, basta che ti ricordi di aggiungere un --nodeps se lo stai usando per compilare una lista di pacchetti su un altro computer....basta mi sto zitto sto facendo troppo il pignolo :roll:
_________________
Animula vagula blandula,
Hospes comesque corporis,
Quae nunc abibis in loca
Pallidula rigida nudula,
Nec ut soles dabis iocos...
- Imp. Caesar Hadrianus
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Fri Jul 01, 2005 6:59 am    Post subject: Reply with quote

...l'importante e' che gamberetto abbia risolto :)

ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
gamberetto
Apprentice
Apprentice


Joined: 29 Mar 2005
Posts: 210
Location: Camisano Vicentino (VI)

PostPosted: Fri Jul 01, 2005 2:08 pm    Post subject: Reply with quote

xchris wrote:
...l'importante e' che gamberetto abbia risolto :)

Risolto, grazie! sono arrivato a 216 pacchetti su 250! :D
_________________
Andre!
http://www.antimafiaduemila.com
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