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.
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
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ě ...
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 )
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
Oficiální seznam orphanů neexistuje, ale dá se získat
https://fedoraproject.org/wiki/Retire_Orphaned_Packages#Detecting_Orphans
[5]https://bugzilla.redhat.com/buglist.cgi?component=Package%20Review&list_id=4901750&product=Fedora
[6]https://bugzilla.redhat.com/buglist.cgi?component=Package%20Review&list_id=4901750&product=Fedora
3. 5. 2016 at 17:43
Nejlepší článek v historii webu.
4. 5. 2016 at 11:25
Diky!
Doufam ze se z tohou podari udelat serial – jakousi pravidelnou soundu do novych, umrlych ci vyrazne zmenenych balicku v halvnich repositarich…
30. 6. 2016 at 15:03
Co se týká Elaticsearch, tak možná stojí za zmínku, že třeba Debina odstranil Elasticsearch z distribuce kvůli důvodům, které naznačil zde: https://lists.debian.org/debian-security-announce/2015/msg00290.html (nevím, nakolik jsou security updaty problém pro Fedoru).
Pokud vím, tak existuje také tento forum post, který se dané situace také týká: https://discuss.elastic.co/t/how-are-cves-handle-by-the-community-and-disseminated/52932