• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Anketa: Vytvoriť vetvu pre Omegu?
Nemáte dostatečná oprávnění, abyste mohl(a) hlasovat v této anketě.
Ano
93.33%
14 93.33%
Nie
6.67%
1 6.67%
Celkem 15 hlas(ů) 100%
* Hlasoval(a) jste pro tuto možnost. [Zobrazit výsledky]

Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
XBMC-KODI.CZ Omega Repo
#1
Zdravím,

Pri kontrole doplnkov občas narazím na nejaký problém už je to nejaká doba čo moje doplnky, ale aj iné doplnky hlásia tuto hlášku v logu
 
Kód:
Setting most video properties through ListItem.setInfo() is deprecated and might be removed in future Kodi versions. Please use the respective setter in InfoTagVideo

Chcel by som sa teda spýtať @wombat:  alebo aj iných tvorcov doplnkov či by sme nezvážili nejakú daľšiu vetvu na gite kde by mohli byť doplnky práve pre verzie 20+, nakoľko chcú tento spôsob API odstrihnúť a my máme hlavnú verziu matrix, čo by mohol byť problém do budúcna.

Ďakujem za pripomienky/odpovede

15  Autor doplnkov Kukaj.sk, Televízia LUX, Televízie NOE a tvpovazie.sk
Buďte k sebe dobrý a šírte dobro, ale zvážte aké informácie komu poskytnete
 
Citovat
#2
Nevím jestli je na úrovni githubu možné mít řešení, které bud fungovat pro různé přístupy. Už i při přechodu z pythonu 2 na python 3 jsem se snažil psát kód univerzálně a oddělené branche pro mě znamená jen práci navíc. Musím dělat změny v obou branchích a jediné co udržuju rozdílné je addon.xml kvůli závislostem na pythonu. Ale možná si to komplikuju sám, aniž bych musel. Co se týče gitu, vývoje, kolaborace a verzování, jsem takřka nepolíbený a změny publiku ručně z příkazové řádky :-)

Podobně přistupuju i případnými změnami ve funkcích Kodi, kdy to řeším podmínkami a samotný kód mám jeden univerzální. Kdybych musel dělat pro každou verzi Kodi samostatnou branch, byla by to v mém případě práce navíc. Samozřejmě, že to neznamená, že to není dobrý nápad, akorát pro mě by to zřejmě nemělo žádné plusy, narozdíl od mínusů.
 
Citovat
#3
Každopádně je tahle změna v knihovních funkcí Kodi poměrně komplikovaná pro to, aby se jen jednoduše upravil kód pro obě varianty. Na druhou stranu to, že tuhle toleranci k obsolete verzi knihovny jednou vypnou, je jasné. Stane se to stejně, jako se to stalo už dřív u jiných případů (Python 2/3, knihovna xbmcvfs, ...). BTW, ví se, kdy to bude? Zatím to nevypadá, že by to nastalo už ve verzi 22.

Já osobně moc "social friendly" nejsem, takže se držím zásady psát jen pro poslední released verze. Ale chápu, že vy, tedy jak @JanoHD tak @waladir:, jste na tom (už jenom díky charakteru vašich doplňků a jejich závislosti na 3. stranách) trochu jinak. Já zas tolik toho nepíšu a ještě méně pak pro sdílení ve zdejším repozitáři, a až na výjimky jsou to jen scripty nebo service. Pluginů v tom pravém slova smyslu, tedy takových, které by generovaly obsah (container) ve formátu video databáze (a tedy se jich týkal diskutovaný problém) mám minimálně a hlavně, nejsou v repozitáři. Takže u mne to zas tak kritické není.

Ale k věci. Na otázku, jestli má existovat verze repozitáře pro Omega a případně verze další, Piers, ..., se nedá  v této chvíli odpovědět jednoznačně. Má to celou řadu dalších konsekvencí. Už jen to, že repozitář není koncipován tak, že by obsahoval i sám sebe a prováděl se tak v něm i jeho update předurčuje, jaké máme možnosti. Jiná věc je metodická. Jak je popíšeme? Hrajeme si tady na to, že máme pro každou verzi Kodi vlastní repozitář, ale víme, že tahle to není. Proto ostatně @JanoHD: tohle téma taky otevřel. Takže možná v porvní řadě změnit metodiku, aby v tom uživatelé měli jasno za všech okolností. Ale počítat s tím, že čas od času bude třeba změnit i obsah repozitáře. A jestli to tvůrce vyřeší podmíněným kódem v jeho doplňku nebo bude udržovat více branchů, to už je na něm. Jedno z toho bude muset nakonec provést vždycky, pokud nová Kodi verze přestane akceptovat nějaké obsolete části kódu a on bude chtít podporovat minimálně -1 verzi Kodi/repozitáře.

Nesmíme při všech těch úvahách, jak dál s repozitářem, také zapomenout na to, jak to dopadá, pokud se správa a verzování repozitáře příliš zautomatizuje. Odstrašující příklad máme např. v Hacky's repozitory, kde za celou dobu jeho existence úplně 100% nevyřešili jeho správnou funkci napříč všemi verzemi Kodi a typy instalací. Tady by asi měl říci své @wombat:.

Takže já na anketu s takto ultimátně položenou otázkou neodpovím, dokud nebude jasno, jakou z celé té řady možných cest se chceme vydat. Obecně jsem příznivcem řešení, kde bude důraz na to, podporovat maximálně jen ty nejnovější releas. To, že někdo používá starší verze Kodi jen proto, že se mu nechce do update, není důvod k tomu, aby se pro něj ty starší verze doplňků udržovaly. A těch případů, kdy prostě HW nebo systémové podmínky jiné, než starší verze nezvládnou, je mi líto, ale to je tak asi jediné, co k tomu mohu napsat. Jak jsem už uvedl, v tomto případě moc "social friendly" nejsem. 11
 
Citovat
#4
Ahoj, z hlediska repozitáře je potřeba domluvit se, na volbu branche pro jednotlivé verze, navrhuji pro tvůrce rozddělit po vzoru hlavního Kodi repozitáře na:
Citace:master
Omega
Matrix
Leia

Pokud budete souhlasit, upravím generování.
 
Citovat
#5
@wombat: Jsem pro.
X96max plus 4/32 + CE 21 + skin Confluence DS / TV Samsung QE55Q6FNA
X96max plus 4/32 + CE 20.5 + skin Confluence DS

AVR Denon 1600H / Dali Spektor 5.1
Win10pro + Kodi19.5
NAS Synology 215j 3TB Raid1
Router Turris 1.1
 
Citovat
#6
@wombat: Možná bys pro mne (a možné neje pro mne) mohl vysvětlit rozdín mezi branches master a Omega, a také relaci mezi branches a verzemi repozitářů.

Mě zejména zajímají zejména dva příklady:
  1. Když budu mít doplněk, který jinde než v Omega fungovat nemůže, do jakého branch ho mám umístit. A v jakém repozitáři se nakonec ocitne?
  2. Když budu mít doplněk ve dvou branches, Omega a Matrix, bude to tak, že jeden se promítne do repozitáře Omega a druhý Matrix?

Jinak, k onomu problému InfoTagVideo. Věnoval jsme se tomu v rámci jednoho mého doplňku, kde to řešit budu muset. Je pravda, že je napsaný poněkud divoce, takže je to volání příslušných knihovních metod poměrně rozptýlené, naštětsí ale jen v jednom modulu. Přemýšlel jsme jak do toho, abych mohl zajistit funkci doplňků se starou i novou Kodi knihovnou. V podstatě jswm zvažoval tři možnosti:
  1. Vyrobit novou, resp. druhou verzi celého doplňku, tedy nový branch.
  2. Rozebrat kód a všude, kde se odpovídající Kodi knihovní třídy a metody používají, vložit podmínky pro příslušné verze Kodi.
  3. Vyrobit novou, resp. druhou verzi příslušného modulu a vložit podmínku pro příslušné verze Kodi všude tam, kde se z tohoto modulu provádí import.
Po velmi krátkém zvažování, že na ad. 1 jsem moc líný, nehledě na to, že by to do budoucna mohlo přineést jen a jen problémy, ad. 2 by bylo příliš zběsilé zvláště, když si člověk uvědomí, jaké jsou mezi aktuálním a obsolete konceptem této části knihovny rozdíly, jsem se rozhodl pro postup ad. 3. Jasně, neplatí to obecně, vždycky to bude nějaký kompromis, respektující konkrétní řešení a styl a způsob psaní kódu.
 
Citovat
#7
Ocenil by som keby sa pridajú do diskusie aj @jastrab: , @cache:  a tiež @waladir: nakoľko hlavne títo autori doplnkov výrazne dopomohli k držaniu sa CZ/SK doplnkov, moje doplnky sú skôr okrajové a teda nie sú až tak veľké ako doplnky vyššie spomenutých autorov

15  Autor doplnkov Kukaj.sk, Televízia LUX, Televízie NOE a tvpovazie.sk
Buďte k sebe dobrý a šírte dobro, ale zvážte aké informácie komu poskytnete
 
Citovat
#8
(28.4.2025, 9:21)JiRo Napsal(a): @wombat: Možná bys pro mne (a možné neje pro mne) mohl vysvětlit rozdín mezi branches master a Omega, a také relaci mezi branches a verzemi repozitářů.

Mě zejména zajímají zejména dva příklady:
  1. Když budu mít doplněk, který jinde než v Omega fungovat nemůže, do jakého branch ho mám umístit. A v jakém repozitáři se nakonec ocitne?
  2. Když budu mít doplněk ve dvou branches, Omega a Matrix, bude to tak, že jeden se promítne do repozitáře Omega a druhý Matrix?

Obecně bych viděl master primárně pro poslední Kodi.

Pokud bude existovat branch tak:

Omega => omega repo
Matrix => matrix repo
 
Citovat
#9
@wombat: alespoň za mě by bylo ideální, aby, pokud bude jen master a ne samostatné branche Matrix+, se doplněk přidal automaticky do všech repozitářů, kromě Leia. Ale pokud by to nebylo možné, tak se nějak přizpůsobím a holt vytvořím branche pro každou kodi verzi a budu publikovat změny do všech.
 
Citovat
#10
Řekl bych, že se stáe míjíme. Několik podstatých bodů:
  • nelze organizaci našeho repa a github-u srovnávat s Kodi. Ta příbuznost je pouze vnější. Kodi repozitáře a doplňky v nich jsou určené vřdy pro danou verzi, a hlavně, nikdy se neupravují zpětně. takhle to v našem repu nikdy fungovat nemůže.
  • zatím mi nidko nevystěvtlil, jaký bude rozdíl mezi master, kde budou podle @wombat: doplňky pro aktuální Kodi, a Omega, která je právě teď aktuální,
  • nelze jeden doplněk automaticky přidávat do všech repozitářů. Je třeba počítat s tím, že ne vždy (ani při dobré vůli) nelze napsat doplněk pro všechny verze Kodi. Doplněk nebo jeho závislosti, mohou například používat funkce Kodi, které ve starších verzích nejsou.
Podle mne ten problém nemá jednoduché řešení, vždycky to bude někde a nějak kulhat. Za sebe budu postupovat tak, že doplňky budu vždy psát pro konkrétní minimální verzi Kodi. Pokud dojde k nějaké změně v prostředí Kodi, budu se snažit kód upravit tak, aby doplněk v nějaké minimál verzi fungoval dál. Pokud to nepůjde (nebo to nepůjde jenoduše a smysluplně), ponechám starší verzi doplňku pro starší všerze a novou verzi doplňku pro verze novější. To je asi vše, co jsem teď k tomuto tématu schopný přidat.
 
Citovat
#11
Milí kolegovci osobne to vidím tak žeby sa všetko čo je momentálne vo vetve master naklonovalo do vetvy matrix, teda ak ostatní to ešte majú vo verzii matrix aby zostal aj ten zachovaný a nadalej by sa udržoval len master a ak by došla nejaká dalšia zmena API tak by sa to zasa urobilo takto čo vy na to guys?

15  Autor doplnkov Kukaj.sk, Televízia LUX, Televízie NOE a tvpovazie.sk
Buďte k sebe dobrý a šírte dobro, ale zvážte aké informácie komu poskytnete
 
Citovat
#12
@JiRo: master bych viděl pokaždé poslední verze.
V případě dostupnosti branche bude daná verze do kterého repozitáře to bude patřit.

To o co ti jde si můžeš zautomatizovat přes GH workflow.

Osobně jsem pro, aby ve forkách byly připravené data, na základě kterých se vygeneruje repozitář pro Kodi.

To jestli si to tvůrce zautomatizuje přes workflow, nebo udělá ručně, už bude na něm.
 
Citovat
#13
@wombat: Dobře, to už zní jasněji.
 
Citovat
#14
Za mna - tiez pisem univerzalne doplnky, komu sa chce udrziavat viacere vetvy, na pc mam zazalohovane "portable" verzie starych kodi, kde si vzdy testnem upraveny doplnok.

Ked bude ListItem.setInfo() vs InfoTagVideo aktualne, tak si spravim vlastnu funkciu, kde bude mat if podla verzie kodi ( napr. xbmc.getInfoLabel('System.BuildVersion')) a podla toho budem volat aj korektne volanie..

Druha moznost je dropnut support pre stare verzie kodi, t.j. podporovat uz len Nexus+.. Osobne asi ked budem "upratovat" tak uz dropnem Leia a starsie (python2)..
Repo - p.6f.sk/r resp. cache-sk.github.io/kodirepo

Je to marny. Dobre zvazte sirenie komunitnych informacii sirokej verejnosti, ci chcete aby veci fungovali ludom, co vedia, alebo nefungovali vsetkym.
Ak chcete odpoved na spravu, ZAPNITE SI PRIJEM!
 
Citovat
#15
Ono zalezi aky plugin sa pise a ake kniznice sa vyuzivaju. Pri jednoduchsich verziach nie je problem v jednom plugine podporit pomaly vsetky verzie kodi, pri komplexnejsich uz to moze byt problem a zbytocne "zasierat" kod fixami pre starsie verzie, ak sa nejedna o drobne upravy.
S novsimi verziami kodi pribudaju aj nove funkcie pripadne niektore funkcie skoncili (koncia).
Dalsia vec su externe kniznice, kde zalezi pre aku verziu su napisane a tam uz moze byt problem so spätnou kompatibilitou.

Primarne sa oplati zameriavat na aktualnu stable verziu kodi prip. podporit beta verziu novej verzie.

A ak neratam prechod z py2 na py3, tak väcsinou ten plugin funguje aj na novsich verziach kodi.

Rozdelenie ma svoje pre a proti. Ak napr. vyjde fix pluginu, ktory sa tyka vsetkych verzii, tak to bude treba nahrat do kazdej branche zvlast. Na dalsiu stranu zas mas poriadok v pluginoch pre jednotlive verzie kodi...

Takze za mna je to asi jedno, kazde ma svoje vyhody a nevyhody.
Moje repo pre Kodi 19 https://iastrab.eu/repo/
 
Citovat
#16
Information 
Přidána podpora Omega  . (repozitář v Kodi je nutné aktualizovat na verzi 1.4.0)

V tuto chvíli je:
Citace:master => omega
matrix => matrix
leia=> leia
 
Citovat
#17
@wombat: Jo, tak teď už asi dobrý. Mně vyděsilo to, co jsi psal výše, že bys chtěl mít branche Omega i master. To mi nějak do logiky toho, co jsi psal, nezapadalo.

Je tedy na každém, jak se  tomu postaví a bude tenhle model pro své doplňky využívat.

Pak tedy bude ještě třeba se rozhodnout, kdy se, při relesnutí nové major verze Kodi, provede střih nového mastera. Tedy přesun dosavadního mastera do pojmenovaného branche a vytvoření nového repozitáře.
 
Citovat
#18
Omega branch samostatně by byla v případě nového Kodi a nutnosti oddělení, pokud někdo tvoří pouze pro aktuální Kodi, tak řeší pouze master, ten bude pokaždé poslední.
 
Citovat
#19
Tak je to třeba ještě dotáhnout směrem k uživatelům. Tady na fóru v headeru stránky i v příslušném subfóru Repozitáře. Aby všechno fungovalo dál, bude si každý muset aktualizovat repozitář.

A musíme počítat s tím, že z toho budou uživatelé trochu zmatení. Těch témat v subfóru repozitáře je tolik, že ani já sám nemám 100% jasno, do kterého z nich by se měla ta zpráva jako aktualita dostat.

A opět se ukazuje, jak je nešťastné míchat témata pro uživatele a tvůrce doplňků. Když se vžiju do role laiků, a to i těch, kteří Kodi znají dobře, tam ten mix témat v jednom dubfóru, je matoucí.
 
Citovat
#20
Ještě bude potřeba, aby se v repozitáři vytvořili branche pro matrix a autoři publikovali změny i tam (pokud chtějí). Zatím obsahuje repozitář pro matrix to samé co pro omegu, ale nově se změny v masteru projeví jen v repozitáři pro omegu. Pokud si tedy někdo s omegou neupdatne repo, uvidí pořád stávající matrix beze změn.

U svých doplňků jsem to už pořešil a udělal skript, který mi v mém repozitáři na githubu zesynchronizuje matrix s masterem. Mělo by to tedy být jen spuštení skriptu navíc.
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)