Pagina 1 di 1

[pbuilder] Pacchettizzare per altra architettura.

Inviato: lunedì 10 marzo 2008, 19:38
da
Ho finalmente capito (o almeno credo...poi magari vi farò vedere il mio lavoro per pareri e consigli) come strutturare un pacchetto ed utilizzare pbuilder per creare i sorgenti ed il binario.
Ora però non capisco una cosa, sempre tramite pbuilder, come faccio a pacchettizzare per un altra architettura.
I uso Ubuntu a 64bit ed ora vorrei pacchettizzare lo stesso pacchetto anche per la 32bit. Come devo procedere?
Sul wiki italiano non c'è riferimento mentre su quello internazionale non ho ben capito o almeno ho capito che devo lanciare il comando:

Codice: Seleziona tutto

sudo pbuilder create --debootstrapopts --arch --debootstrapopts i386
ma poi non ho capito come farlo ad associare ad una data versione di Ubuntu e che comando dare per la pacchettizzazione vera e propria per l'architettura specifica.
Non so se mi sono spiegato bene.  >:(

gp

Re: [pbuilder] Pacchettizzare per altra architettura.

Inviato: martedì 11 marzo 2008, 8:53
da DktrKranz
Per compilare un pacchetto per i386:

Codice: Seleziona tutto

sudo pbuilder build --debootstrapopts --arch --debootstrapopts i386 nomefile.dsc

Re: [pbuilder] Pacchettizzare per altra architettura.

Inviato: martedì 11 marzo 2008, 11:11
da
DktrKranz ha scritto: Per compilare un pacchetto per i386:

Codice: Seleziona tutto

sudo pbuilder build --debootstrapopts --arch --debootstrapopts i386 nomefile.dsc
Mmmm..si ok. Ma se voglio compilare un pacchetto per i386 per, ad esempio Hardy, che altri parametri devo utilizzare?
Mi basta aggiungere a quello che hai scritto tu, questo:

Codice: Seleziona tutto

--basetgz /var/cache/pbuilder/hardy.tgz --distribution hardyy
?
Quindi:

Codice: Seleziona tutto

sudo pbuilder build --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/hardy.tgz --distribution hardyy nomefile.dsc
?

gp

Re: [pbuilder] Pacchettizzare per altra architettura.

Inviato: martedì 11 marzo 2008, 11:16
da DktrKranz
Se hardy.tgz è già disponibile, sì. In caso contrario, lo devi creare:

Codice: Seleziona tutto

sudo pbuilder create --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/hardy.tgz --distribution hardy

Re: [pbuilder] Pacchettizzare per altra architettura.

Inviato: martedì 11 marzo 2008, 11:59
da
DktrKranz ha scritto: Se hardy.tgz è già disponibile, sì. In caso contrario, lo devi creare:

Codice: Seleziona tutto

sudo pbuilder create --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/hardy.tgz --distribution hardy
Si si certo.
Un sola ed ultima cosa, si spera :D ...ma se ho già disponibile hardy.tgz mi basta solo inizializzare pbuilder per i386 oppure devo inizializzare ogni singola versione di distro (feisty,gutsy, hardy) per ogni singola architettura?
Mi spiego meglio. Ho Gutsy e voglio compilare per Hardy sia per i386 che per amd64, come architettura di base io ho ubuntu amd64...quindi devo creare, prima:

Codice: Seleziona tutto

sudo pbuilder create --basetgz /var/cache/pbuilder/hardy.tgz --distribution hardy
per poi poter compilare amd64
e

Codice: Seleziona tutto

sudo pbuilder create --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/hardy.tgz --distribution hardy
per poi compilare i386.

Oppure mi basta creare una sola volta hardy.tgz:

Codice: Seleziona tutto

sudo pbuilder create --basetgz /var/cache/pbuilder/hardy.tgz --distribution hardy
e poi per ogni architettura creare:

Codice: Seleziona tutto

sudo pbuilder create --debootstrapopts --arch --debootstrapopts nomearchitettura
?

Scusa per tutte queste domande ma vorrei capire bene il concetto e come funziona pbuilder.

gp

Re: [pbuilder] Pacchettizzare per altra architettura.

Inviato: martedì 11 marzo 2008, 12:07
da DktrKranz
I tarball devono essere differenti perchè sono due tipologie di architetture differenti, quindi ne devi avere due ben distinti.

Re: [pbuilder] Pacchettizzare per altra architettura.

Inviato: martedì 11 marzo 2008, 12:18
da
DktrKranz ha scritto: I tarball devono essere differenti perchè sono due tipologie di architetture differenti, quindi ne devi avere due ben distinti.
>:(
Mi pare logico. Certe volte faccio troppi giri di testa.
Beh. Grazie Mille. ;)

gp