Fedora je mohutná distribuce s obrovskou vývojářskou základnou. Jako taková přidává a odebírá (tedy hlavně přidává, vymírání jde samo od sebe a navíc pomalu) ohromné množství balíčků i v rámci životního cyklu vydané distribuce, takže „novinky pro Fedoru verze XYZ“ [1] zdaleka nestačí. Tento seriál, který by měl vycházet ze společného úsilí reviewerů (tedy lidí, kteří rozhodují, zda je balíček pro Fedoru přijatelný) i packagerů (tedy lidí, kteří by rádi nějakou aplikaci měli dostupnou pro sebe i všechny ostatní uživatele Fedory přímo z hlavních repositářů Fedory), by rád dělal sondu do tohoto prostředí a vybíral balíčky, které byly nedávno přidány [2] a nebo výrazně aktualizovány nebo odebrány. V případě nedostatku výše zmíněného se pak do článku dostanou balíčky čekající na review a balíčky, které byly nedávno orphaned (tedy jejich majitel je již nechce). A to celé spíše z pohledu zajímavosti než čeho jiného.

Seriál by neměl kopírovat summary/description z balíčků, ani z jejich upstreamu. Měl by podávat minimalistické recenze, dávat užitečné tipy a linkovat, co linkovat jde. Také by měl vždy přinášet informace o instalaci a spuštění.

Tento díl je založen na balíčcích které jsem reviewoval, nechal si je reviewnout, případně jinak překřížily mou cestu. Pokud se vám bude zdát z tohoto pohledu zaujatý, tak je 🙂 . Ale pevně věřím že další díl již bude mít mnohem mnohem více přispěvatelů.

Poběrky

ohc
https://admin.fedoraproject.org/pkgdb/package/rpms/ohc/
Tahle velmi užitečná java knihovna mě zaujala hlavně tím, že spolu s ní přichází i „binárky“, díky kterým velmi snadno zjistíte jaký účinek na vašem železe bude OHC mít.

dnf install ohc

a následně

ohc-<tab> v nabídce programů na PATH

javadocofflinesearch
https://admin.fedoraproject.org/pkgdb/package/rpms/javadocofflinesearch/
Drtivá většina programátorů googlí kusy kódu, v lepším případě googlí nějaký ten (java)doc. Prostě programovat offline se nějak už nenosí. Jendou, dvakrát za rok se ale stává, že nějaký ten doc potřebujme a síť nikde. A jako na truc různých doců plný počítač... Ale hledat v nich? Ano, různých indexátorů je plno. Některé indexují celý disk, většinou na pozadí, hodně lidí je odinstalovává jen co udělají čistou instalaci/update.
O něco lepší jsou indexátory co indexují jen co člověk chce a občas i jen kam chce. Ale i ty narazí - většinou mají nějaké gui na vyhledávání. Ale proč prohlížet docy v něčem jiném než v prohlížeči? Navíc většina z nás má prohlížeč mohutně přizpůsoben svým potřebám prohlížení.
Tolik k inspiraci.…

  • indexuje to, co chcete, kdy chcete, kam chcete;

  • podpora knihoven - javadoc do javy, pydoc do pythonu, perldoc do perlu, knihy ke knihám a žádné mixování (pokud tedy není žádoucí);

  • podpora přístupu dovnitř archivu - indexování i zobrazování (v prohlížeči) - většina doců je dodávána v zipu a rozbalením hodně bobtnají. I IDE přistupují do archivů!;

  • headless systém? Kromě prohlížeče to má i veselý commandline přístup, ale i tak bude lepší použít lynx;

  • extrémně konfigurovatelné (po knihovně) a přitom "out of box" funkční;

  • podpora html, plaintext a pdf (vy opravdu neznáte programátora koníčkem archeologa? Aha:);

  • podpora "did you mean?" kontroly překlepů;

  • vedle lucene indexu i page-index

    • page-index se "učí" - čili čím víckrát kliknete na špatný výsledek, tím více bude příště preferovaný ;);

  • (případný re)indexing je velmi rychlý (openjdk javadoc približně 30 s);

  • highlight a skok nálezu;

  • nástroj lze použít i jako webovou službu lokálního vyhledávání, ale upřímně - proč to:);

  • java s pros i cons - ale aspoň je to multiplatformní :);

  • javadoc jdk9 [7] přichází s integrovaným vyhledáváním, ale to přesto není ani zdaleka fulltext, čili utilitka přijde vhod i za rok (nehledě na pydoc a perldoc atd.)

    • navíc javadoc9 a jeho integrované vyhledávání má na lokálním disku mouchy…

Pro zaindexování

javadocofflinesearch -index -library <nameOfLibrary> <dir(s) or file(s) to index>

A pro prohlížení

javadocofflinesearch –start-server & browser http://localhost:31754/

Kde v případě, že browser je Firefox či Chromium (či jejich deriváty), není http://localhost:31754/ potřeba, neboť aplikace přichází s OpenSearch vyhledávacím pluginem.

javadoc

freedoom
https://admin.fedoraproject.org/pkgdb/package/rpms/freedoom/
Tato stará, ale skvělá a nikdy nereznoucí reinkarnace starého Dooma se dočkala plošného updatu z verze na 0.7→0.10. Čili už to není jen „Freedoom“, ale „Freedoom: Phase 1“. Dokonce i uživatelé F23 si toho všimli, a pokud měli uložené hry, museli provést downgrade (a to by nešlo, kdyby to autoři udělali jako „Selfcontained change“ [1]. S Freedoomem 0.10 totiž nahrazuje Freedoom 0.7 prakticky nová hra. Ne, že by se něco změnilo v enginu pbroom, ale v datech samotného Freedoomu se změnily sprity většiny nepřátel, většiny zbraní i předmětů. Také všechny mapy byly zcela nahrazeny a celý děj byl rozdělen na epizody. Takže si člověk častěji užije konstelace jedna, dvě zbraně, žádná munice, a navíc žádná motorová pila. A až už ji najdete, oceníte novou vychytávku - konečně ztichla. Také výrazně stoupla obtížnost.

dnf install freedoom

dnf install freedoom2 (pro nainstalvání Phase 2)

Ovšem příkaz freedoom nehledejte. V rozumných prostředích se vám vygeneruje ikonka a spouštěč v menu. V jiných budete muset přežít s

prboom -iwad /usr/share/doom/freedoom1.wad

případně

prboom -iwad /usr/share/doom/freedoom2.wad

freedom

hexer
https://admin.fedoraproject.org/pkgdb/package/rpms/hexer/

Hexaeditorů, a navíc těch commandlajnových, a navíc na principu Vimu, není nikdy dost. O tomto psal nedávno Pavel Tišnovský v Hexa editory a další nástroje pro práci s binárními soubory (2), kdy jste si ho museli stahovat ze stránek autora. Teď už nám konečně dobublal do repozitářů Fedory 24 a výše.

dnf install hexer

od 24 dále, a … nečekaně ...

hexer

HdrHistogram
https://admin.fedoraproject.org/pkgdb/package/rpms/HdrHistogram
Další knihovna, která mi spadla do review. Tentokrát na sběr a analýzu číselných hodnot.

dnf install HdrHistogram

a následně (kromě samotné knihovny)

HistogramLogProcessor

Černá Kronika

Přiznám se, že jsem pro tento úvodní díl seznam odstraněných či čerstvě orphaned [3] balíčků nehledal, ale za to jsem vinen (téměř) orphaned Elastic Searchem.

elasticsearch
https://admin.fedoraproject.org/pkgdb/package/elasticsearch/

Fedora je jediná distribuce, která má v hlavních repositářích Elastic Search [4]. Dostat ho do nich nebylo vůbec jednoduché a jak packager (ano já), tak reviewer (Zbyszek), i několik náhodných kolem jdoucích (at.all gill), makali na plný úvazek. I následná údržba a aktualizace se ukázaly jako solidní práce. Jenže rok se s rokem sešel a já všechny mé projekty portoval z elastiku přímo na Lucne. Dát celý rok práce do pryč jsem nechtěl, a tak místo osiření balíčku jsem jen odstoupil z funkce a předal žezlo jedinému dalšímu adminovi – Zbyszkovi. Ten radostí nejásal, ale zatím se drží. Pokud někdo ES používáte, vaše schopnosti by mu jistě velmi pomohli.

dnf install elasticsearch

a

Elastik pak běží jako služba, případně elasticsearch-plugin na PATH případně /usr/libexec/elasticsearch pro samostatnou „neslužbovou“ instanci.

List přání a snů

Seznam balíčků hledající review [5] i seznam balíčků s právě probíhajícím review [6] je velmi dlouhý. Nicméně, když už v první verzi „Poběrků“ uvádím OHC a HdrHistogram, pak tím musím maskovat nějaký vyšší cíl. A tím je

Appache Cassandra
http://cassandra.apache.org/ velice výkonná a nestandardní databáze. Pro Fedoru to bude podobná pecka jako Elastic Search. A ta hledá reviewera. Pokud ho do vydání tohoto článku ještě nenašla…

https://bugzilla.redhat.com/show_bug.cgi?id=1324020

Paběrek

Ne každý balíček je "vytuněná" aplikace nebo geniální knihovna. Spíše naopak.

console-image-viewer
https://admin.fedoraproject.org/pkgdb/package/rpms/console-image-viewer/

Už jste někdy hledali na headless (čili bez X, čili bez grafického rozhraní, bez monitoru, bez vnc, …) ikonku? Ne? To se máte:). Já ano. A na potvoru tam nebyly žádné devel balíčky a vlastně jsem ani neměl roota, ale náhodou tam byla java, a to dokonce i s javac.

Výsledný prográmek je jedna jediná třída (dokonce i po kompilaci), jejíž logika, cca 100 řádků, je mnohem jednodušší, než samotné rozumění parametrům. Za výsledky nechť promluví:

dnf install console-image-viewer

a

consoleImageViewer -names -best /usr/share/app-info/icons/fedora/128x128/* (případně s | less -R )

console-image

Příště snad již s pořádnou nadílkou.

Odkazy

[1]https://fedoraproject.org/wiki/Changes/Policy#Change_categories

např.: https://fedoraproject.org/wiki/Releases/24/ChangeSet

[2]Nejnovější balíčky lze vždy vidět na: https://admin.fedoraproject.org/pkgdb/

[3]Oznámení o orphans hodí na fedora mejling listy

https://www.google.com/search?q=site%3Ahttps%3A%2F%2Flists.fedoraproject.org%2F+orphaning&oq=site%3Ahttps%3A%2F%2Flists.fedoraproject.org%2F+orphaning

Oficiální seznam orphanů neexistuje, ale dá se získat

https://fedoraproject.org/wiki/Retire_Orphaned_Packages#Detecting_Orphans

[4]https://www.elastic.co/

[5]https://bugzilla.redhat.com/buglist.cgi?component=Package%20Review&list_id=4901750&product=Fedora

https://bugzilla.redhat.com/buglist.cgi?component=Package%20Review&list_id=4901750&product=Fedora&bug_status=ASSIGNED

[6]https://bugzilla.redhat.com/buglist.cgi?component=Package%20Review&list_id=4901750&product=Fedora

https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&component=Package%20Review&list_id=4901750&product=Fedora

[7]http://download.java.net/jdk9/docs/api/index.html