Le paquet mime-support est installé par défaut dans les systèmes Debian. Il a deux rôles: premièrement fournir le fichier /etc/mime.types qui associe des types de médias (anciennement appelés types MIME) à des suffixes de noms de fichiers, et deuxièmement mettre en place le système mailcap, qui associe des type de média à des programmes. J'ai adopté ce paquet à la fin du cycle de développement de Wheezy.

Changements depuis Wheezy.

La version distribuée dans Jessie apporte quelques additions dans /etc/mime.types. Parmi elles, application/vnd.debian.binary-package et text/vnd.debian.copyright, qui comme leurs noms l'indiquent décrivent des formats de fichiers conçus par Debian. J'ai enregistré ces types auprès de l'IANA, qui depuis la RFC 6838 est beaucoup plus ouverte à l'addition de nouveaux types.

Le changement le plus important consiste à extraire automatiquement les associations entre programmes et types de média qui sont déclarées dans les fichiers de menu au format FreeDesktop. Ces fichiers sont souvent fournis directement amont. Auparavant c'est le responsable du paquet Debian qui devait extraire l'information et la traduire à la main au format mailcap. L'automatisation se fait via des actions différées de dpkg.

Un grand merci à Kevin Ryde qui m'a apporté une aide précieuse pour les développement et corrections apportées au programme run-mailcap, et à tous les autres contributeurs. Votre aide est toujours bienvenue !

Mise à jour de sécurité.

En décembre, Debian a été contacté par Timothy D. Morgan, qui avait trouvé qu'un attaquant pouvait faire exécuter des commandes à run-mailcap en les insérant dans des noms de fichiers (CVE-2014-7209). Cette première mise à jour de sécurité pour moi s'est bien passée, un grand merci à Salvatore Bonaccorso de l'équipe sécurité pour son aide et ses instructions. Le problème est résolu dans Wheezy, Jessie et Sid, ainsi que dans Squeeze via son projet de suivi à long terme.

Une des conséquences de cette mise à jour est que run-mailcap va systématiquement utiliser le chemin absolu vers les fichiers à ouvrir. Pour les fichiers aux noms sans danger, c'est un peu laid. Cela sera peut-être amélioré après la sortie de Jessie.

Projets pour le futur

Le fichier /etc/mime.types est tenu à jour à la main; c'est lent et inefficace. Le paquet shared-mime-info contient des informations équivalentes, qui pourraient être utilisées pour autogénérer ce fichier, mais cela demanderait de traiter une source XML assez complexe. Pour le moment je pense importer le paquet mailcap de chez Fedora, dont le fichier /etc/mime.types est très bien tenu à jour. Je n'ai pas encore décidé comment faire, mais peut-être simplement en transférant ce fichier d'un paquet à l'autre. Dans ce cas, on se retrouverait avec un paquet mime-support qui en fait fournit le système mailcap, et un paquet dont le nom de la source chez Fedora est mailcap, mais dont le rôle dans Debian serait de fournir /etc/mime.types. Peut-être sera-t-il préférable d'utiliser des noms de paquets binaires plus clairs, comme mailcap-support pour le premier et media-types pour le second ?

La séparation des deux fonctions premières de mime-support aurait une autre conséquence intéressante: la possibilité de ne pas installer la prise en charge du système mailcap ou de la rendre optionnelle, et d'utiliser le système FreeDesktop (xdg-open), du paquet xdg-utils. Une idée à creuser...