Voici les étapes à suivre pour compiler la version Gingerbread de CyanogenMod pour le HTC Desire sous une Ubuntu 10.04 toute fraiche.

Prérequis

Installer les packages

Il faut dans un premier temps installer les paquets suivants :
sudo apt-get git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool

Puis si c’est une distribution 64 bits il faut aussi :
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

Créer les répertoires

Pour l’environnement de développement :
mkdir -p ~/bin
mkdir -p ~/android/system

Installer le dépôt

Il faut télécharger le binaire repo :
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

Redémarrer pour que les modifications prennent effet.

Pour initialiser le dépôt :
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync -j16

Cela peut prendre pas mal de temps (même plusieurs heures)

Copier les fichier propriétaires

Pour cela on télécharge les fichiers du GIT de Kali-
cd ~
git clone https://github.com/Kali-/proprietary_vendor_htc.git -b gingerbread
mkdir -p ~/android/system/vendor/htc/bravo
cp -rf ~/proprietary_vendor_htc/bravo/* ~/android/system/vendor/htc/bravo/

Télécharger RomManager

A effectuer à chaque mise à jour de RomManager :
~/android/system/vendor/cyanogen/get-rommanager

Compiler CyanogenMod

Mettre à jour le dépôt

cd ~/android/system/
repo sync

Compiler

. build/envsetup.sh && brunch bravo

Installation

Copier le fichier ~/android/system/out/target/product/bravo/update.cm-XXXXX-signed.zip à la racine de la carte SD.

Source sur le wiki CyanogenMod