abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Navštivte Abc obchůdek se samolepkami a přívěsky!
Rozšířené hledání
×
dnes 06:11 | Komerce
Rozrůstající se softwarová společnost v Plzni zabývající se telematikou hledá schopné vývojáře a nadšence se zájmem o OS Linux. Uplatnění zde najdou především vývojáři C++ se znalostí OS Linuxu, dále programátoři v jazyku Java nebo vývojáři se zkušenostmi s Oracle DB a Oracle ADF. Více informací o společnosti. … více »
Reklama | Komentářů: 0
24.5. 22:45 | IT novinky
NASA, která společně s Rackspace stála u zrodu projektu OpenStack, se již nadále nebude podílet na dalším vývoji této "infrastructure-as-a-service" platformy. V NASA totiž došli k závěru, že vzhledem k podpoře OpenStacku ze strany společností jako Red Hat, AT&T a HP lze jejich práci považovat za dokončenou. Posléze se NASA plánuje stáhnout i z vývoje další platformy pro cloud computing jménem Nebula.
Migilenik | Komentářů: 0
24.5. 22:45 | Upozornění
Blíží se svátek IPv6 a s ním i konference IPv6 Day. Na návštěvníky této akce čeká nejen bohatý program, ale také jedna speciální nabídka – v průběhu setkání bude možné získat se slevou 66 procent třetí vydání knihy IPv6 vysokoškolského pedagoga a publicisty Pavla Satrapy, tedy za 105 korun. … více »
Vilem Sladek | Komentářů: 4
24.5. 16:14 | Pozvánky

Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!

… více »
Whit | Komentářů: 0
24.5. 10:20 | Nová verze
Na zrcadlech a torrentech jsou již k dispozici ISO obrazy distribuce Mageia 2. Poznámky k vydání čtěte zde.
Liborek | Komentářů: 14
23.5. 13:47 | Pozvánky

Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.

… více »
Miška | Komentářů: 7
23.5. 13:27 | Zajímavý projekt
Printerd je název nového projektu tiskového démona, který bude využívat PolicyKit a D-Bus. Projekt je zatím na úplném začátku, takže nejde o nic vhodného k produkčnímu nasazení. Mimo jiné aktuálně akceptuje jako vstup jen PDF dokumenty.
Luboš Doležel (Doli) | Komentářů: 56
23.5. 13:25 | Zajímavý software
Tři vývojáři ze společnosti Engine Yard přecházejí po dohodě mezi firmami do Red Hatu. Jde o vývojáře zabývající se rozvojem projektu JRuby. To ukazuje, že Red Hat má zájem o podporu alternativních jazyků nad OpenJDK.
Luboš Doležel (Doli) | Komentářů: 1
23.5. 13:20 | Zajímavý software
Fedora přejde na knihovnu libusbx, což je fork původní knihovny libusb. Důvodem pro fork byl zjevný nedostatek času nebo zájmu ze strany správce projektu. libusbx už teď nabízí užitečné funkce navrch.
Luboš Doležel (Doli) | Komentářů: 4
23.5. 10:29 | Nová verze
Vyšlo LLVM 3.1. Vylepšení se dotýkají podpory C++ 11 nebo architektur ARM a MIPS. Dále se můžete těšit z Python bindings nebo nástroje AddressSanitizer pro detekci chyb při práci s pamětí.
Luboš Doležel (Doli) | Komentářů: 0
Pokud by se prohlížeč Opera stal svobodným:
 (9%)
 (32%)
 (1%)
 (58%)
Celkem 249 hlasů
 Komentářů: 31, poslední včera 22:38
    Rozcestník
    Reklama
    Autoškola testy online Levný benzín

    openSUSE Build Service (OBS) aneb jak ho sbalit

    17. 6. 2008 | Marek Stopka | Návody | 3637×

    openSUSE Build Service pro vás zkompiluje a sestaví balíčky použitelné v mnoha různých distribucích (SUSE, Fedora, Mandriva, Debian, Ubuntu a další). Pokud potřebujete vytvořit balíček pro svou potřebu, nebo chcete přispět ostatním uživatelům zabalením softwaru, pro který není balíček k dispozici, přečtěte si, jak na to.

    Poznámka: Tento návod je orientován na vytváření balíčků pro RPM-pozitivní distribuce.

    Jako Build Service je většinou označováno konkrétní nasazení openSUSE Build Service Serveru, které je provozováno společností Novell na adrese build.opensuse.org.

    Jedná se o projekt, který byl vytvořen ve snaze zvýšit počet dostupných balíčků pro distribuci openSUSE. Vývojáři však šli o kus dále a napsali tento software tak, aby se dal využít i k vytváření balíčků pro další distribuce. Není tak příliš velký problém vytvořit distribuční balíček pro Fedoru, openSUSE, Mandrivu a další distribuce. Tohoto se dá dosáhnout z jednoho dobře napsaného .spec souboru (balící instrukce pro RPM), jedné sady patchů a jedné originální tarové koule se zdrojovými kódy.

    K projektu OBS se dá přistupovat několika způsoby. Buďto pomocí webového rozhraní (build.opensuse.org), které však zatím neposkytuje přístup ke všem funkcím, jež OBS nabízí. Dalším způsobem je použití programu openSUSE Commander. Dále lze k OBS přistupovat také pomocí veřejného API, a tak není problém OBS ovládat pomocí programu CURL nebo vlastního klienta v Perlu. Fantazii se meze nekladou.

    Pro přístup potřebujete „běžný novellí účet“. Tedy ten, který se používá k přístupu na WIKI, do Bugzilly apod. Ten si můžete volně registrovat, pak již vám nic nebrání si požádat i o povolení přístupu k OBS.

    V době, kdy jsem si o přístup k OBS žádal já, byl trochu problém s tím, že bylo nutné povolení přístupu někým z OBS týmu. To jsem vyřešil tak, že jsem se přihlásil na IRC kanál #openSUSE-buildservice v síti Freenode a požádal jsem jednoho z adminů, jestli by se na mou žádost nemohl podívat. Nyní je už vstup volný a k žádné větší prodlevě nedochází. Účty povoluje nějaký robot.

    Instalace openSUSE Commanderu (OSC)

    Pokud chceme s OBS pracovat na co nejlepší úrovni, tak se nám bude hodit prográmek openSUSE Commander, který je řádkovým klientem k openSUSE Build Service. Ten se nachází v repozitáři openSUSE:Tools. Je několik způsobů, jak jej nainstalovat. Můžeme využít služby nástroje One Click Install a nainstalovat balíček touto cestou, nebo si přidat repozitář ručně a nainstalovat balíček pomocí Zypperu následující sekvencí příkazů.

    zypper ar --no-refresh --repo http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_10.3/openSUSE:Tools.repo
    # Parametr --no-refresh je volitelný a zabrání automatickému obnovování repozitáře, nebude se tak brzdit práce s balíčkovacím systémem
    zypper ref
    zypper install osc
    

    Nyní, když máme osc nainstalován, tak bychom měli provést nastavení. Nejdříve tedy spustíme osc bez jakýchkoli parametrů a odpovíme na dotazy na uživatelské jméno a heslo.

    marek@mantisha:~ # osc
    
    Your user account / password are not configured yet.
    You will be asked for them below, and they will be stored in
    /home/marek/.oscrc for future use.
    
    Username: m4r3k
    Password:
    Creating osc configuration file /home/marek/.oscrc ...
    done.
    

    Konfigurace se uloží do souboru ~/.oscrc, který má jednoduchou syntaxi a je rozdělen do několika sekcí. Doporučuji si také nastavit sudo pro práci s utilitou /usr/bin/build. Ušetříte si tak práci se zadáváním hesla. K tomu stačí do souboru ~/.oscrc zapsat řádek su-wrapper = sudo, který musí být v sekci [general], a patřičně nastavit pravidlo pro sudo. To provedeme například přes YaST.

    opensuse buildservice - Nastavení příkazu sudo v YaSTu
    Nastavení příkazu sudo v YaSTu

    První balíček v domovském projektu

    Spolu s účtem vám byl automaticky vytvořen i domáci projekt, kde si můžete libovolně hrát se svými balíčky. Váš domovský projekt má jméno home:váš-nick. V mém případě je to tedy home:m4r3k. Je vhodné si tento projekt pomocí osc stáhnout k sobě a pak pomocí osc přidat balíček.

    mkdir -p ~/buildservice # Vytvoříme si adresář pro naše hrátky
    cd ~/buildservice
    osc checkout home:m4r3k # Tímto příkazem si stáhneme projekt home:m4r3k
    osc meta pkg -e home:m4r3k testovaci-balik # Tímto příkazem přidáme balík do projektu home:m4r3k
    

    Po spuštění posledního příkazu se vám spustí textový editor, který máte nastaven v proměnné $EDITOR se skeletonem, do kterého vyplníte základní informace o balíčku.

    <package name="testovaci-balik">
    
      <title>Title of New Package</title>
    
      <description>LONG DESCRIPTION
    GOES
    HERE
      </description>
    
      <person role="maintainer" userid="m4r3k"/>
    
    
    <!--
      use one of the examples below to disable building of this package
      on a certain architecture, in a certain repository,
      or a combination thereof:
    
      <disable arch="x86_64"/>
      <disable repository="SUSE_SLE-10"/>
      <disable repository="SUSE_SLE-10" arch="x86_64"/>
    
    -->
    
    </package>
    

    Do tagu title vyplníme název našeho balíčku, třeba testovaci-balik, do pole description vyplníme nějaký popis k balíčku (nejlépe anglicky). Ostatní možnosti můžeme zatím nechat tak, jak jsou. Tímto jsme si tedy vytvořili na serveru balíček testovaci-balik v projektu home:m4r3k, který je před osc reprezentován jako podadresář testovaci-balik v adresáři home:m4r3k. Na náš počítač si jej stáhneme pomocí příkazu osc up, který spustíme v adresáři home:m4r3k.

    Nyní se přepneme do adresáře testovaci-balik a přidáme archiv se zdrojovými soubory nebo zdrojový soubor. K tomuto poté napíšeme nějaký .spec soubor, který promění náš archiv na balíček. Pomocí oblíbeného editoru tedy vytvoříme soubory openSUSE.txt, Fedora.txt a Mandriva.txt s libovolným obsahem.

    K těmto souborům si napíšeme následující soubor testovaci-balik.spec, který může obsahovat podmíněné části (Build Service/cross distribution package how to):

    #
    # This file and all modifications and additions to the pristine
    # package are under the same license as the package itself.
    #
    
    # norootforbuild
    Name:           testovaci-balik
    Version:        1
    Release:        0
    Summary:        Testing package.
    Group:          Documentation/Other
    License:        GPLv2
    %if %{defined suse_version}
    Source:         openSUSE.txt
    %endif
    %if %{defined fedora_version}
    Source:         Fedora.txt
    %endif
    %if %{defined mandriva_version}
    Source:         Mandriva.txt
    %endif
    BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
    
    %description
    
    Authors:
    --------
        Marek Stopka :-)
    %prep
    rm -rf $RPM_BUILD_ROOT
    
    %build
    
    %install
    install -d $RPM_BUILD_ROOT/etc/
    install -m 744 %{S:0} $RPM_BUILD_ROOT/etc/
    
    %clean
    rm -rf $RPM_BUILD_ROOT
    
    %post
    
    %postun
    
    %files
    %defattr(-,root,root,0755)
    %if %{defined suse_version}
    /etc/openSUSE.txt
    %endif
    %if %{defined fedora_version}
    /etc/Fedora.txt
    %endif
    %if %{defined mandriva_version}
    /etc/Mandriva.txt
    %endif
    
    %changelog
    * Sat Mar 01 2008 - marekstopka@gmail.com
    - new package created
    

    Nyní můžeme pomocí osc vyzkoušet sestavení balíčku na našem vlastním stroji (vždy je lepší si první sestavení vyzkoušet u sebe, zbytečně tak nebudeme plýtvat prostředky Build Service) pomocí příkazu:

    osc build openSUSE_10.3 i586 testovaci-balik.spec

    Pokud vše proběhne v pořádku, tak si do projektu přidáme všechny soubory z aktuálního adresáře (osc add *) a pošleme je na server pomocí příkazu osc commit. Kdybychom měli k projektu přiřazené nějaké repositáře, pro které chceme balíček sestavit, tak už by se začal balíček sestavovat. Zatím je tam však nemáme, přidáme je po reklamě :-).

    Příště...

    Přidávání repozitářů, pro které se bude balíček sestavovat, proměnné určující verze různých distribucí a řešení závislostí.

           

    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ář

    17.6.2008 13:45 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    Jenom bych dodal, že většina věcí jde udělat i přes webové rozhraní build.opensuse.org, takže nemusíte editovat žádné XML soubory, pokud nechcete. Výhoda OSC je v tom, že je rychlejší (když víte jak na to) a dá se použít ve skriptech.
    Marek Stopka avatar 17.6.2008 14:28 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    A taky webové rozhraní zatím AFAIK neposkytuje plnou funkcionalitu. V budoucích dílech se nejspíše zaměřím i na webové rozhraní.
    Milan Vít avatar 17.6.2008 14:48 Milan Vít | skóre: 23 | blog: about:linux | Orlová
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    Odkaz na repozitář openSUSE:Tools nefunguje, asi by bylo lepší, aby odkaz vedl na nadřazený adresář nebo možná někam úplně jinam :-)
    „There is no dark side of the Moon really… as a matter of fact it's all dark.“
    Luboš Doležel (Doli) avatar 17.6.2008 14:55 Luboš Doležel (Doli) | skóre: 94 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    Odkaz jsem aktualizoval, aby tam ten soubor nemuseli lidi hledat, ale na druhou stranu nevím, jak dlouho vydrží funkční.
    Milan Vít avatar 17.6.2008 15:22 Milan Vít | skóre: 23 | blog: about:linux | Orlová
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    Právě, co jsem slyšel, tak nové verze osc vycházejí velmi často. Chtělo by to spíš nějakou vhodnou stránku na openSUSE Wiki, asi :-)
    „There is no dark side of the Moon really… as a matter of fact it's all dark.“
    Marek Stopka avatar 17.6.2008 15:27 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    17.6.2008 15:12 Michal Ludvig | skóre: 16
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    Zatím jsem nezjistil jak balík ze svého home:mludvig dostanu do nějakého "opravdového" projektu. Tuším že by to mohlo mít něco společného s osc submitreq, ale asi jsem úplně tupej, takže se mi zatím nezadařilo (i když zas tak moc času jsem s tím neztratil a ne, na IRC jsem se taky ještě neptal). Počkám si na další díly, třeba se dočkám :-)
    Marek Stopka avatar 17.6.2008 15:17 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    No! Ta možnost v OSC je nová. Nevím jak je široce používaná správci těchto projektů. Nicméně já to většinou řešil mailem. :-)
    18.6.2008 22:59 anicka | blog: ze_zivota
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    My se to zatím tak učíme používat, je to tam tak týden :-)

    Zatím funguje žádost mailem (nebo na mailing listu), ale za pár dnů si snad všichni zvykneme :-)
    ^D
    7.7.2008 21:41 unknown
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    Dobry vecer,

    zacal som si citat tento clanok a zastavil som sa skoro hned na zaciatku. Mam vytvoreny ucet na www.opensuse.org a mozem sa tym prihlasit aj na Novell. Len neviem, ako poziadat o pristup k OBS.
    7.7.2008 22:43 unknown
    Rozbalit Rozbalit vše Re: openSUSE Build Service (OBS) aneb jak ho sbalit
    aha, uz to mam :-) ... aj ked to dlho hladam, vacsinou to najdem, az ked napisem na forum :-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2012 Argonit s. r. o. Všechna práva vyhrazena.