Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Ubuntu Dapper

Traduit par mr_pouit

Comment utiliser GIT pour développer le noyau Ubuntu ?

GIT est le nouvel outil de gestion de code source (SCM) utilisé par les développeurs du kernel Linux. Ubuntu a adopté cet outil pour le code source de son kernel afin de davantage interagir avec la communauté et les développeurs du kernel.

Installez simplement le paquet git-core :

sudo apt-get install git-core

Note : Le paquet git est un outil complètement différent qui ne fera pas ce que vous voulez.

Pour télécharger une copie locale du dépôt git du noyau Linux Ubuntu, utilisez la commande suivante (gutsy est à remplacer par le nom de la version utilisée) :

  git-clone git://kernel.ubuntu.com/ubuntu/ubuntu-gutsy.git ubuntu-gutsy

Cela va prendre quelque temps, selon la vitesse de votre connexion internet. Il y a environ 220MO de données à télécharger à l'heure actuelle (et ça augmente continuellement).

Une fois la récupération effectuée, vous pouvez conserver votre arbre à jour en exécutant cette commande (dans le répertoire avec les sources téléchargés précédement) :

  git pull

Sachant que le dépôt principal n'est pas accessible en écriture par le public, le principal moyen pour faire parvenir des patchs à l'équipe du kernel est d'utiliser git-format-patch*. Le résultat de cette commande peut ensuite être envoyé à la liste de diffusion kernel-team.

Néanmoins, si vous possédez un dépôt public git depuis lequel les changements peuvent être ajoutés, vous pouvez utiliser git-request-pull pour générer un mail à envoyer à la liste de diffusion kernel-team.

Dans debian/commit-templates/, vous pouvez trouver plusieurs modèles qui doivent être utilisés lorsque vous proposez des changements à intégrer au dépôt du kernel Ubuntu. Les modèles de soumission contiennent des commentaires expliquant comment renseigner les informations requises. Notez par ailleurs que toutes les soumissions doivent avoir une ligne Signed-off-by (l'option -s de git-commit). Une commande git-commit typique ressemblera à:

  git-commit -s -F debian/commit-templates/patch -e

Notez que l'option -e (edit) doit suivre l'option -F, sans quoi git ne vous autorisera à éditer le commit-template avant de soumettre les changements.

Voici à quoi ressemble un exemple de journal des changements:

  [UBUNTU:scsi] My cool change to the scsi subsystem

  UpstreamStatus: Merged with 2.6.15-rc3

  My cool change to the scsi subsystem makes scsi transfers increase
  magically to 124GiB/sec.

  Signed-off-by: Joe Cool Hacker <jch@reet.com>

Afin d'avoir votre dépôt git chargé automatiquement, suivez ces instructions.

D'abord, identifiez-vous sur rookery, et exécutez ces commandes :

  $ mkdir public_html/archives
  $ cd public_html/archives
  $ git clone -s -n -l /home/bcollins/public_html/archives/ubuntu-2.6.git ubuntu-2.6
  $ mv ubuntu-2.6/.git ubuntu-2.6.git
  $ rmdir ubuntu-2.6

Cela va créer ~/public_html/archives/ubuntu-2.6.git. Attention, vous ne devez pas l'utiliser pour mettre à jour (il faut toujours mettre à jour à partir de rsync.kernel.org). Cependant, vous pouvez permettre autoriser d'autres à mettre à jour depuis ce dépôt si vous avez des choses que vous voulez qu'ils testent. Le drapeau -s autorise votre dépôt à partager des objets avec les dépôts principaux. Ce la permet de réduire l'espace occupé sur rookery.

Pour charger votre dépôt vers son clone sur rookery, tapez :

  git push ssh://rookery.ubuntu.com/home/<yourname>/public_html/archives/ubuntu-2.6.git

Vous devez envoyer un mail à la liste de diffusion kernel-team avec votre nom d'utilisateur, afin d'être ajouté à la liste des dépôts à charger dans le dépôt principal.

Tout travail effectué sur le master (HEAD) sera automatiquement intégré dans le dépôt principal. Tout travail que vous souhaitez garder localement doit être fait dans une branche.

Lisez la documentation incluse avec les sources git pour plus de détail sur les différentes commandes.

On peut remplacer:

  $ git clone -s -n -l /home/bcollins/public_html/archives/ubuntu-2.6.git ubuntu-2.6
  $ mv ubuntu-2.6/.git ubuntu-2.6.git
  $ rmdir ubuntu-2.6

par

  $ git clone --bare -s -n -l /home/bcollins/public_html/archives/ubuntu-2.6.git ubuntu-2.6.git
  • git-core.1206696509.txt.gz
  • Dernière modification: Le 18/04/2011, 14:56
  • (modification externe)