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 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 4
    včera 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 5
    včera 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 8
    8.1. 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    8.1. 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 16
    8.1. 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (3%)
     (5%)
     (0%)
     (9%)
     (21%)
     (4%)
     (5%)
     (3%)
     (11%)
     (53%)
    Celkem 318 hlasů
     Komentářů: 7, poslední 8.1. 15:35
    Rozcestník

    openSUSE Build Service (OBS) - 2

    25. 6. 2008 | Mark Stopka | Návody | 2462×

    Výběr repozitářů, do kterých bude nově sestavený balíček přidán. Řešení závislostí a přebírání balíčků z repozitářů určených pro jiné distribuce.

    Přidáváme repozitáře, pro které chceme balíček sestavit

    Přidáme si tedy repozitáře, pro které chceme balíček sestavit. To můžeme udělat například pomocí osc -e prj home:m4r3k, přičemž se nám opět spustí $EDITOR. Do něj pak napíšeme kód podobný tomu následujícímu:

    <project name="home:m4r3k">
      <title<m4r3k's Home Project</title>
      <description>My packages :-).</description>
      <person role="maintainer" userid="m4r3k"/>
      <repository name="openSUSE_10.3">
        <path project="openSUSE:10.3" repository="standard"/>
        <arch>i586</arch>
        <arch>x86_64</arch>
      </repository>
    </project>
    

    Jak vidíte, tento soubor má poměrně složitou syntaxi (alespoň já si ji ne a ne zapamatovat :-)), naštěstí se však repozitáře dají přidat i pomocí webového rozhraní. Přihlásíme se tedy na build.opensuse.org, v našem domovském projektu klikneme na tlačítko Add Repository a vybereme si některý z repozítářů, pro které chceme sestavovat. V našem příkladu se jedná o repozitáře openSUSE 10.3, Fedora 8 a Mandriva 2008.

    opensuse buildservice - Webové rozhraní pro přídávání repozitářů

    Po přidání repozitářů se nám začnou sestavovat jednotlivé balíčky. Průběh sestavování si můžeme vypsat pomocí příkazu osc buildlog distribuce architektura, například tedy:

    osc buildlog openSUSE_10.3 i586

    Po nějaké době by nám měly vzniknout balíčky pro distribuce openSUSE, Fedora a Mandriva. Každá by měla obsahovat jeden textový soubor umístěný v adresáři /etc/ s příslušným jménem. To si můžeme zkontrolovat tak, že si sestavené balíčky stáhneme a pomocí rpm -qlp balíček.rpm necháme vypsat jejich obsah.

    for foo in *.rpm; do echo "balíček $foo obsahuje"; rpm -qlp $foo; echo "---"; done
    
    balíček fedora-testovaci-balik.rpm obsahuje
    warning: fedora-testovaci-balik.rpm: Header V3 DSA signature: NOKEY, key ID a575c4b8
    /etc/Fedora.txt
    ---
    balíček mandriva-testovaci-balik.rpm obsahuje
    warning: mandriva-testovaci-balik.rpm: Header V3 DSA signature: NOKEY, key ID a575c4b8
    /etc/Mandriva.txt
    ---
    balíček openSUSE-testovaci-balik.rpm obsahuje
    warning: openSUSE-testovaci-balik.rpm: Header V3 DSA signature: NOKEY, key ID a575c4b8
    /etc/openSUSE.txt
    ---
    

    Poněkud pokročilejší podmínky

    Mezi verzemi distribucí se často přejmenovávají, rozdělují a slučují balíčky. Proto je výhodné mít k dispozici i rozlišování podle verze jednotlivých distribucí. Například, pokud chceme, aby se nějaká část kódu provedla jen v případě, že jde o distribuci openSUSE a zároveň se jedná o verzi novější než 10.2, pak použijeme tento kód:

    %if 0%{?suse_version} > 1020
    	%patch0
    %endif

    Tabulka proměnných pro jednotlivé distribuce

    Distribution Variable
    openSUSE Factory %if 0%{?suse_version} == 1031
    openSUSE 10.3 %if 0%{?suse_version} == 1030
    openSUSE 10.2 %if 0%{?suse_version} == 1020
    SUSE Linux 10.1 %if 0%{?suse_version} == 1010
    SLE{S,D} 10 %if 0%{?sles_version} == 10
    SUSE Linux 10.0 %if 0%{?suse_version} == 1000
    SUSE Linux 9.3 %if 0%{?suse_version} == 930
    SLES 9 %if 0%{?sles_version} == 9
    CentOS 5 %if 0%{?centos_version} == 501
    RHEL 5 %if 0%{?rhel_version} == 501
    Fedora 8 %if 0%{?fedora_version} == 8
    Fedora 7 %if 0%{?fedora_version} == 7
    Fedora 6 with Extras %if 0%{?fedora_version} == 6
    Fedora 5 with Extras %if 0%{?fedora_version} == 5
    Fedora 4 with Extras %if 0%{?fedora_version} == 4
    Mandriva 2008 %if 0%{?mandriva_version} == 2008
    Mandriva 2007 %if 0%{?mandriva_version} == 2007
    Mandriva 2006 %if 0%{?mandriva_version} == 2006

    Tabulka převzata, upravena a aktualizována z en.opensuse.org.

    Porovnávací operátory nejsou samozřejmě omezeny jen na operátor ekvivalence (==), ale také jsou k dispozici operátory menší než (<) a větší než (>). Tyto operátory můžeme také skládat a sestavit tak operátor větší nebo rovno (>=), případně menší nebo rovno =<). Stejně tak můžeme také kombinovat jednotlivé podmínky a sestavit například následující konstrukci:

    %if 0%{?suse_version} || 0%{?sles_version}
     %patch1 -p1
    %endif

    Která provede makro %patch vždy, když je balíček sestavován v prostředí openSUSE nebo SLES(D). U sestavování balíčků se lze také rozhodovat podle architektury a tyto podmínky lze samozřejmě také kombinovat ve složitější celky. Například takto:

    %if 0%{?suse_version} == 1030
    %ifarch x86_64
     %patch1
    %endif
    %endif

    Makro %patch1 bude provedeno, jen když je balíček sestavován pro openSUSE verze 10.3 a cílová architektura je x86_64.

    Kde sehnat závislosti?!

    Často se stane, že si chcete udělat balíček na nový program a z ničeho nic zjistíte, že programů, na kterých tento program závisí, je obrovská spousta. To je ještě v pohodě, jednoduše je napíšete do BuildRequires nebo do Requires. V tom horším případě však zjistíte, že potřebné balíčky nejsou k dispozici v oficiálních stromech balíčků. Pokud máte štěstí, tak balíček který potřebujete, už vytvořil někdo jiný, kdo připravuje balíčky v rámci openSUSE Build Service. Pak máte několik možnosti, jak tyto balíčky zužitkovat. Můžete je zkopírovat do svého projektu pomocí příkazu osc copypac, který má následující syntaxi:

    osc copypac home:jiny-balikar cool-balicek home:m4r3k cool-balicek

    Což vytvoří identickou kopii balíčku u vás v home:m4r3k. To se hodí v případě, že hodláte balíček nějak významněji upravovat. Má to však tu nevýhodu, že zbytečně plýtváte strojový čas i místo na build serverech. Proto je k dispozici také příkaz osc linkpac, který provede nalinkování balíčku z jednoho projektu do jiného. Tam se balíček sestaví a bude k dispozici i pro váš projekt. Toto řešení také nabízí určitou míru volnosti. Pokud totiž ve svém nalinkovaném projektu vytvoříte soubor se stejným názvem jako je v tom původním, tak se použije ten váš. Můžete si tak třeba poupravit .spec soubor, aniž by se muselo udržovat několik kopií tarové koule se zdrojovými kódy.

    osc linkpac home:jiny-balikar cool-balicek home:m4r3k cool-balicek

    Vlastní .spec soubor vnutíte projektu tak, že si aktualizujete svou lokální kopii repozitáře pomocí příkazu osc up a přepnete se do adresáře s balíčkem (cd cool-balicek). Pak si vytvoříte třeba soubor cool-balicek.spec a v něm vlastní obsah. Častěji však využijete už hotový .spec soubor a jen si jej upravíte k obrazu svému. Stažení originálního souboru lze provést pomocí:

    osc co home:jiny-balikar cool-balicek cool-balicek.spec

    Nyní už stačí soubor jen otevřít ve svém oblíbeném editoru a dle libosti upravit. Soubor poté přidáme do projektu pomocí osc add cool-balicek.spec a výsledek pošleme na server pomocí osc commit. Balíček se nyní sestaví i s vašimi změnami. Tento způsob sice už tolik neplýtvá místem na disku, ale na druhou stranu stále plýtvá strojovým časem serverů. Proto je k dispozici i příkaz osc aggregatepac, který je vhodný v případě, že chceme balíček jen používat a nijak upravovat. Syntaxe je obdobná jako u předchozích příkazů.

    osc aggregatepac home:jiny-balikar cool-balicek home:m4r3k cool-balicek
    

    Stejně jakou u předchozích dvou příkazů, je i u tohoto příkazu poslední parametr cool-balicek nepovinný a v případě, že jej nepoužijete, tak se použije název stejný jako u zdrojového balíčku.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    Ilfirin avatar 25.6.2008 11:09 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Chtělo by to na ten osc nějaký GUI.
    Pavel Stárek avatar 25.6.2008 11:30 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Celkem v pohodě se dá použít to webové rozhraní, ale asi v sobě nemá všechny možnosti.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    Ilfirin avatar 25.6.2008 11:31 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Tady jde spíš o pohodlnost. Webové rozhraní je přece jen pomalé a ne moc pohodlné (moc dat tam a moc dat zpátky, odezvy, vykreslování browserem atd. )
    25.6.2008 12:19 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Jenže žádné GUI nebude rychlejší, protože tohle je způsobeno pomalostí OBS API. Vyzkoušej si Yabsc a uvidíš, že to není řešení.
    Ilfirin avatar 25.6.2008 15:42 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Nefunguje mi to :-( (Program běží, ale nic nedělá a plní konzoli chybovýma hláškama).
    25.6.2008 15:44 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    (Program běží, ale nic nedělá a plní konzoli chybovýma hláškama).
    Což mi bez těch hlášek vůbec nepomůže. :D
    Ilfirin avatar 25.6.2008 15:51 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    No, hlavní chybou je, že mě to nepozná :-). Všechny ostatní chyby se už jen od toho odvíjí (křik urllib).
    michals@smrz:~> yabsc
    user 'ilfirin' not found
    Traceback (most recent call last):
      File "/usr/bin/yabsc", line 597, in run
        self.projects = self.bs.getWatchedProjectList()
      File "/usr/bin/yabsc", line 101, in getWatchedProjectList
        tree = ElementTree.fromstring(''.join(core.get_user_meta(self.apiurl, username)))
    TypeError
    
    25.6.2008 15:55 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Máš dobře nastavený konfigurák osc? Osc samotné ti funguje?
    Ilfirin avatar 25.6.2008 16:01 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Ano. Ano.
    Yabsc neumí oscrc vytvořit (skončí s chybou dřív, než vůbec vykreslí GUI), to jsem musel udělat ručně. Pak teda už naběhne GUI, ale stále se to ke mě nezná.
    Ilfirin avatar 25.6.2008 11:22 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Příloha:
    Mimochodem, osc funguje i ve Windows :-)
    25.6.2008 11:48 stick | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    toto som prednedavnom riesil. ako to mas spravene? mas nainstalovany pod windowsami cely python aj s kniznicami alebo nejako cez cxFreeze?
    0118 999 881 999 119 725 3
    Ilfirin avatar 25.6.2008 12:24 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Pouze Python. Ale vzhledem k tomu, že Python je můj koníček, tak jej považuji už za základ. Pak už jen stáhnout zdrojáky a pustit "python osc-wrapper". Trochu mě vystrašilo, že konfiguraci bude ukládat do .. a zvrtal ž v mém jméně. Ale nakonec to v tom adresáři opravdu je, takže to byla chyba jen v zobrazení.
    25.6.2008 15:20 stick | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    Aha, ja som sa pokusal pomocou cxFreeze vyrobit binarku pre windows, aby sa user nemusel lopotit s celym pythonom, ale nakoniec som na niecom stroskotal. Uz si presne nepamatam. Kazdopadne by to bolo fajn, keby to slo ...
    0118 999 881 999 119 725 3
    Ilfirin avatar 25.6.2008 15:42 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    No, metoda s py2exe by snad zafungovat měla. Schválně zkusím.
    Ilfirin avatar 25.6.2008 16:09 Ilfirin | skóre: 32 | blog: ilfblog | Liberec
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    No, vypadá to, že díky absenci rpm, build apod. to stejně na Windows fungovat nebude. Tak nic. PS.: Py2exe také nezafungoval.
    25.6.2008 16:16 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    No tyhle věci jsou potřeba jen k osc build, atd...
    26.6.2008 01:17 stick | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    jojo presne na tom som skoncil ja. da sa to (rpm a podobne ...) zo zdrojakov vykuchat ale to sa mi uz nechcelo :)
    0118 999 881 999 119 725 3

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.