Salut,
Je viens presenter un ptit outil que j'ai développé hier. Au debut je l'ai fait pour moi, mais au final j'ai obtenu des resultats assez interessants et donc je me suis dit, pourquoi ne pas partager 🙂
J'utilise yum depuis que je suis sous FC2. Meme si cet outil est tres pratique, il est tres lent (telecharger les headers quand on veut juste installer un package est tres penible) et parfois ne trouve pas toutes les dependances. Quand cela arrive, je finis souvent sur rpm.pbone.net a chercher moi meme mes packages. Mon idée a donc été d'ecrire une librairie (en python) d'acces a pbone pour simuler le fonctionnement d'outils comme apt ou yum mais se basant sur le moteur de recherche de rpm.pbone.net. L'outil permet donc de faire des operations simple comme, la recherche, l'interrogation, l'installation de packages (avec gestion des dependances) disponibles sur ce site.
L'avantage d'une telle solution sont les temps de reponse. Quand pbone fonctionne correctement, les reponses aux differentes requetes sont quasi immediates.
Par contre hier matin, pbone avait de gros pbs et les temps de reponse de mon outil sont devenu tres tres long (en gros je depends du bon fonctionnement de pbone)
J'ai pas developpé cet outil dans le but de remplacer apt ou yum, mais plutot pour les completer.
L'outil ayant été developpé en une seule journée, il existe encore des limitations et un grand nombre de bugs potentiels.
Voici une liste des limitations actuelles:
LIMITATIONS:
-----------
* Gere uniquement les paquets FC2. Il est possible avec d'autres distrib d'utiliser
toutes les options a part celle d'installation. J'attend encore avant de passer
a FC3.
* L'option installation n'est pas dispo pour les machines avec une architecture 64 bits
* Pas d'upgrade des paquets possible. Uniquement l'installation
* Gestion des dependances reste a travailler (meme si ca a fonctionné sur le peu de tests
que j'ai effectué).
* Vu le tres petit nombre de tests, il est fort possible que le prog plante (sans que ce soit
dangereux pour autant)
Il existe aussi quelques bugs que j'ai identifié mais que je n'ai pas encore corrigés car je les ai jugé pas genants.
Voila, vous pouvez telecharger l'outil à l'adresse suivante:
http://vhalalla.suidzer0.org/libpbone-0.1.tgz
Pour desarchiver:
tar xvfz libpbone-0.1.tgz
rendre libpbone executable si c'est pas le cas.
Vous devez avoir python. Normalement y a pas de pb.
Si vous avez des remarques, des suggestions, des bugs (ca y en a surement un paquet), n'hesitez pas!!
A+
Voici les possibilités de la chose avec des exemples:
1/ Faire une recherche d'un package (l'argument est soit un fichier du package ou le nom precis
du package
Pour l'instant, pas de possibilité d'utiliser des jokers: Le nom du fichier ou du package doit
etre exact
# ./libpbone.py search libzvbi.so.0.3.2
zvbi-0.2.8-3.rhfc2.at.i386.rpm
zvbi-0.2.8-1.1.fc2.fr.i386.rpm
zvbi-0.2.8-1.1.fc2.dag.x86_64.rpm
zvbi-0.2.8-1.1.fc2.dag.i386.rpm
4 result(s) found
2/ Faire une recherche d'un package (l'argument est soit un fichier du package ou le nom precis
du package
Pour l'instant, pas de possibilité d'utiliser des jokers: Le nom du fichier ou du package doit
etre exact
# ./libpbone.py search MagicPoint
MagicPoint-1.10a-8.x86_64.rpm
MagicPoint-1.10a-8.i386.rpm
2 result(s) found
3/ Demander les infos sur un package. L'argument est le nom exact du package. Pour recuperer ce nom, il faut utiliser
l'option search dans un premier temps
# ./libpbone.py info MagicPoint-1.10a-8.i386.rpm
This package provides debug information for package MagicPoint. Debug information is useful when developing applications that use this package or when debugging this package.
4/ Lister les fichiers du package. Encore une fois le nom doit etre exact (utiliser search)
# ./libpbone.py list MagicPoint-1.10a-8.i386.rpm
/usr/X11R6/bin/mgp2ps
/usr/X11R6/bin/mgpembed
/usr/X11R6/bin/mgpnet
/usr/X11R6/bin/xwintoppm
/usr/X11R6/lib/X11/mgp
/usr/X11R6/lib/X11/mgp/default.mgp
...
5/ Installer un package avec gestion automatique des dependances. Encore une fois le nom doit etre exact (utiliser search). Quand il telecharge le meme paquet a des adresses differentes, c'est qu'il a detecté que le lien precedent etait mort, et il en essaye un nouveau.
# ./libpbone.py install MagicPoint-1.10a-8.i386.rpm
---------------------------------------------------------------------------
[
ftp://ftp.linux.org.ar/redhat/fedora/core/2/i386/os/Fedora/RPMS/MagicPoint-1.10a-8.i386.rpm]
download MagicPoint-1.10a-8.i386.rpm... Please wait
---------------------------------------------------------------------------
[
ftp://ftp.univie.ac.at/systems/linux/fedora/2/i386/os/Fedora/RPMS/MagicPoint-1.10a-8.i386.rpm]
download MagicPoint-1.10a-8.i386.rpm... Please wait
---------------------------------------------------------------------------
check dependencies for MagicPoint-1.10a-8.i386.rpm... please wait
Try to resolv VFlib2-conf-ja dependance...
Will install VFlib2-conf-ja-2.25.6-21.i386.rpm to resolv the dependance
---------------------------------------------------------------------------
[
ftp://ftp.linux.org.ar/redhat/fedora/core/2/i386/os/Fedora/RPMS/VFlib2-conf-ja-2.25.6-21.i386.rpm]
download VFlib2-conf-ja-2.25.6-21.i386.rpm... Please wait
---------------------------------------------------------------------------
[
ftp://ftp.univie.ac.at/systems/linux/fedora/2/i386/os/Fedora/RPMS/VFlib2-conf-ja-2.25.6-21.i386.rpm]
download VFlib2-conf-ja-2.25.6-21.i386.rpm... Please wait
---------------------------------------------------------------------------
check dependencies for VFlib2-conf-ja-2.25.6-21.i386.rpm... please wait
Try to resolv ttfonts-ja dependance...
Will install ttfonts-ja-1.2-34.noarch.rpm to resolv the dependance
---------------------------------------------------------------------------
[
ftp://ftp.linux.org.ar/redhat/fedora/core/2/x86_64/os/Fedora/RPMS/ttfonts-ja-1.2-34.noarch.rpm]
download ttfonts-ja-1.2-34.noarch.rpm... Please wait
---------------------------------------------------------------------------
[
ftp://ftp.linux.org.ar/redhat/fedora/core/2/i386/os/Fedora/RPMS/ttfonts-ja-1.2-34.noarch.rpm]
download ttfonts-ja-1.2-34.noarch.rpm... Please wait
---------------------------------------------------------------------------
[
ftp://ftp.univie.ac.at/systems/linux/fedora/2/i386/os/Fedora/RPMS/ttfonts-ja-1.2-34.noarch.rpm]
download ttfonts-ja-1.2-34.noarch.rpm... Please wait
---------------------------------------------------------------------------
check dependencies for ttfonts-ja-1.2-34.noarch.rpm... please wait
---------------------------------------------------------------------------
installation of ttfonts-ja-1.2-34.noarch.rpm... please wait
Installation completed
---------------------------------------------------------------------------
---------------------------------------------------------------------------
installation of VFlib2-conf-ja-2.25.6-21.i386.rpm... please wait
Installation completed
---------------------------------------------------------------------------
---------------------------------------------------------------------------
installation of MagicPoint-1.10a-8.i386.rpm... please wait
Installation completed
---------------------------------------------------------------------------
Nettoyer les fichiers temporaires
# ./libpbone.py clean