Oui le numéro de version n’a pas la même forme, exemple :
$ apt-cache policy ffmpeg mplayer
ffmpeg:
Installé : 3:20090222-0.0
Candidat : 3:20090222-0.0
Table de version :
*** 3:20090222-0.0 0
95 http://www.debian-multimedia.org squeeze/main Packages
90 http://www.debian-multimedia.org unstable/main Packages
100 /var/lib/dpkg/status
3:20080706-0.3 0
900 http://www.debian-multimedia.org lenny/main Packages
3:0.svn20090303-1 0
90 http://ftp.fr.debian.org sid/main Packages
0.svn20080206-17 0
95 http://ftp.fr.debian.org squeeze/main Packages
900 http://ftp.fr.debian.org lenny/main Packages
mplayer:
Installé : 1:1.0.rc2svn20080706-0.2
Candidat : 1:1.0.rc2svn20080706-0.2
Table de version :
*** 1:1.0.rc2svn20080706-0.2 0
95 http://www.debian-multimedia.org squeeze/main Packages
90 http://www.debian-multimedia.org unstable/main Packages
100 /var/lib/dpkg/status
1:1.0.rc2svn20080706-0.1 0
900 http://www.debian-multimedia.org lenny/main Packages
1.0~rc2-20 0
95 http://ftp.fr.debian.org squeeze/main Packages
90 http://ftp.fr.debian.org sid/main Packages
1.0~rc2-17+lenny3 0
900 http://ftp.fr.debian.org lenny/main Packages
900 http://security.debian.org lenny/updates/main Packages
Si ça n’était pas le cas pour un paquet il faudrait le signaler à Christian.
Il pourrait être grandement simplifié pour le même comportement. Par exemple en ne renseignant que les dépôts Multimedia si tu tiens absolument à leurs attribuer une priorité supérieure.
Je vais en remettre une couche dans la manière de construire un preferences générique, neutre et facilement adaptable :
-
Garder des priorité identiques pour les dépôts Debian officiels d’une même branche. C’est le comportement par défaut (ex : quand l’on a que les dépôts de la branche suivie sans preferences). Tout manquement à cette règle casse le comportement par défaut et peut générer des résultats très dommageables car non prévus par les devs Debian.
-
Attribuer une priorité comprise entre 500 et <990 pour la branche suivie et la/les branche(s) comportant des paquets aux versions =< à la branche suivie. Pourquoi <990 ? Car lorsque l’on utilise l’option -t pour installer des paquets d’une autre branche que celle suivie celle-ci devient temporairement la branche par défaut (APT::Default-Release “branche” et à donc une priorité de 990. On comprend donc aisément qu’avoir une priorité =>990 pour la branche suivie perturbe l’option -t
-
Attribuer une priorité comprise entre 1 et <100 pour la/les branche(s) comportant des paquets aux versions > à la branche suivie. Ceci permet d’installer les paquets à la demande ou à Aptitude de le faire simplement en cas de besoins sans pour autant « suivre » les paquets installés à partir des ces dépôts.
Si l’on veut les « suivre », càd qu’ils se mettent à jours automatiquement si une nouvelle version est placée dans ces dépôts lors d’une mise à jours, il est normalement suffisant d’attribuer une priorité à ces branches comprise entre 100 et <500. Si c’est envisageable individuellement ce n’est pas prudent pour un preferences générique du fait des dépendances.
-
D’un point de vue pratique, utiliser des chiffres ronds (900, 800, 90…). Cela permet d’adapter facilement le preferences en fonction des besoins individuels (ajout de dépôts, etc) sans avoir à décaler toutes les autres entrées dans le preferences et c’est ainsi beaucoup plus lisible et donc facile de faire la différences entre les différentes priorités des dépôts (apt-cache policy).
Ce qui nous donne pour ce sources.list :
################################################
## lenny
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free
## lenny security
deb http://security.debian.org/ lenny/updates main contrib non-free
#deb-src http://security.debian.org/ lenny/updates main contrib non-free
## lenny volatile
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
#deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
## lenny multimedia
deb http://mirror.home-dn.net/debian-multimedia lenny main
#deb-src http://mirror.home-dn.net/debian-multimedia lenny main
################################################
## squeeze
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
## squeeze security
deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free
## squeeze multimedia
deb http://mirror.home-dn.net/debian-multimedia squeeze main
#deb-src http://mirror.home-dn.net/debian-multimedia squeeze main
################################################
## sid
deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free
## sid multimedia
deb http://mirror.home-dn.net/debian-multimedia sid main
#deb-src http://mirror.home-dn.net/debian-multimedia sid main
################################################
## experimental
deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free
## experimental multimedia (Seulement pour arch amd64)
deb http://mirror.home-dn.net/debian-multimedia experimental main
#deb-src http://mirror.home-dn.net/debian-multimedia experimental main
Pour Sid :
Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages
Pin-Priority: 1
Pour Sid, si besoin d’un preferences plus complet (gestion particulière de certains dépôts, parano, etc…) (Note Importante : contrairement au précédent ce preferences ne permet pas de bénéficier des mises à jours de sécurité et « volatiles » de Stable pour les paquets communs aux deux branches) :
Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 900
Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-Priority: 800
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 800
Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable
Pin-Priority: 700
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 700
Package: *
Pin: release o=volatile.debian.org,a=stable
Pin-Priority: 700
Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental
Pin-Priority: 1
Pour Testing :
Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 900
Package: *
Pin: release o=volatile.debian.org,a=stable
Pin-Priority: 900
Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable
Pin-Priority: 90
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 90
Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental
Pin-Priority: 1
Pour Testing (Note Importante : contrairement au précédent ce preferences ne permet pas de bénéficier des mises à jours de sécurité et « volatiles » de Stable pour les paquets communs aux deux branches) :
Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable
Pin-Priority: 800
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 800
Package: *
Pin: release o=volatile.debian.org,a=stable
Pin-Priority: 800
Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable
Pin-Priority: 90
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 90
Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental
Pin-Priority: 1
Pour Stable. Étant donné qu’il est fortement déconseillé de mélanger Stable et les branches supérieures, il est donc préférable de n’avoir que les entrées pour le nom de code de la Stable dans le sources.list (+ backports éventuellement) et donc preferences inutile.
Si besoin du sources.list complet et donc d’un preferences :
Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 900
Package: *
Pin: release o=volatile.debian.org,a=stable
Pin-Priority: 900
Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-Priority: -10
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: -10
Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable
Pin-Priority: -10
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: -10
Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental
Pin-Priority: -10
Ce preferences est très sécurisé : les paquets hors de la branche Stable ne pourront être installés que volontairement.