Hlavní navigace

Názor ke zprávičce Ubuntu zvažuje nový formát balíčků od Petr Menšík - Jak asi staticky zkompilovaný program bude počítat hash...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 14. 5. 2013 15:00

    Petr Menšík

    Jak asi staticky zkompilovaný program bude počítat hash knihovny, u které už dávno neví, že je samostatnou knihovnou? A to bude při každém spuštění počítat hash? A jestli ne, kde ten hash získá? Kdo tohle bude dělat? Tohle je znovuobjevování kola. Dynamický linker tuhle činnost dělá myslím už teď lépe. Jde jenom o to, z jakého zdroje brát knihovny a jaké jim dávat priority. Jenže to zase je úkol pro správce balíků.

    Jak má čekání na repository vliv na to, jak snadno se instaluje aplikace do systému? Potřebujete to řadit do oficiální repository? Na co? Udělejte svoje repository se svými knihovnami, jejichž jména nebudou v konfliktu se systémem. Nebo v tomto případě už raději mějte tam jenom jeden balík. Ten nainstalujte kliknutím myši.

    Popravdě, po nějaké zkušenosti v komerční firmě, co nedělá open source, musím uznat chybu v postupu balíčků v Linuxu. Ten je sice moc pěkně zařízený na to, aby to někdo sesumíroval, nachystal a vydal jako jedno vydání. Potom ten samý člověk (či společnost) to updatoval.

    Ale uzavřené firmy fungují jinak. Jednak na rozdíl od výrobce distributora oni neřeší jenom tu jednu distribuci. Zpravidla udělají více verzí pro všechny možné systémy. Nechce se jim řešit všelijaké drobnosti na konkrétní distribuci - není v možnostech normální firmy to testovat na všech trochu používaných distribucích. Oni chtějí prostě zkopilovat release, ten vydat, a tím to pro ně do dalšího releasu hasne. Což bohužel s dynamickými knihovnami není úplně jednoduché. Pro tyhle lidi možnost balíku linkovaného staticky se vším všudy dává smysl.

    Podle mě ale v Ubuntu chtějí v podstatě obdobu APK. Jeden soubor = jedna aplikace. Což by se asi lépe vyřešilo, kdyby se potřebné knihovny přibalily do archivu (archiv by obsahoval jednotlivé .deb+ metainformace) a ten se distribuoval. Archiv by v podstatě byl jako jeden repozitář pro APK. Knihovny obsažené by měly nižší prioritu, kompatibilní knihovny by se mohly brát ze systému. Pouze to, co systém nemá, by se použilo z mega balíku. Prostě, přijde mi, že je potřeba zjednodušit vytváření normálního repository při minimu znalostí distribuce a nedělat tuhle habaďůru.