abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    dnes 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    dnes 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    dnes 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 2
    dnes 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    včera 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

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

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    18.6. 13:33 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    18.6. 12:44 | IT novinky

    V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem

    … více »
    Ladislav Hagara | Komentářů: 0
    18.6. 11:44 | Komunita

    V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1949 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

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

    26.6.2008 09:41 | Přečteno: 1692× | 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.