Comment construire un package Debian/Ubuntu à partir de la source?

J'ai le source d'un programme (prises à partir de cvs/svn/git/...) et j'aimerais construire un package Debian/Ubuntu pour elle. Le paquet est présent dans les dépôts, mais:

  • C'est une ancienne version (manque de fonctionnalités dont j'ai besoin)
  • J'ai besoin d'légèrement différentes options de compilation que celui par défaut.

Quel est le moyen le plus facile de faire cela? Je suis préoccupé par un couple de choses

  • Comment puis-je vérifier si j'ai la liste de toutes les dépendances correctement? (Je peux obtenir quelques conseils en regardant sur ce que l'ancienne version dépendait, mais de nouvelles dépendances peuvent avoir été ajoutés.)
  • Comment je puis-je empêcher le système de mise à jour de l'installation de l'ancienne version dans le repo sur une mise à jour?
  • Comment je peut empêcher le système de l'installation d'une version plus récente (lors de sa sortie), en écrasant mon package personnalisé?