Crea "così com'è" dal tarball di origine. Se scegli questa strada, assicurati di configurare il sistema di build di Git per installare tutto sotto ~/git
o /opt/git
o qualcosa del genere, altrimenti in seguito avrai un ottimo PITA che rimuove ciò che hai installato.
Il problema è che il modo convenzionale Unix di installare software diffondendolo su tutto il filesystem è sensato, ma solo quando si dispone di una sorta di registro che "conosce" quale file appartiene a quale pacchetto e viceversa, e sistemi di packaging come Debian fai esattamente questo. Se esegui un'installazione "normale" di un pacchetto creato dai sorgenti, nella maggior parte dei casi non avrai modo di disinstallare questo software in un secondo momento (a meno di usarlo checkinstall
invece di make install
, ma questa è davvero l'ultima risorsa). Al contrario, se configuri un pacchetto sorgente per installare tutto in una singola directory, avrai piccole difficoltà nell'esecuzione del software (le sue directory "binarie" non saranno sul tuo $PATH
), in cambio disinstallarlo in seguito sarà un gioco da ragazzi - un singolo rm -rf /path/to/that/dir
.
Fai il backport te stesso. Questo è più complicato, ma in casi semplici potrebbe funzionare, quindi vale la pena provare l'IMO.
Fondamentalmente vai così (un link al .dsc
file è preso dalla pagina del pacchetto in unstable ):
# apt-get install devscripts
$ mkdir ~/devel && cd $_
$ dget http://ftp.de.debian.org/debian/pool/main/g/git/git_2.1.4-2.1.dsc
$ dpkg-source -x git_2.1.4-2.1.dsc
$ cd git
Verifica se tutte le dipendenze di build sono soddisfatte eseguendo:
$ dpkg-checkbuilddeps
E installa tutto ciò che lo strumento dice che al momento manca. A volte un pacchetto può fare riferimento a una versione di qualcosa di troppo recente per essere disponibile nella distro a cui stai eseguendo il backport; in questo caso va bene provare a imbrogliare e correggere la versione di tale pacchetto nel debian/control
file.
Ora aggiusta la versione dei pacchetti che stanno per essere compilati. Il modo migliore per raggiungere questo obiettivo è fare in modo che uno strumento faccia la cosa giusta:
$ dch --bpo
Aggiungerà una voce al debian/changelog
file e aprirà l'editor di testo preferito per sovrintenderlo. Basta chiudere l'editor: la versione per i pacchetti da compilare è presa dalla prima voce di questo file.
Ora proviamo effettivamente a costruire:
$ dpkg-buildpackage -uc -us -b
Se sei fortunato, a questo punto avrai un mucchio di nuovi splendidi .deb
pacchetti Git ..
, che puoi semplicemente installare usando dpkg -i <packagename> ...
.
(Esegui debuild clean
per eliminare il crud incorporato o semplicemente rimuovere git
completamente la directory. Potresti anche voler rimuovere tutto ciò che hai installato dopo l'esecuzione dpkg-checkbuilddep
.)
Sfortunatamente, se la costruzione non riesce per qualche motivo, ci vogliono alcune conoscenze per tentare di risolvere, ma questo non rientra nell'ambito di questa discussione.