Quand pacman joue au serpent

Depuis quelque temps, Bouleetbil s’est lançé dans le projet de faire un binding python de pacman-g2, le gestionnaire de paquets de Frugalware Linux (dérivé du pacman originel d’ArchLinux).

Je me suis donc permis d’interroger Bouleetbil sur son projet.

Salut Bouleetbil, parlons un peu de ton projet, tout d’abord, qu’est-ce qui t’a poussé à vouloir réaliser py-pacman ?

Salut,
Il y a plusieurs buts :
1. Trouver un nouveau jeu pour m’occuper :)
2. Ensuite, supprimer frugal-tweak écrit en mono, car j’ai basculé mono dans le groupe extra, que c’était la solution de facilité à l’époque codant déjà en C# dans la vraie vie.
3. Le frugal-tweak en vala est incomplet. A terme je veux supprimer ces deux projets (car pour moi ca fait pas sérieux, même si c’est moi qui a écrit ces programmes)
4. Et enfin, réecrire fun et gfpm dans un langage plus clair et plus simple donc plus maintenable.

 

Pourquoi avoir choisi le python ?

Au début je voulais le faire en C voire en vala. J’avais commencé à écrire un binding en vala pour pacman-g2 mais il est encore incomplet. Mais après réflexion je suis dis que se serait plus simple dans un autre langage « plus abordable », « scriptable ». D’autres développeurs pourraient du coup se joindrent au projet.

J’ai donc étudié python avec le module ctypes pour attaquer les librairies en C et c’est magique. En même pas 3 semaines sans connaitre réellement python, j’ai écris un binding pour pacman-g2 et un client en mode console qui permet :

Mettre à jour le système
Installer/Désinstaller
Supprimer du cache les fpms
Chercher un paquet

Toutes les actions de base sont déjà codées, je suis comme un gamin. En plus la communauté est plutôt sympa. On trouve pas mal de documentations alors pourquoi pas :)

 

A quoi pourra servir ce py-pacman par la suite ?

Dans un premier temps écrire des frontends :

Le 1er, pyfun pour remplacer fun (Frugalware Update Notifier).
Ensuite pyfpm en pygtk pour remplacer gfpm (Graphical Frugalware Package Manager) qui n’est plus maintenu.
Bien sur, une fois ces programmes codés je supprimerais les frugal-tweak.
Et en dernier, écrire un backend pacman-g2 en python pour packagekit pour profiter des différents GUI de PackageKit.
Alors, pourquoi pas directement le backend de packagekit ? Déjà pour tester le module libpacman et je pense que c’est bien d’avoir aussi nos GUI indépendant. C’est plus simple à personnaliser

Ensuite, j’ai d’autres idées comme y ajouter un sélecteur de langue, lecteur de flux du planet, choisir le login manager etc…
Je rêve d’un centre de controle depuis pas mal de temps mais j’avais pas le temps. Le fait que baste me soulage dans mes paquets gnome me permet de faire autre chose. (Sinon j’aurrais pas commencé)

 

Où peut ton suivre l’avancement de ton travail ?

http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-tweak.git;a=summary

Mais maintenant, je travail sur ce répertoire http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-tweak.git;a=tree;f=py-pacman;h=039be98a41b19057a104f29c954a868e448fc1a3;hb=HEAD

 

De quoi as tu besoin pour continuer ce développement ?

Du temps comme d’habitude même si cela avance vite.
Des developpeurs PyQt peut-être, ce qui permettra d’avoir plusieurs interfaces qui s’adaptent au bureau.
Mais je pense être sur la bonne voie :D

Bon courage à Bouleetbil :)

Vus : 875
Publié par Devil505 : 279