Installer un paquet Arch linux directement depuis firefox

C’est sûrement le genre de chose qui va finir aux oubliettes parce qu’il va être utilisé qu’une fois, mais peu importe, c’est aussi par curiosité.

De temps en temps, après une mise à jour à problème comme celle d’autoconf 2.66 actuellement, je voudrais réinstaller l’ancienne version du paquet, en théorie, il suffit d’aller dans le cache: /var/cache/pacman/pkg, mais si on l’a effacé, il faut se rabattre sur l’une des méthodes décrites dans le wiki. J’avais fait un script il y a longtemps pour revenir en arrière, mais encore faut il connaître la date du dernier paquet voulu.

Une autre méthode est de naviguer sur http://arm.kh.nu/ puis télécharger, lancer pacman etc…

Pour automatiser le téléchargement et lancement de pacman, je vais créer un protocole du genre d’apt:// et utiliser le script greasemonkey suivant:

// ==UserScript==
// @name           Pacman package
// @namespace      http://tuxce.no-ip.org
// @description    Install a pacman package
// @include        http://arm.kh.nu/*
// ==/UserScript==

var allElements, thisElement;
allElements = document.getElementsByTagName('a');
pkg_re=/\.pkg\.tar\./
for (var i = 0; i < allElements.length; i++) {
	thisElement = allElements[i];
	if (thisElement.href.match (pkg_re))
	{
		var a_custom = document.createElement('a');
		a_custom.setAttribute ('href', 'pacman://' + thisElement.href);
		a_custom.appendChild (document.createTextNode ('#'));
		thisElement.parentNode.insertBefore (a_custom, thisElement);
		thisElement.parentNode.insertBefore (document.createTextNode(' '), thisElement);
		i++;
	}
}

Cliquer sur le lien suivant pour l'installer si vous avez Greasemonkey: pacman_package.user.js

On crée un script pour prendre en charge l'url:

#!/bin/bash

urxvtc -e sudo pacman -U "${1:9}"

urxvtc -e à modifier selon le terminal que vous utilisez.

Il ne reste plus qu'à ajouter la prise en compte du protocole par firefox:

gconftool-2 -s -t string /desktop/gnome/url-handlers/pacman/command "chemin_vers_le_script '%s'"
gconftool-2 -s -t boolean /desktop/gnome/url-handlers/pacman/enable true 

Aller sur http://arm.kh.nu/, si vous avez Greasemonkey d'activé, vous devriez voir apparaître "# " devant chaque paquet, cliquez sur celui que vous voulez, au premier clic, il faudra donner le script avec lequel firefox gérera le lien, et c'est bon.