Binôme HASSAN Khaled / DUGUE Nicolas
(khassan@clio.unice.fr) (ndugue@clio.unice.fr)
MINI-PROJET
"INTERFACE
- RPM"
Generalités :
Nous avons fait une interface java au dessus de la commande RPM d'Unix.
Cette interface se compose d'onglets:
* Un onglet "Install", qui permet des opérations sur les packages non installés.
Cet onglet se compose essentiellement de trois parties:
-A gauche, un arbre qui represente l'arborescence des package a installer.
-En haut, à droite, les informations sur le package sélectionné dans l'arbre. (résultat de la commande "rpm -qpi package_select")
-En bas, à droite toujours, la liste des fichers contenus dans le package sélectionné (résultat de la commande "rpm -qpl package_select").
* On peut, à grâce à la JListe, sélectionner le ou les fichiers a extraire (bouton extract) ou alors tout extraire (bouton install).
* Le bouton "Deps" sert a afficher les dependences de ce package, et le bouton "From" a choisir le repertoire dans lequel se trouve les packages.
* Ces opérations peuvent etre faite avec des options telles que "no deps", "force", ou encore "test".
Options d'installation et de désinstallation:
* L'option "force" permet une installation complète, qui écrase les anciens fichiers et réinstalle le package, s'il avait déjà été installé.
Elle permet également d'écraser l'ancienne version d'un package et de le remplacer
* L'option "no deps" empêche la vérification de dépendance, afin de pouvoir écraser une ancienne version du package, lors de l'installation, ou de la désinstallation.
* Avec l'option "test", RPM simule l'opération, fait les vérifications, et indique les conflits éventuels.
* L'onglet suivant, "Installed", se présente de la même façon que l'onglet "Install", et propose des opérations sur les packages déjà installés.
Les opérations possibles sont :
* la désinstallation(bouton uninstall)
* l'affichage des dependences (bouton deps)
* la recherche de fichier dans les packages installées (search)
* L'onglet "Build", quand à lui, sert à effectuer les opérations de type build de RPM.
* On doit rentrer le nom du fichier spec qui sera cree et remplir les autres champs du header du fichier spec
* La TextArea de droite (option) sert a rentre les commandes a executer à l'installation du package que l'on veut créer.Elle
peut servir aussi a rajouter d'autre options que l'utilisateur a l'habitude d'utiliser.
* Le bouton "Build" permet la création du fichier spec, et lance la commande build de RPM "rpm -ba specfile"
Problémes:
On a eu beaucoup de difficultées surtout au niveau de l'affichage, il a fallut ruser mais cela n'as
parfois pas suffit. Des problemes reste à resoudre comme l'affichage des dependences dans
l'onglet "Install", l'affichage de l'aide, l'execution de la commande search.
Nous n'avons pas trop bien traite les erreurs non par paresse mais par manque de temps
mais a chaque fois que nous l'avons fait on vu que java se prêtait bien a la detection grace
aux exceptions.
Dans l'onglet Install lorsque l'on change le repertoire ou se trouve les packages que l'on veut installer
le changement se fait, le nouvelle arbre se construit mais on pas reussi a afficher le nouvelle arbre, conclusion
on ne peut installer que les packages du repertoire courant ... :((
On a pas su comment faire reference au image qui sont jrp/view/images, dons la bidouille consiste
a les mettre dans le repertoire au on installer le jar.
Par défaut le programme est mode debug c'est dire qu'il affiche les resultats des commandes
dans le xterm et n'execute pas réelement les commandes d'instalation et de desinstallation il ne fait
qu'afficher la ligne qu'il executerais.
Pour supprimer le mode debug il faut mettre false au deuxieme argument du constructeur de la classe
Commande dans les classes EDBInstall et EDBInstalled.
Utilisation
Ce programme requiert :
JDK 1.1.7
Swing 1.01
rpm 2.3 (fourni dans la RedHat)
rpm2cpio et cpio (fourni dans la RedHat)
Installation :
Créer un repertoire, y copier jrpm.jar
Recuperer les .gif de jrpm.jar (jar xvf jrpm.jar jrpm/view/images)
Deplacer ces images dans le repertoire que l'on vient de crée
Rajouter jrpm.jar dans le CLASSPATH
A partir du repertoire cree taper "java jrpm.Jrpm"
Pour recompiler : toujours à partir dur repertoire crée au départ
Dejarrer jrpm.jar
Taper :
javac jrpm/view/*.java
javac/control/*.java
javac/model.*.java