Modifications entre les versions 2 et 3
Version 2 à la date du 2008-02-21 22:09:51
Taille: 2273
Éditeur: localhost
Commentaire: converted to 1.6 markup
Version 3 à la date du 2012-05-09 14:01:38
Taille: 4330
Commentaire: nouvel exemple de backport, avec une méthode et des outils plus modernes
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
<<TableOfContents()>>
Ligne 4: Ligne 5:

=== Exemple avec python-django 1.4 pour Squeeze ===

Exemple (simple) du rétro-portage de `python-django` 1.4 pour [[Debian/Squeeze]].

 * travailler sur une machine de développement sous [[Debian/Squeeze]], sous un utilisateur '''non''' privilégié (pas `root` !)
 * ajouter les sources des backports de Debian et de l'AuF : {{{
sudo tee -a /etc/apt/sources.list << __EOF__
deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://apt.auf.org/ squeeze-backports auf
__EOF__
sudo apt-get update
}}}
 * installer les outils de développement Debian : {{{
sudo apt-get install devscripts dpkg-dev dput fakeroot debhelper build-essential
}}}
 * récupérer les sources de la version 1.4 de `python-django` : {{{
dget http://cdn.debian.net/debian/pool/main/p/python-django/python-django_1.4-1.dsc
}}}
 . {i} aller sur http://packages.qa.debian.org/python-django pour trouver les versions disponibles
 * extraire les sources d'origine et y appliquer les modifications Debian : {{{
dpkg-source -x python-django_1.4-1.dsc
}}}
 * vérifier les dépendances nécessaires pour le rétro-portage, puis les installer :
 . {{{
cd python-django-1.4
dpkg-checkbuilddeps
sudo apt-get install -t squeeze-backports python-sphinx
}}}
 * indiquer les changements dans le journal Debian : {{{
dch -i
}}}
  * changer le numéro de version pour `1.4-1~auf60+1` (voir http://backports-master.debian.org/Contribute/#index5h3)
  * ajouter une ligne de journal, par exemple : {{{
* Rebuild for Squeeze.
}}}
  * vérifier, et corriger au besoin, ses nom et adél en dessous
 * reconstruire le paquet dans l'environnement local => rétro-portage [[Debian/Squeeze]] :
 . {{{
debuild -sa -us -uc
}}}
 * si tout s'est bien passé, les fichiers générés se trouvent dans le répertoire parent :
 . {{{
ls ../*auf*.deb
}}}
 * pour un déploiement, envoyer dans le [[DépôtAPT|dépôt APT AuF]] : {{{
debrelease --dput squeeze-test
}}}

=== Exemple avec phpPgAdmin 3.5.1 pour Woody ===

Quelques astuces pour Debian...

Procédure pour faire un rétro-portage (backport) Debian

Exemple avec python-django 1.4 pour Squeeze

Exemple (simple) du rétro-portage de python-django 1.4 pour Debian/Squeeze.

  • travailler sur une machine de développement sous Debian/Squeeze, sous un utilisateur non privilégié (pas root !)

  • ajouter les sources des backports de Debian et de l'AuF :

    sudo tee -a /etc/apt/sources.list << __EOF__
    deb http://backports.debian.org/debian-backports squeeze-backports main
    deb http://apt.auf.org/ squeeze-backports auf
    __EOF__
    sudo apt-get update
  • installer les outils de développement Debian :

    sudo apt-get install devscripts dpkg-dev dput fakeroot debhelper build-essential
  • récupérer les sources de la version 1.4 de python-django :

    dget http://cdn.debian.net/debian/pool/main/p/python-django/python-django_1.4-1.dsc
  • {i} aller sur http://packages.qa.debian.org/python-django pour trouver les versions disponibles

  • extraire les sources d'origine et y appliquer les modifications Debian :

    dpkg-source -x python-django_1.4-1.dsc
  • vérifier les dépendances nécessaires pour le rétro-portage, puis les installer :
  • cd python-django-1.4
    dpkg-checkbuilddeps
    sudo apt-get install -t squeeze-backports python-sphinx
  • indiquer les changements dans le journal Debian :

    dch -i
  • reconstruire le paquet dans l'environnement local => rétro-portage Debian/Squeeze :

  • debuild -sa -us -uc
  • si tout s'est bien passé, les fichiers générés se trouvent dans le répertoire parent :
  • ls ../*auf*.deb
  • pour un déploiement, envoyer dans le dépôt APT AuF :

    debrelease --dput squeeze-test

Exemple avec phpPgAdmin 3.5.1 pour Woody

Exemple (simple) du rétro-portage de phppgadmin pour Debian/Woody.

  • travailler sur une machine de développement sous Debian/Woody

  • ajouter les sources de Debian/Sarge, dans le /etc/apt/sources.list :

  • deb-src http://ftp.ca.debian.org/debian/ sarge main
  • ajouter également debhelper, souvent nécessaire pour les rétro-portages :

  • deb http://www.backports.org/debian/ woody debhelper
  • mettre à jour la liste des paquets disponibles :
  • # apt-get update
  • installer quelques outils de base nécessaires :
  • # apt-get install -u build-essential devscripts fakeroot
  • installer les dépendances nécessaires pour le rétro-portage :
  • # apt-get build-dep phppgadmin
  • passer sous un utilisateur « non-root » quelconque
  • récupérer les sources :
  • $ apt-get source phppgadmin
    $ cd phppgadmin-3.5.1
  • re-numéroter pour respecter la gestion des versions : $ dch -i

    • changer le numéro de version pour 3.5.1-0.auf.1 (voir http://www.backports.org/contribute.html)

    • changer la distribution unstable pour stable

    • ajouter une ligne de journal, par exemple : * Woody backport.

    • indiquer son nom et adél en dessous
  • reconstruire le paquet dans l'environnement local => rétro-portage Debian/Woody :

  • $ dpkg-buildpackage -rfakeroot
  • si tout s'est bien passé, les fichiers générés se trouvent dans le répertoire parent :
  • $ ls ../*.auf.*

Procédure pour corriger une dépendance foireuse^Wincorrecte

ATTENTION : cette procédure n'est à utiliser qu'en dernier recours, par exemple sur un paquet dont on n'a pas le source

  • extraire le contenu du paquet :
  • $ dpkg-deb --extract le-paquet.deb /tmp/temporaire
  • extraire le fichier de contrôle du paquet :
  • $ dpkg-deb --control le-paquet.deb /tmp/temporaire/DEBIAN
  • éditer le fichier de contrôle pour corriger le problème :
  • $ vi /tmp/temporaire/DEBIAN/control
  • reconstruire le paquet :
  • $ dpkg-deb --build /tmp/temporaire le-paquet-corrigé.deb

Debian/Astuces (dernière édition le 2012-05-09 14:01:38 par JeanChristopheAndré)