mercredi 3 février 2021

Hypnotix sur Fedora avec rpmerizor

Ce billet vient en complément avec celui-ci où il était question d'une méthode pour avoir hypnotix sur Fedora. 

Après avoir téléchargé ici le fichier hypnotix_1.1_all.deb, l'extraction du fichier deb (clic droit -> menu contextuel -> Extraire ici) conduit à la création d'un dossier hypnotix_1.1_all à ouvrir. Ensuite il reste à ouvrir data.tar.xz, puis data pour voir l'icone du dossier usr.

Puis cet usr issu du paquet deb était fusionné avec avec le dossier /usr se trouvant à la racine du système.

C'est une méthode efficace mais dangereuse car une fausse manœuvre risque de mettre tout le système par terre. De plus ce n'est pas tellement propre puisqu'il y a introduction de fichiers qui ne dépendent d'aucun paquet rpm. 

Alors pourquoi ne pas créer un paquet rpm? Pas de panique, rpmerizor rend la chose très facile. J'ai déjà parlé de cet outil dans ce message.

rpmerizor est à télécharger ici.

Ensuite j'ouvre un terminal dans le dossier de téléchargement, puis j'installe le paquet rpmerizor avec la commande:

sudo dnf install ./rpmerizor-2.10-1.noarch.rpm 

Toutes les dépendances nécessaires sont alors automatiquement téléchargées puis installées.

Puis j'ouvre un terminal au niveau du dossier hypnotix_1.1_all qui contient data (voir le message dont je parle au début) et je lance la commande

rpmerizor -name hypnotix -version 1.1 --rootdir data --nosign

Dans la sortie qui vient il suffit d'encoder quelques mots (en bleu):

name: hypnotix

version: 1.1

A brief one line description.

SUMMARY> IPTV Player

release: 1

toplevel_group/subclass (no biggie either way).

GROUP> video

A sales pitch for the package.  A blank line means you are done.

DESCRIPTION> 

mkdir /home/michel/rpmbuild

mkdir /home/michel/rpmbuild/SPECS

write spec file on /home/michel/rpmbuild/SPECS/hypnotix-1.1.spec

.....

Écrit : /home/michel/rpmbuild/RPMS/x86_64/hypnotix-1.1-1.x86_64.rpm

Et voilà le rpm est créé!

rootdir doit indiquer un dossier où se trouve uniquement usr (issu du deb).

On pourrait en modifiant le fichier spec indiquer les dépendances requises, mais pourquoi se casser la tête, il suffit de les installer (les dépôts rpmfusion doivent avoir été activés):

sudo dnf install python3-setproctitle python3-xapps-overrides mpv-libs

sudo pip install IMDbPY

Voir ici.

Pour installer le rpm nouvellement créé, ne pas utiliser dnf, mais la commande:

sudo rpm -i --replacefiles hypnotix-1.1-1.x86_64.rpm

depuis un terminal ouvert là où se trouve le rpm.

Suivant la façon dont est extrait le fichier deb puis data.tar.xz, la structure n'est pas nécessairement celle indiquée ici

Dans ce cas, il faut s'adapter. Si aucun répertoire n'a été créé lors des extractions, ouvrir un terminal où se trouve le paquet deb et exécuter en premier les commandes

mkdir data

mv usr data

Ensuite procéder comme avant.

On peut aussi donner dans la commande rpmerizor le chemin absolu vers data plutôt que le chemin relatif.