OldGentooWiki:800-Trucs-Astuces-Avancés:Patch

De Gentoo-Quebec.

Go-previous.png Index des trucs et astuces avancés


Gentoo-quebec+Funtoo-quebec.png

application d'un correctif (patch) à un ebuild


Introduction à l'application d'un correctif à un ebuild

Ce document décrit la procédure pour appliquer un correctif (patch) à un paquet.

Quand faut-il appliquer un correctif ?

Lorsqu'un paquet refuse de compiler ou qu'une modification au code source d'un programme est disponible, un correctif est parfois déjà disponible en dehors de l'arbre de Portage de Gentoo. Normalement, une fois un bogue rapporté, les développeurs de Gentoo appliqueront le correctif associé dans l'arbre de Portage quelque temps après la découverte du bogue. Par contre, lorsqu'un paquet n'est pas supporté par les développeurs ou bien que le développeur responsable du paquet en question prend du temps pour réparer le problème, il est possible de corriger manuellement le paquet avec le correctif trouvé. Attention par contre, ces correctifs sont souvent fourni par des utilisateurs et ne sont pas toujours corrects.


Comment trouver un correctif

Les correctifs sujets à être ajoutés dans l'arbre de Portage de Gentoo sont généralement disponibles sur le Bugzilla de Gentoo.

Création d'un "overlay" local

L'application d'un correctif requiert une branche locale de l'arbre de portage (overlay). La procédure à suivre pour créer son propre overlay est décrite dans le document suivant: Go-previous.png Overlay 800-Trucs-Astuces-Avancés:Overlay


Nouvelle version d'un paquet

Parfois, lorsqu'un paquet n'est pas à jour dans Portage, un simple renommage du ebuild correspondant suffit pour fournir la nouvelle version du paquet. Voici un exemple de renommage de ati-drivers-8.593 vers la version 8.594

Gnome-dev-computer.png
# cd /usr/local/portage/[nom-overlay-local]/x11-drivers/ati-drivers
# cp /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.593.ebuild .
# mv ati-drivers-8.593.ebuild ati-drivers-8.594.ebuild

Application du correctif

Téléchargez le correctif et placez-le dans le dossier files. Créez le dossier s'il n'existe pas.

Gnome-dev-computer.png
# nano ati-drivers-8.594.ebuild

Une fois le ebuild ouvert, vérifiez que la version du EAPI utilisé est bien 2 en trouvant la ligne EAPI=2. Cette version du EAPI de Portage permet d'utiliser la section d'un ebuild nommée src_prepare()

Modifiez maintenant la section src_prepare() en y ajoutant la ligne epatch "${FILESDIR}"/[nom_patch].patch.

Fermez le fichier, et appliquez les modifications au ebuild et installez-le en exécutant les commandes suivantes:

Gnome-dev-computer.png
# ebuild ati-drivers-8.59.4.ebuild digest
# emerge -av =ati-drivers-8.59.4

Outils personnels