abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 11
    včera 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 2
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    7.5. 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (64%)
     (7%)
     (13%)
     (16%)
    Celkem 143 hlasů
     Komentářů: 10, poslední včera 17:35
    Rozcestník

    Scout, aneb prohledáváme distribuce (update)

    26.6.2008 09:41 | Přečteno: 1522× | Linux | Výběrový blog | poslední úprava: 26.6.2008 17:31

    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 | ant
    
    mi 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ě

    1. Spustí program.
    2. Pokud spadne, najde chybějící třídu.
    3. Tu předhodí scoutovi, který vrátí balíček/balíčky, které ji obsahují.
    4. Když je jich více, nechá se uživateli vybrat, který nainstalovat.
    5. Uživatel vybere, zypper nainstaluje.
    6. Wrapper znovu spustí program.
    7. Voila! A program pracuje.
    Pochopitelně je to jenom demo a funguje jen na tento jeden příklad a za předpokladu, že log4j nemáte nainstalováno, nicméně ukazuje směr, jakým by se dal v budoucnu 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

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    26.6.2008 14:57 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Scout, aneb prohledáváme distribuce
    Jo, jo jedná se o zajímavý tool :-)
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.