Zastaralý software v distribucích

Juro

Re:Zastaralý software v distribucích
« Odpověď #60 kdy: 30. 12. 2013, 14:32:25 »
O com to rozpravate? Ako som spominal napr. ja, Ubuntu mi ponuka Netbeans 7.0.1, aktualna je verzia 7.4. Uz vo verzii 7.1.2 napr pribudla podpora verzia GlassFish 3.1.2 (uvolneny vo februari 2012). Dnes je aktualny GlassFish 4.0 (uvolneny od maja 2013). T.j. ak si stiahnem zo standardneho repozitara IDE pre Javu, nepodporuje to ani skoro 2 roky stary aplikacny server. To su hracicky a skusanie novych funkcii?
Ano, toto jsou hračičky a zkoušení nových funkcí. Někdo možná potřebuje NetBeans s podporou GlassFish 4.0. Pak ale nepotřebuje pořád nejnovější verzi NetBeans, ale potřebuje NetBeans, které podporují GlassFish 4.0. A ty může mít, a nebo z mnoha různých důvodů nemusí -- např. ani vývojáři NetBeans nemusí GlassFish vůbec podporovat, nemusí podporovat tuto verzi, a nebo tuto verzi nepodporuji NetBeans v mé distribuci.
Ja sa nepotrebujem hrat ale normalne pracovat. To napr. znamena, ze mam prostredie, kde sa nemusim potkynat o chyby, ktore boli medzi tym davno pofixovane. Uplne chapem tvorcu distra, ak do neho nezaradi najnovsiu verziu nejakeho na kolene zosulaneho programu, ktory jeho autor releasol mesiac pred releasom celeho distra. Tam to z hladiska stability ma zmysel. Ale zhodou okolnosti ide o jedno z najpopularnejsich IDE a canonical medzitym releasol 5 dalsich verzii distra. Z toho mne osobne vyplyva, ze nejde o otazku stability ale uplne obycajnu nepruznost, neschopnost, a pod.

A toto je cele len priklad, nie ze by ma extra s.la jedna konkretna neaktualna aplikacia.


Re:Zastaralý software v distribucích
« Odpověď #61 kdy: 30. 12. 2013, 15:26:35 »
Teď směšuješ tři věci - kdo dělá binárku, jak vypadá instalátor a kde ho vezmu, u Win je špatně způsob distribuce a co vše se instalátoru dovoluje, dobře je to, že autor uvolňuje software v binární podobě.
Ono to ale nejde oddělit. Aplikace už dávno není jedna binárka. V Androidu aplikace závisí jen na systému, všechny ostatní závislosti jsou součástí distribučního balíčku. V Linuxu je to v ideálním případě přesně opačně, distribuční balíček je minimální a správce softwaru k němu doinstaluje potřebné závislosti. Jenže v případě nativních aplikací tohle musíte rozlišit už v době vytváření spustitelné binárky.

Bylo by teoreticky možné distribuovat i Linuxový software jako balíček se všemi závislostmi, ale tím se problém neaktuálního software jen přesune na úroveň knihoven. Teď se tady řeší problém, že vyjde nová verze aplikace pro Windows, ale v linuxové distribuci se musí čekat, než správce distribuce vydá novou verzi. Když se budou distribuovat aplikace se závislostmi, vydá autor knihovny novou verzi, jenže budete muset čekat, než autor aplikace vydá novou verzi, kde ta knihovna bude zařazená.

Re:Zastaralý software v distribucích
« Odpověď #62 kdy: 30. 12. 2013, 15:31:23 »
a budoucnost spotřebního softwaru je ve spravovaných repozitářích software -- ať už jsou to distribuční repositáře, Google Play, App Store, Amazon Appstore, Windows Store nebo další. Ona to nebude náhoda, že všechny nové platformy používají tenhle způsob distribuce software.
Přesně! Kdesi jsem četl čísi komentář, že repozitáře jsou největším přínosem Linuxu IT světu a něco na tom rozhodně bude.

Na Linuxu tedy spíš chybí ta možnost repozitářů, kam by aplikace dávali sami autoři (jako je to u těch všech "Storů"), u kterých by se očekávalo, že kvalita balíčku není úplně perfektní, instalovaly by se jako celek někam do /opt, byly by to koncové aplikace (tj. nic by na nich nezáviselo) a musely by u nich být nějak deklarativně popsány závislosti tak, aby si to každé distribuce mohla přeložit pro sebe.
Ono není potřeba vymýšlet nic nového, úplně by stačilo, kdyby se distributoři ujednotili na jednom balíčkovači že... Jenže to se nikdy nestane, jednak je to ten NIH syndrom, jednak mají už nainvestováno spoustu peněz a úsilí do infrastruktury kolem toho svého balíčkovače. Prostě tahle pitomá situace se asi jenom tak nezmění - Linuxové distribuce prostě byly, jsou a budou kupa bordelu.

Ono to bohužel má i dost závažný důsledky právě na kvalitu - každá distribuce má vlastní bug tracking, takže se enormní úsilí, který by se dalo investovat do něčeho rozumnějšího, ztratí na pochybnou rádobyQA byrokracii. Cesta z toho ven technicky je, ale nikdo se na ni nevydá, protože se distributoři nechtějí domluvit a sjednotit. Už jenom taková věc jako všeobecně přijímaná infrastruktura auditu zranitelností by byl obrovský skok kupředu.

Re:Zastaralý software v distribucích
« Odpověď #63 kdy: 30. 12. 2013, 15:34:52 »
BTW, další důvod, proč se distributoři nikdy nedohodnou, je v tom, že kdyby existoval majoritou přijímaný build systém, ukázalo by se jasně, že spousta distribucí se liší jenom nějakým přihlouplým artworkem, pár skipty, dvěma vlastními balíčky a pár nepodstatnými patchi. Současná situace distributorům vyhovuje, protože se můžou tvářit, že mají něco unikátního, přestože mají kulový :)

Re:Zastaralý software v distribucích
« Odpověď #64 kdy: 30. 12. 2013, 16:00:41 »
Ono není potřeba vymýšlet nic nového, úplně by stačilo, kdyby se distributoři ujednotili na jednom balíčkovači že...
Nemyslím si, že tohle by byl ten správný krok. Naštěstí k tomu z důvodů, které uvádíte, nedojde. Ale podle mne to není potřeba. Není přece potřeba jednotný balíčkovač, je potřeba umět jednoduché balíčky rychle vytvořit.

On možná problém vůbec není v balíčkovačích, ale v make (a ./configure). Protože tam jsou schované deklarace závislostí a také co se kam má nainstalovat. Gentoo popisuje postup instalace pomocí ebuild skriptů, ale pořád je to kód a ne popis. Otázka je, zda by se podařilo navrhnout takový popis sestavení aplikace, který by fungoval pro dostatečné množství aplikací a zároveň byl dost jednoduchý. Je jasné, že KDE by takhle asi nainstalovat nešlo, ale třeba IDE, přehrávač médií, kancelářský balík by takhle instalovat snad šly.


Re:Zastaralý software v distribucích
« Odpověď #65 kdy: 30. 12. 2013, 16:19:17 »
On možná problém vůbec není v balíčkovačích, ale v make (a ./configure). Protože tam jsou schované deklarace závislostí a také co se kam má nainstalovat. Gentoo popisuje postup instalace pomocí ebuild skriptů, ale pořád je to kód a ne popis. Otázka je, zda by se podařilo navrhnout takový popis sestavení aplikace, který by fungoval pro dostatečné množství aplikací a zároveň byl dost jednoduchý. Je jasné, že KDE by takhle asi nainstalovat nešlo, ale třeba IDE, přehrávač médií, kancelářský balík by takhle instalovat snad šly.
No ale to jste se právě dostal k tomu, co říkám já: hlavní problém za tím vším je, jak říct "tato moje aplikace ke své funkci potřebuje knihovnu libfoo přeloženou s volbou --bar a k překladu překladač gcc-brm ve verzi minimálně x.z" - což je přesně typ informací, které už dnešní balíčkovače umít spravovat.

Hlavní problémy jsou dva:
1. jednotná ontologie - nejen názvy balíků v závislostech, ale i označení verzí, revizí, architektur atd.
2. jednotný balíčkovač

Bez té 2ky by se dalo jakžtakž obejít (viz alien pro převody dpkg, rpm,...), ale bez 1čky ani ránu.

Mimochodem, takový systém deklarace závislostí mají třeba i některé programovací jazyky - v Elixiru třeba závislosti můžou vypadat takhle:
Kód: [Vybrat]
    [ { :cowboy, github: "extend/cowboy" },
      { :dynamo, "0.1.0-dev", github: "elixir-lang/dynamo", tag: "master" },
      { :mochijson2, "0.1", github: "bjnortier/mochijson2" },
      { :ibrowse, "4.0.2", github: "cmullaparthi/ibrowse" },
      { :exn, "0.0.1", github: "yrashk/exn" },
      { :procket, "0.4.3", github: "msantos/procket" },
      { :amnesia, "0.1.1", github: "meh/amnesia" },
      { :errd, "0.1", github: "archaelus/errd" },
    ]
- říká se tam, že se má kód stáhnout z githubu, pod jakým tagem a jaká je verze. Funguje to bezvadně. Kromě githubu podporuje i různé jiné způsoby.

- tohle by cesta byla, ale klíč je ujednotit se na té ontologii, k čemuž prostě nedojde. Jinak to technicky problém není.

Re:Zastaralý software v distribucích
« Odpověď #66 kdy: 30. 12. 2013, 16:32:56 »
...
To, že systém je zdarma je rozhodnutí společnosti Canonical, takže mohu chtít a požadovat ...

wow

Re:Zastaralý software v distribucích
« Odpověď #67 kdy: 30. 12. 2013, 16:36:22 »
P.S. jestli se chcete někdo podívat na docela vtipnou přednášku na tohle téma: http://youtu.be/QKwWPQ1Orzs?t=17m45s

Re:Zastaralý software v distribucích
« Odpověď #68 kdy: 30. 12. 2013, 16:36:48 »
Myslím, že se shodneme. Potřeba je ta jednička, dnešní balíčkovače tohle umí, ale řeší i spoustu dalších věcí -- které ať si klidně řeší dál po svém.

Waseihou

Re:Zastaralý software v distribucích
« Odpověď #69 kdy: 30. 12. 2013, 16:56:30 »
Hele, byl by dobrý nápad nainstalovat nějaké stabilnější distro a pak udělat KVM virtuál s rolling distribucí? Pro development by to nemuselo být úplně špatný - jeden by mohl jet na stabilním distru co se upgraduje jednou za půl roku, a pokud by potřeboval něco extra tak to bude mít ve virtuálu (třeba kombinace Kubuntu + Arch Linux). Jediná nevýhodou jsou asi multimediální aplikace, ale tam se ta kompilace dá ještě přežít, bohatší jedinci si koupí dvě grafiky a desku co podporuje její sdílení i do virtuálu...

Re:Zastaralý software v distribucích
« Odpověď #70 kdy: 30. 12. 2013, 17:21:28 »
Hele, byl by dobrý nápad nainstalovat nějaké stabilnější distro a pak udělat KVM virtuál s rolling distribucí? Pro development by to nemuselo být úplně špatný - jeden by mohl jet na stabilním distru co se upgraduje jednou za půl roku, a pokud by potřeboval něco extra tak to bude mít ve virtuálu (třeba kombinace Kubuntu + Arch Linux).
Tak jasně, pokud umíš rozlišit, co chceš mít stabilní a s čím jsi ochotnej se drbat, tak to takhle jde. Akorát místo virtualizace bych dal spíš chroot, protože to podstatně zjednodušší sdílení dat, připojení k netu apod.

Ovšem udržovat místo jednoho systému dva, to je pravé geekovské řešení ;)

Pavel 'TIGER' Růžička

Re:Zastaralý software v distribucích
« Odpověď #71 kdy: 30. 12. 2013, 17:32:29 »
Hele, byl by dobrý nápad nainstalovat nějaké stabilnější distro a pak udělat KVM virtuál s rolling distribucí? Pro development by to nemuselo být úplně špatný - jeden by mohl jet na stabilním distru co se upgraduje jednou za půl roku, a pokud by potřeboval něco extra tak to bude mít ve virtuálu (třeba kombinace Kubuntu + Arch Linux).
Tak jasně, pokud umíš rozlišit, co chceš mít stabilní a s čím jsi ochotnej se drbat, tak to takhle jde. Akorát místo virtualizace bych dal spíš chroot, protože to podstatně zjednodušší sdílení dat, připojení k netu apod.

Ovšem udržovat místo jednoho systému dva, to je pravé geekovské řešení ;)

Já osobně bych si do toho virtuálu nainstaloval virtuál a do něj tetris, protože jedině pak to dává ten správný smysl.

Pavel...

Re:Zastaralý software v distribucích
« Odpověď #72 kdy: 30. 12. 2013, 17:41:14 »
Tak jasně, pokud umíš rozlišit, co chceš mít stabilní a s čím jsi ochotnej se drbat, tak to takhle jde. Akorát místo virtualizace bych dal spíš chroot, protože to podstatně zjednodušší sdílení dat, připojení k netu apod.

Ovšem udržovat místo jednoho systému dva, to je pravé geekovské řešení ;)

Já osobně bych si do toho virtuálu nainstaloval virtuál a do něj tetris, protože jedině pak to dává ten správný smysl.

Skusali ste vobec dakedy vy dvaja pouzivat VM na nieco zmysluplne? ;)

VM s minimom funkcnosti pokial mozno bez dat, ktoru netreba udrzovat. Ked sa to rozsype, zmazem VM a ozivim vcerajsiu verziu/nainstalujem do VM nove DVD.
Co je na tomto trivialnom koncepte "geekovske" mi je hlboko zahadne :).
"Geekovske" je naopak jedovat sa s chrootom.

Re:Zastaralý software v distribucích
« Odpověď #73 kdy: 30. 12. 2013, 17:44:01 »
Skusali ste vobec dakedy vy dvaja pouzivat VM na nieco zmysluplne? ;)
Shut up and show me the code!

https://github.com/mprymek/svz

:)

Pavel...