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 14:00 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, zveřejnil na svém blogu recenzi notebooku Librem 13 od společnosti Purism. Používá jej již sedm měsíců a s ním i jako umělec spokojen. Potřebu francouzské AZERTY klávesnice vyřešil přelepkami. Na displej se podíval kalibrační sondou, barvy vyladil pomocí open source softwaru DisplayCAL, v aplikaci Inkscape nastavil zvětšování na 170 % aby 1 cm v Inkscapu byl 1 cm v reálu. Webovou kameru, mikrofon, Wi-Fi a Bluetooth lze na Librem 13 hardwarově vypnout.

Ladislav Hagara | Komentářů: 1
včera 23:44 | Komunita

Několik posledních verzí GNOME Shellu obsahuje chybu způsobující memory leak (únik paměti). Viz například videozáznamy verzí 3.26 nebo 3.28. Nalezení chyby #64 a její opravě se věnuje Georges Basile Stavracas Neto v příspěvku na svém blogu [reddit].

Ladislav Hagara | Komentářů: 0
včera 10:33 | Komunita

V pondělí měl na YouTube online premiéru otevřený krátký 2D film Hero vytvořený v 3D softwaru Blender. Cílem stejnojmenného projektu Hero je vylepšit nástroj Grease Pencil (tužka) v Blenderu 2.8.

Ladislav Hagara | Komentářů: 4
20.4. 23:22 | Nová verze

Byla vydána verze 4.0 kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Přehled novinek v Changelogu (GitHub).

Ladislav Hagara | Komentářů: 0
20.4. 17:22 | Komunita

Včera vydanou hru Rise of the Tomb Raider pro Linux lze do pondělí 23. dubna koupit na Steamu s 67% slevou. Místo 49,99 € za 16,49 €.

Ladislav Hagara | Komentářů: 0
20.4. 16:11 | Komunita

Na Humble Bundle lze získat počítačovou hru Satellite Reign (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 5
20.4. 15:44 | Zajímavý software

Společnost Apple koupila před třemi lety společnost FoundationDB vyvíjející stejnojmenný NoSQL databázový systém FoundationDB (Wikipedie). Včera byl tento systém uvolněn jako open source pod licencí Apache 2.0. Zdrojové kódy jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 0
20.4. 15:00 | Nová verze

Po dva a půl roce od vydání verze 5.7 oznámila společnost Oracle vydání nové major verze 8.0 (8.0.11) databázového systému MySQL (Wikipedie). Přehled novinek v poznámkách k vydání. Zdrojové kódy komunitní verze MySQL jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 3
19.4. 14:44 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 151. brněnský sraz, který proběhne v pátek 20. 4. od 18:00 hodin v restauraci Benjamin na Drobného 46.

Ladislav Hagara | Komentářů: 0
19.4. 13:33 | Nová verze

Byla vydána verze 18.04.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 0
Používáte na serverech port knocking?
 (3%)
 (8%)
 (46%)
 (27%)
 (17%)
Celkem 346 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    openSUSE Build Service (OBS) - 2

    25. 6. 2008 | Marek Stopka | Návody | 2082×

    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.

    Nejčtenější články posledního měsíce

    Linuxové herní novinky – únor 2018
    Jaderné noviny – 15. 3. 2018: Odesílání paketů založené na čase
    Jaderné noviny – 22. 3. 2018: Podivný příběh backportu opravy Meltdown na ARM

    Nejkomentovanější články posledního měsíce

    Týden na ITBiz: Na IT trhu chybí hlavně vývojáři softwaru
    Týden na ScienceMag.cz: Podle IBM budou kvantové počítače za 5 let běžné
    Jaderné noviny – 15. 3. 2018: Odesílání paketů založené na čase
      všechny statistiky »

    Seriál openSUSE Build Service (dílů: 5)

    openSUSE Build Service (OBS) aneb jak ho sbalit (první díl)
    <—« openSUSE Build Service (OBS) aneb jak ho sbalit
    »—> OBS - 3 (backportujeme kernel a další balíčky)
    Lokální Buildservice (OBS) – sestavujte vlastní balíčky (poslední díl)

    Související články

    Na co se často ptáme: Balíčkovací systémy
    Seriál: Instalace softwaru v Linuxu
    Seriál: Gentoo ebuild
    Seriál: Rukověť baliče RPM
    Seriál: Balíčkovací systém Arch Linuxu
    Smart Package Manager - instalujeme chytře
    Zdroje balíčkov pre Ubuntu
    Balíčkovací systém Mandrake Linuxu
    Balíčkovací systém Gentoo Linuxu
    openSUSE 11.0

    Odkazy a zdroje

    Build Service
    build.opensuse.org

    Další články z této rubriky

    MapTiler – proměňte obrázek v zoomovatelnou mapu
    Syncthing
    Twibright Registrator: Instalace, odinstalace, test, základní použití
    Twibright Registrator: fotografie v šeru bez stativu 2
    Twibright Registrator: fotografie v šeru bez stativu 1
           

    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. )
    Marek Stopka avatar 25.6.2008 12:19 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    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).
    Marek Stopka avatar 25.6.2008 15:44 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    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
    
    Marek Stopka avatar 25.6.2008 15:55 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    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 :-)
    STiCK avatar 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í.
    STiCK avatar 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.
    Marek Stopka avatar 25.6.2008 16:16 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) - 2
    No tyhle věci jsou potřeba jen k osc build, atd...
    STiCK avatar 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.