Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).
Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.
Vývojář Spytihněv, autor počítačové hry Hrot (Wikipedie, ProtonDB), pracuje na nové hře Brno Transit. Jedná se o příběhový psychologický horor o strojvedoucím v zácviku, uvězněném v nejzatuchlejším metru východně od všeho, na čem záleží. Vydání je plánováno na čtvrté čtvrtletí letošního roku.
V rámci svého času na inovace, které máme v práci, jsem začal řešit problém, který mám jak já, tak i lidé na koferencích. Když tvořím nějaký balíček, stane se, že přehlédnu nějakou závislost a překlad spadne. Jenže jak zjistit z ména třídy název potřebného balíčku (soudě podle poštovních konferencí jsem nebyl sám, kdo měl takový problém), takže jsem začal psát jednoúčelovou aplikaci, která měla nahradit původní alias na grep a hromadu x megových textových souborů jako index.
Pavol Rusnák mezitím pracoval na reimplementaci Ubuntího command-not-found
a přišlo mu, že se řeší velice podobný problém a navrhnul spojit oba projekty do jednoho. A tak vznikl scout.
Ještě před dovolenou jsem tedy napsal základ pro rozdělení aplikace na moduly, třídu pro práci s databází a v klidu si odjel pryč. Mezitím Pavol vzal můj prototyp a podstatně ho vylepšil a hlavně rozšířil o data, takže až jsem se po třech týdnech vrátil, scout byl poprvé zveřejněn. V té době uměl prohledávat binární soubory, javovské třídy, webpin a makra autoconfu.
Konečně se dostáváme k tomu, co scout vlastně dělá. Indexuje a prohledává obsah balíčků v distribuci (obecně jakémkoliv repositáři) a dokáže uživateli prozradit jméno balíčku (a distribuce/repozitáře), v němž je dotyčná věc nainstalována. Hlavní fintou je, že se prohledává obsah, který uživatel nemá nainstalovaný. Takže vím, že potřebuji příkaz ant, takže příkaz
$ scout bin ant repository | binary | path | package ------------+--------+----------+--------- suse110 | ant | /usr/bin | antmi prozradí vše potřebné. Pochopitelně ve spojené s command-not-found handlerem pro bash a zsh je to pro uživatele jednodušeji použitelné, ale openSUSE zatím nemá tento handler začleněn. Upravený bash si můžete stáhnout z home:prusnak.
Mezitím Marek Stopka napsal podporu pro bash-completion a Thomas Schraitle napsal v Docbooku dokumentaci a já se seznamoval se zdrojáky a napsal indexaci modulů pro Python a experimentální (rozumněj nefunční) verzi pro indexaci Perlovských modulů. Zároveň jsem připravil malé demo, kterak by bylo možné použít scout pro automatickou instalaci závislostí Java programů, které rovněž můžete shlédnout v Pavlově blogu.
Wrapper pracuje následovně
scout
využít. Podobná věc může fungovat i pro Python/Perl/Ruby. Další možností je taky nápovědní systém, který buďto zanalyzuje zdrojový kód, nebo udělá post-mortem analýzu chybové hlášky a napoví uživateli, které závislosti jsou třeba. Pro to bude třeba indexovat hlavičkové soubory, soubory pkgconfigu a podobně. Stejně tak by bylo dobré namísto duplikace binárních databází používat přímo indexové soubory libzyppu, ale zatím tomu brání technické obtíže. Nebo převést index soubory do formátu pro beagle/strigi a zapojit i desktop search, ... Ale seznam TODO máme delší, než Evropská ústava, takže se ani nepočítáme, že to v rozumném časovém horizontu zvládenem všechno.
Zdrojové soubory jsou na repo.or.cz/w/scout.git, i když mám pocit, že není možné jej používat přímo po stažení (ach ty vývojářské verze)*. Zdrojové soubory jsou zatím tak syrové, že je může pozřít i vegan jedící pouze syrové potraviny, ale to se postupně zlepšuje** a čekají nás světlé zítřky. Objevil se náznak testů a v souvislosti s experimentálním D-BUS rozhraním (zatím dostupné pouze v mojí lokální gitovské větvi) se kód upravuje tak, aby byl o něco tvárnější a modulárnější (tím nemyslím existenci externím modulů). Ale z uživatelského hlediska pracuje dobře.
Je lepší si scout nainstalovat z home:prusnak:scout (data jsou z technicko/komprimačních důvodů v home:prusnak:scout-data), který je pravidelně synchronizován se stavem v gitu. Balíčky jsou vytvořeny pro všechny hlavní RPM distribuce (CentOS, RHEL, Fedora, Mandriva, openSUSE/SLE), nicméně data zatím máme jen z openSUSE a projektu jpackage a Packman, takže použitelnost na ostatních distribucích je diskutabilní, ale je způsobena hlavně tím, že nemáme přístup k mirroru (nejlépe přes NFS, nebo jiný síťový FS) jiné distribuce, než je openSUSE/SLE. Spolupráci při tvorbě indexů pro jiné distribuce se nebráníme, i když by to asi chtělo prošťouchnout a upravit skripty, které generují indexy.
Update:
* V mezidobí Pavol začlenil patch, který tuto nepříjemnou věc vyřešil.
**Stejně tak jsem přepsal formátovací kód, který mě v předchozí verzi hrozně lezl na nervy (namísto psaní nových vlastností se bavím tímto).
A přidán odkaz na wiki stránku en.opensuse.org/Scout
Tiskni
Sdílej: