Differences between revisions 9 and 10
Revision 9 as of 2013-08-22 17:45:06
Size: 2182
Comment:
Revision 10 as of 2014-03-22 19:14:17
Size: 2916
Comment: sync with English master
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
In questo esempio viene preso in considerazione il pacchetto mame, che esiste in Debian Sid, ma non nel rilascio stabile. Se il pacchetto che si sta cercando non è disponibile in Sid, ma in un PPA Ubuntu, si può guardare [[CreatePackageFromPPA|Creare un pacchetto da PPA]]. In questo esempio viene preso in considerazione il pacchetto mame, del quale vogliamo installare un rilascio più recente disponibile in sid/experimental. Se il pacchetto che si sta cercando non è disponibile in Sid, ma in un PPA Ubuntu, si può guardare [[CreatePackageFromPPA|Creare un pacchetto da PPA]].
Line 10: Line 10:
<<TableOfContents()>>
Line 12: Line 14:
su -c "apt-get install devscripts build-essential" su -c "apt-get install devscripts build-essential debian-keyring"
}}}

===== Scoprire quale versione è disponibile nell'archivio Debian =====
{{{
rmadison mame --architecture amd64
 mame | 0.146-5 | wheezy/non-free | amd64
 mame | 0.146-5 | jessie/non-free | amd64
 mame | 0.146-5 | sid/non-free | amd64
 mame | 0.148-1 | experimental/non-free | amd64
Line 17: Line 28:
Usando il navigatore web andare su http://packages.debian.org/sid/mame e cercare il file dsc oppure usare: Usando il navigatore web andare su http://packages.debian.org/sid/mame cercare il file dsc e copiare la posizione del collegamento:
Line 20: Line 31:
dget -x http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.142-1.dsc dget -x http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.148-1.dsc
}}}
Line 22: Line 34:
}}}
===== Installare le dipendenze in base a debian/control =====
'''''Nota:''' se il comando precedente si lamenta del fatto che non è stata trovata la directory `~/.gnupg`, eseguire `gpg -k` per inizializzare la directory di GnuPG prima di ritentare.''

===== Trovare e installare le dipendenze di compilazione mancanti in base a debian/control =====
Line 25: Line 38:
cd mame-0.142
grep Build-Depends debian/control
Build-Depends: debhelper (>= 8), libexpat1-dev, libsdl1.2-dev, zlib1g-dev, libxinerama-dev, libgconf2-dev, libgtk2.0-dev, libsdl-ttf2.0-dev
su -c "apt-get install debhelper libexpat1-dev libsdl1.2-dev zlib1g-dev libxinerama-dev libgconf2-dev libgtk2.0-dev libsdl-ttf2.0-dev"
cd mame-0.148
dpkg-checkbuilddeps
su -c "apt-get install libexpat1-dev libflac-dev libgconf2-dev libgtk2.0-dev libjpeg8-dev libportmidi-dev libsdl-ttf2.0-dev libsdl1.2-dev zlib1g-dev"
Line 34: Line 45:
dch -l~bpo70+ -Dwheezy-backports "Rebuild for wheezy-backports." dch --local ~bpo70+ --distribution wheezy-backports "Rebuild for wheezy-backports."
Line 36: Line 47:
Scrivere qualcosa del tipo "mio primo backport" e salvare il file.
Line 39: Line 49:
Il carattere tilde (~) rende più basso il numero di versione del pacchetto, il che dovrebbe permettere un aggiornamento corretto del pacchetto quando si fa l'aggiornamento al successivo rilascio Debian. Il carattere tilde (~) rende più basso il numero di versione del pacchetto, il che dovrebbe permettere un aggiornamento corretto del pacchetto quando si fa l'aggiornamento al successivo rilascio Debian (cioè il proprio pacchetto sarà sostituito dal pacchetto ufficiale Debian).
Line 55: Line 65:
su -c "dpkg -i ../mame_0.142-1_amd64.deb" su -c "dpkg -i ../mame_0.148-1_amd64.deb"
Line 57: Line 67:

===== Andare oltre =====
Si può guardare [[BuildingFormalBackports|Creare backport formalmente corretti]] e fornire il proprio backport come contributo a Debian, come spiegato in http://backports.debian.org/Contribute/

Translation(s): English - Français - Italiano - Русский


In questo esempio viene preso in considerazione il pacchetto mame, del quale vogliamo installare un rilascio più recente disponibile in sid/experimental. Se il pacchetto che si sta cercando non è disponibile in Sid, ma in un PPA Ubuntu, si può guardare Creare un pacchetto da PPA.

Non è necessario essere root, tranne che per i primi e gli ultimi passaggi.

Installare l'SDK Debian

su -c "apt-get install devscripts build-essential debian-keyring"

Scoprire quale versione è disponibile nell'archivio Debian

rmadison mame --architecture amd64
 mame | 0.146-5 | wheezy/non-free | amd64
 mame | 0.146-5 | jessie/non-free | amd64
 mame | 0.146-5 | sid/non-free | amd64
 mame | 0.148-1 | experimental/non-free | amd64

Scaricare il file .dsc dal rilascio sid

Usando il navigatore web andare su http://packages.debian.org/sid/mame cercare il file dsc e copiare la posizione del collegamento:

dget -x http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.148-1.dsc

Nota: se il comando precedente si lamenta del fatto che non è stata trovata la directory ~/.gnupg, eseguire gpg -k per inizializzare la directory di GnuPG prima di ritentare.

Trovare e installare le dipendenze di compilazione mancanti in base a debian/control

cd mame-0.148
dpkg-checkbuilddeps
su -c "apt-get install libexpat1-dev libflac-dev libgconf2-dev libgtk2.0-dev libjpeg8-dev libportmidi-dev libsdl-ttf2.0-dev libsdl1.2-dev zlib1g-dev"

Indicare nel changelog un numero di revisione per il backport

dch --local ~bpo70+ --distribution wheezy-backports "Rebuild for wheezy-backports."

Questo aggiunge qualcosa del tipo ~bpo70+ al numero di versione del pacchetto. Il carattere tilde (~) rende più basso il numero di versione del pacchetto, il che dovrebbe permettere un aggiornamento corretto del pacchetto quando si fa l'aggiornamento al successivo rilascio Debian (cioè il proprio pacchetto sarà sostituito dal pacchetto ufficiale Debian).

Testare se il pacchetto può essere compilato con successo

fakeroot debian/rules binary

Creare un pacchetto in modo corretto, senza firmarlo con GPG

dpkg-buildpackage -us -uc

Installare ed è fatta!

su -c "dpkg -i ../mame_0.148-1_amd64.deb"

Andare oltre

Si può guardare Creare backport formalmente corretti e fornire il proprio backport come contributo a Debian, come spiegato in http://backports.debian.org/Contribute/