Kodi-vStream / venom-xbmc-addons

Addon de Streaming français pour Xbmc
GNU General Public License v3.0
489 stars 275 forks source link

Fin du support de Python 2 #3397

Open Arias800 opened 2 years ago

Arias800 commented 2 years ago

Maintenant que Kodi 19 est bien installé, il serait temps de lâcher le support de Python 2.

Déjà, d'un point de vue de sécurité, il n'y a pas photo. Python 3 est bien plus sécurisé que Python 2. Même si ça ne nous concerne pas vraiment (au vu du fonctionnement de l'addon l'impact est minime) c'était tout de même logique que je l'évoque.

Maintenant le cœur du problème, maintenir Python 2 ne fait que ralentir l'évolution de Vstream. En enlevant le support de Python 2 ça permettrait :

De supprimer les appels vers "isMatrix()" et les autres appels du genre (sauf pour Nexus).
De supprimer tous les traitements pour les accents (ou du moins une grosse partie d'en eux) ce qui permettrait un gain de performance.
De faire une vraie mise à jour du cœur, en supprimant tout le code obsolète sans risque de se demander si il y aura des répercussions sur une version qui date de 3 ans.
Un gain de stabilité, vu que Python 3 a de son coter été bien amélioré (et il continue encore à devenir de plus en plus rapide et stable).

Le code n'en sera que plus facile à maintenir.

Je sais que certains ne sont toujours pas passé a Kodi 19, mais c'est une vraie épine dans le pied pour avancer.

La transition vers Kodi 19 est simple, tout les addons disponible dans le repository de Kodi migre automatiquement à la bonne version durant le 1er démarrage. Pour les autres repository, il faut chercher si il y a un repository Matrix.

Je sais que ça ne fera pas l'unanimité comme demande, alors j'ai fait un sondage pour que tout le monde (même ceux qui n'ont pas de compte Github) puissent donner leurs avis. Et ça nous permettra de quantifier l'impact que ça pourrais avoir. https://strawpoll.com/cj85pea1q

Petite précision, ce changement sera fait un jour. Donc les réponses du style "jamais supporter Python 2 a vie" ne sont pas valable. Le but du sondage et de l'issue, c’est de faire en sorte que la transition ne prennent personnes de cours.

lebigboss commented 2 years ago

Salut, je comprends ta décision et moi j'ai un avis personnel mais je suis déjà passer à Kodi 19 depuis un moment, mais c'est vrai que maintenir 2 versions en même temps ça demande deux fois plus d'effort. Déjà, je trouve ça gentil de prévenir et de laisser le choix aux gens, mais si ils aiment Vstream ils peuvent que validé ton choix et laisser l'addon s'améliorer plutôt que de l'obliger à ralentir.

mmtest1 commented 2 years ago

Bonjour, j'utilise Vstream sur mon raspberrypi 4 sous raspberry pi OS et kodi 18, mon rpi sert à plusieurs utilisations et n'est donc pas sous osmc ou libreelec qui sont sous kodi 19 mais ayant une utilisation spécialisée. Kodi 19 n'est pas encore disponible de façon stable et officiel sous raspberry pi OS, serait-il possible de maintenir le soutien de python 2 et kodi 18 le temps que cette nouvelle version soit officiellement soutenue, je ne suis sûrement pas le seul à être dans cette situation. merci

sizanic commented 2 years ago

Bonjour @mmtest1.

Merci pour ton retour, ton argument sera pris en considération dans notre décision.

Ce projet de passage sous kodi 19 est-il déjà envisagé ? A-t-on de la visibilité sur sa sortie ?

Arias800 commented 2 years ago

Kodi 19 n'est pas encore disponible de façon stable et officiel sous raspberry pi OS

Les build pour raspberry pi OS ne sont pas officiel, mais gérer par la communauté. Hors, personne n'a l'air de vouloir en compiler pour Kodi 19.

Si tu veux build Kodi 19, il y a les instructions ici qui a priori fonctionne : https://forums.raspberrypi.com/viewtopic.php?p=1824600#p1824600

mmtest1 commented 2 years ago

Merci pour les infos, à mon avis kodi 19 ne sera porté sur rpi4 que lors de la sortie officiel de raspberry pi os 64bit, actuellement en beta, Je l'ai déjà testé mais par exemple widewine n'est pas encore disponible comme nombre d'extensions sous cette architecture et n'est pas totalement fonctionnel. Pour le build je m'y pencherais suivant votre décision.... mais à voir pour la stabilité et le maintien à jour, je vous remercie

mmtest1 commented 2 years ago

re bonjour, après quelques recherches il semblerait que la version spécifique de kodi soit abandonnée au profit d'une version multiplateforme linux, kodi-gbm pour le portage de kodi 19 sur rpi4 et framboises en géneral, j'ai trouvé une issue datant de 2019 dans ce sens : https://github.com/xbmc/xbmc/pull/16321 la doc de kodi sur github ne mentionne plus le raspberry mais seulement linux : https://github.com/xbmc/xbmc/blob/master/docs/README.md et le readme concernant la procédure d'installation de kodi et des binary add-ons pour linux : https://github.com/xbmc/xbmc/blob/master/docs/README.Linux.md l'installation par les dépots étaient nettement plus 'user-friendly' mais les différentes docs ne semblent pas toutes à jour et je ne sais pas vraiment la réalité actuelle des chose, si quelqu'un peut me - nous éclairer je suis preneur vu mon niveau déplorable d'anglais...., et les versions build sont des versions en développement donc pas forcement ouvertes à tous, au vue de l'installation... et désolé si je pollue le fil.... mais peut-être que les infos peuvent être utile pour le développement de vStream merci

Arias800 commented 2 years ago

Tu ne pollues pas l'issue, elle est ici justement pour faire en sortent que la migration se passe bien pour tout le monde. A priori, Manjaro propose Kodi 19 (kodi-rpi étant marqué en version 19.03). C'est peut-être une alternative intéressante pour ton usage ? https://forum.manjaro.org/t/arm-testing-update-2021-03-29-mesa-gnome-40-kodi-rpi-thunderbird-and-kernels/60228

mmtest1 commented 2 years ago

j'ai également testé, il y a 2-3 mois manjaro et ubuntu en version 64bit, le problème, de souvenir est que ni simple iptv, ni widewine, ni inputstream, ... n'étaient portaient sous cette architecture et nombre d'extensions n'ont pas de dépendances satisfaites, peut-être la situation a-t-elle changé? manjaro est d'autant plus très agréable à utiliser. Il faut que je mette la main sur une clé usb pour refaire des tests, si quelqu'un a des retours ?

Arias800 commented 2 years ago

Widevine et inpustream sont cassé sous ARM à cause de Google (Android n'est pas toucher par contre). Pour le reste, je ne sais pas.

mmtest1 commented 2 years ago

il me semble qu'ils ont été mis à jour sur arm, il ont posé problème pendant un temps mais ils sont à nouveau fonctionnel sous catchuptv and more par exemple (lecture drm m6 et autres)

edit : après test de manjaro 64 sur rpi4 tout fonctionne du coté de vstream, mais il est impossible d'installer widewine qui n'est pas encore porté sur aarch64, et le cec pour la gestion télécommande par hdmi ne fonctionne pas, il me semble avoir lu qu'il fallait downgrade libcec pour retrouver la fonctionnalité. Bref, le seul moyen actuel pour bénéficier de kodi 19 pleinement fonctionnel sous raspberry pi os est le build ainsi que le build pour les fonctionnalités supplémentaires (inputstream, simple iptv, ....), je n'ai pas encore testé ou de passer par une distribution dédiée (libreelec ou osmc par exemple)

Arias800 commented 2 years ago

A priori widewine est installable sous rpi. https://www.tomshardware.com/uk/news/raspberry-pi-widevine Par contre, est-ce que Kodi est capable de le détecter, je ne sais pas.

Pour le CEC il y a une issue ici (c'est exactement le même cas de figure que toi) : https://github.com/Pulse-Eight/libcec/issues/579

ghost commented 2 years ago

Malheureusement sur les anciens ipad 32bits , kodi n'est plus prise en charge et Le dernier en date est kodi 18.9 Et impossible de mettre a jour dns python le dernier Ou mettre a jour en kodi 19 ou faire fonctionner hoster DOOD sur kodi 18.9

Il serait plutot sympa d'avoir en plus des versions MASTER et BETA de vstream en py3 uniquement: Une version supplémentaire ALPHA pour vstream py2 pour ceux bloqué en kodi 18.9, ca aidera également à savoir si les bugs sont liés à kodi ou à vstream

Ex dood il fonctionne sur py3 mais pas py2, il fonctionne sur kodi 19 et 20 mais pas 18

Donc garder une version py2 peut etre utile et aussi etre utilisé sur d'anciennes machine

Arias800 commented 2 years ago

Sauf, que maintenir plusieurs versions de code, c'est juste pas gérable. On peine déjà à maintenir tout a jour correctement, alors avoir une deuxième base de code n'est pas une option. Concrètement, actuellement un code doit être testé sur :

À cela, on peut ajouter le fait de ne pas ajouter les dns custom activer ou pas.

L'abandon de Python 2 ferais gagner un temps considérable puisque ça réduit seulement à deux versions à tester (sans compter toute la stabilité en plus).

À cela s'ajoute le fait qu'il faudrait complètement refaire le repo github pour intégrer une autre vrai version (car ce serai juste un casse-tête à mettre en place avec le repo actuel).

ghost commented 2 years ago

actuellement un code doit être testé sur :

  • Kodi 18 Android

Justement si le code doit être testé sur kodi 18 android, cela rend le problème de dood un bug car il ne fonctionne pas sur kodi 18 android non plus

Je comprend pour l'avenir de vstream de rester que sur py3, la dessus je vous soutient à 100% mais j'informe juste que certains avec du materiels anciens ne sont pas prise en charge par kodi 19 et au au-delà comme les Ipad 32bits ou visiblement sur rpi4

Si la transition se fait en douceur ce serait bien que les possesseurs de matériels anciennes puissent utiliser leur matériels encore un peu avant la fin officielle du support de py2 et se préparer à acheter un nouvelle appareils compatibles.

Arias800 commented 2 years ago

Le rpi 4 est compatible Kodi 19, c'est juste qu'il y a pas mal de chose à bricoler à la main pour que ça fonctionne. Sinon, c'est aussi le but de cette issue, de discuter pour fixer une date de migration. L'avantage, c'est qu'on arrive dans la période de Noël avec toutes les réductions que ça inclus. C'est pour ça que j'ai ouvert l'issue avant que l'on arrive dans cette période.

mmtest1 commented 2 years ago

une nouvelle version de raspberrypi os 11 bullseye vient de sortir il y a quelques jours pour rpi4 en version 32bit et il semblerait que kodi soit porté en version 19.3 dans les dépots ainsi que toutes les dépendances (inputstream, pvr simpleiptv, ....) et widevine devrait être compatible http://raspbian.raspberrypi.org/raspbian/pool/main/k/ je n'ai pas encore testé mais il semblerait que le problème de portage sous raspberrypi os soit réglé sans passer par le built ou une version dédiée de type osmc ou libreelec mais nécessite une fresh install, la mise à niveau n'est pas gérée ni soutenue au vue des changements apportés Le problème d’obsolescence programmée pour les matériels tournant sous android ou ios reste en suspend ....

edit : après test kodi n'est pas encore disponible sous bullseye, je n'avais pas fait attention mais il s'agit du depot pool, la sortie dans le depot main ne saurait tarder, est-il possible de maintenir vstream en python2/3 jusqu'au déploiement ?

ghost commented 2 years ago

@Arias800 merci.

Je suis plus android que ios, c'est un vieil ipad que j'ai retrouvé et j'ai pu installer kodi 18.9 et tout fonctionne bien donc je pense pas acheter un ipad pour kodi lol

Tous mes appareils sont android (tv, tablettes, phone, vidéoprojecteur) ,ils sont tous avec kodi 19.3 ou kodi 20 et ya aucun dysfonctionnement avec kodi ou vstream

Et sur kodi 18.9 le seul bug qu'il y a c'est Dood mais j'ai vu que sur 33series le host streamlare qui est meilleur en terme de qualité

Donc ma encore je salue l'efficacité ou la flexibilité de vstream qui permet de visionner les series films grâce a different source ou host

Et par conséquent puisque rien de vstream nous bloque à visionner nos series et films , ya pas de raisons que les utilisateurs puissent bloquer l'évolution de vstream.

Donc je rejoins @mmtest1 , la faute reviens à l'obsolescence programmée voire incitée par l'absence de support de kodi.

mmtest1 commented 2 years ago

@Che-Debaras il me semble plus que l'obsolescence programmé est orchestré par les firmes qui ne portent pas les nouvelles versions android ou ios pour les matériels qu'ils vendent et que par conséquent kodi puis vstream deviennent ou deviendront obsolètes parceque l'os est devenu trop vétuste (failles de sécurité, versions supérieures de dépendances, ....) et qu'il faut absolument consommer sans arrêt..... alors que les limitent matériels sont rarement atteintes...

TmpName commented 2 years ago

Sinon, c'est aussi le but de cette issue, de discuter pour fixer une date de migration. L'avantage, c'est qu'on arrive dans la période de Noël avec toutes les réductions que ça inclus.

Lol, si c'est pas beau ca ? Vous en connaissez beacoup de projets ou les devs sortent leur code en accord avec les periode des fetes ?

Arias800 commented 2 years ago

Pour le moment, Vstream ne sera plus compatible python 2 lors de la mise à jour de février 2022. Cette date pourrait évoluer, mais c'est l'objectif.

sizanic commented 2 years ago

Comment va se comporter une version de vStream sur kodi 18 lorsque la version Py3 sera mise en ligne ? Est-ce que la MAJ va refuser de s'installer ? Et on est donc condamné à ne pas pourvoir faire de mise à jour, en gardant notre version actuelle ?

OU est-ce que la mise à jour va s'installer mais ne va pas se lancer ? Du coup, on se retrouve sans vStream ?

Arias800 commented 2 years ago

Il ne va pas se mettre à jour normalement. Puisque l'addon.xml indiquera une dépendance incompatible. Donc la version installer restera à l'état où elle était avant la tentative.

sizanic commented 2 years ago

Ok.

Comment tester cette hypothèse ? Possible de tester en installant un zip avec un addon.xml modifié ?

Arias800 commented 2 years ago

Oui tu télécharges la beta, et change :

    <trycatch>
            <try>
                <import addon="xbmc.python" version="3.0.0"/>
            </try>

            <catch>
                <import addon="xbmc.python" version="2.24.0"/>
            </catch>
        </trycatch>

par <import addon="xbmc.python" version="3.0.0"/>

yodidon commented 2 years ago

Du coup vous avez pu utiliser eclipse et kodi 19 de votre côté ?

sizanic commented 2 years ago

Du coup vous avez pu utiliser eclipse et kodi 19 de votre côté ?

Je ne suis toujours pas passé à Kodi 19.

sizanic commented 2 years ago

Du coup vous avez pu utiliser eclipse et kodi 19 de votre côté ?

Je me suis enfin lancé à essayer du debug Eclipse avec kodi 19. j'ai longtemps cherché par moi-même. Puis de la recherche sur google. jusqu'à trouver cet échange : https://github.com/xbmc/xbmc/issues/18817 The pydevd debugger worked fine with 19.0a1-Matrix. But by 19.0a2-Matrix the Python debugger never return...

Et je vois dans les échanges que tu es arrivé au même point 😆 On ne trouvera pas mieux que cet utilisateur. Il a tout fourni pour qu'une correction soit appliquée. Et la correction semble bien avoir été appliquée ... mais seulement sur kodi 20 !

C'est donc la solution que je vais suivre : je vais développer pour Kodi 19 avec une installation Kodi 20. (en plus ce sera déjà compatible 😆 )

j'ai installé une version Alpha de Kodi 20, et j'arrive bien à débuguer avec Eclipse 👍

Arias800 commented 2 years ago

Attentions, actuellement avec Kodi 20, il ne faut pas installer une version plus récente que celle du 14 janvier sous Android. Parce qu'il crash constamment (à cause d'un bug de CPython).

sizanic commented 2 years ago

Je me sers de la version 20 seulement pour développer en python 3 sous windows. Ensuite je reteste sous Kodi 19 pour avoir bonne conscience avant de pousser le code.

yodidon commented 2 years ago

Ok je vais tester ça , la procédure d’éclipse reste la même ?

codegittest commented 1 year ago

Bonjour, j’ai suivi de façon général cette avertissement de mettre a jour car seulement python 3 supporté dans un futur assez proche. De mémoire, pour kodi, c’est a partir de matrix (19) que le support python 3 est ok, est-ce que la migration est complété ou vstream supporte encore python 2 et 3 ? Si oui, Y a t-il certains avantages a encore tourner sur une version avant matrix (python 2) ? Merci si vous avez des info, pour moi, c’est pas clair cette transition.

TmpName commented 1 year ago

Alors de memoire, il y a encore le double support, il y a juste des trucs tres recents qui ne vont pas passer, comme certain hosters. Et non aucun interet a rester sur de vielles versions si le materiel permet le changement.

sizanic commented 1 year ago

Cela fait plus d'un an que la version de vStream en Python 3 est utilisée, la compatibilité est largement éprouvée.

Les performances sont bien meilleures dans cette version avec les versions de Kodi correspondantes. Il ne faut pas hésité à y passer.

codegittest commented 1 year ago

Super , merci, c’est un peu ce que je pensais. Ca valait le coup d’updater le firmware d’une « vieille boite » s905x pour prendre le kernel 4,9 (requis pour matrix).

Bravo pour l’effort de garder les 2 versions active comme transition en support !