Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
|
doc:guide_kernelgit [Le 21/11/2006, 13:34] ostaquet |
— (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | [[https://wiki.ubuntu.com/KernelGitGuide|Traduit]] par [[utilisateurs:mr_pouit]] | ||
| - | ====== Comment utiliser GIT pour développer le kernel Ubuntu ? ====== | ||
| - | |||
| - | =====Versions concernées===== | ||
| - | |||
| - | * Dapper 6.06 LTS | ||
| - | |||
| - | =====Résumé===== | ||
| - | |||
| - | 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. | ||
| - | |||
| - | =====Arbres GIT actuels===== | ||
| - | |||
| - | <code> | ||
| - | * devel (edgy): rsync://rsync.kernel.org/pub/scm/linux/kernel/git/bcollins/ubuntu-2.6.git | ||
| - | * dapper: rsync://rsync.kernel.org/pub/scm/linux/kernel/git/bcollins/ubuntu-dapper.git | ||
| - | </code> | ||
| - | |||
| - | =====Obtenir GIT===== | ||
| - | |||
| - | Installez simplement le paquet //git-core// : | ||
| - | <code> | ||
| - | sudo apt-get install git-core | ||
| - | </code> | ||
| - | |||
| - | **Note :** Le paquet //git// est un outil complètement différent qui ne fera pas ce que vous voulez. | ||
| - | |||
| - | =====Utiliser le dépôt du kernel Linux Ubuntu===== | ||
| - | |||
| - | Pour télécharger une copie locale du dépôt git du kernel Linux Ubuntu, utilisez la commande suivante : | ||
| - | <code> | ||
| - | git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/bcollins/ubuntu-2.6.git ubuntu-2.6 | ||
| - | </code> | ||
| - | |||
| - | Cela va prendre quelque temps, selon la vitesse de votre connexion internet. Il y a environ 110MO 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 : | ||
| - | <code> | ||
| - | git pull | ||
| - | </code> | ||
| - | |||
| - | =====Soumettre des changements au dépôt principal===== | ||
| - | |||
| - | 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 [[mailto:kernel-team@lists.ubuntu.com|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 [[mailto:kernel-team@lists.ubuntu.com|kernel-team]]. | ||
| - | |||
| - | =====Modèles de soumission===== | ||
| - | |||
| - | 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 à: | ||
| - | <code> | ||
| - | git-commit -s -F debian/commit-templates/patch -e | ||
| - | </code> | ||
| - | 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: | ||
| - | <code> | ||
| - | [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> | ||
| - | </code> | ||
| - | |||
| - | =====Développeurs du kernel Ubuntu (avec un accès à rookery)===== | ||
| - | |||
| - | Afin d'avoir votre dépôt //git// chargé automatiquement, suivez ces instructions. | ||
| - | |||
| - | D'abord, identifiez-vous sur //rookery//, et exécutez ces commandes : | ||
| - | <code> | ||
| - | $ 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 | ||
| - | </code> | ||
| - | |||
| - | 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 : | ||
| - | <code> | ||
| - | git push ssh://rookery.ubuntu.com/home/<yourname>/public_html/archives/ubuntu-2.6.git | ||
| - | </code> | ||
| - | |||
| - | Vous devez envoyer un mail à la liste de diffusion [[mailto:kernel-team@lists.ubuntu.com|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. | ||
| - | |||
| - | =====Informations supplémentaires===== | ||
| - | |||
| - | Lisez la documentation incluse avec les sources //git// pour plus de détail sur les différentes commandes. | ||