<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>M4r3k's web</title>
	<atom:link href="http://www.m4r3k.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.m4r3k.org</link>
	<description>Blog about openSUSE, Linux generaly and something more..</description>
	<pubDate>Wed, 06 Aug 2008 15:11:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>cs</language>
			<item>
		<title>0verkill &#8212; cool game in OBS games repository</title>
		<link>http://www.m4r3k.org/english/opensuse-linux/0verkill-cool-game-in-obs-games-repository/</link>
		<comments>http://www.m4r3k.org/english/opensuse-linux/0verkill-cool-game-in-obs-games-repository/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 21:45:52 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[openSUSE Linux]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=231</guid>
		<description><![CDATA[You probably know about games project in openSUSE Build Service, but that what you probably don&#8217;t know,  there is one game called 0verkill. It is  bloody 2D action deathmatch-like with ASCII-art graphics. It is possible to play this game from Xorg with x0verkill client, but from terminal as well with client 0verkill. This [...]]]></description>
			<content:encoded><![CDATA[<p>You probably know about <a href="https://build.opensuse.org/project/show?project=games" onclick="javascript:urchinTracker ('/outbound/article/build.opensuse.org');">games project</a> in <a href="https://build.opensuse.org/" onclick="javascript:urchinTracker ('/outbound/article/build.opensuse.org');">openSUSE Build Service</a>, but that what you probably don&#8217;t know,  there is one game called <a href="https://build.opensuse.org/package/show?package=0verkill&#038;project=games" onclick="javascript:urchinTracker ('/outbound/article/build.opensuse.org');">0verkill</a>. It is  bloody 2D action deathmatch-like with ASCII-art graphics. It is possible to play this game from Xorg with <code>x0verkill</code> client, but from terminal as well with client <code>0verkill</code>. This is network based game, but if you want it, you can play this game at local server and you can create a lot of other players with program <code>0verkill-bot</code>. If you want to play this game with real players, feel free connect to server <code>auryn.karlin.mff.cuni.cz</code>, if nobody there, try ask players at <code>0verkill</code> IRC channel at Freenode.</p>
<p align="center">
<img src="/storage/img/0verkill.png" alt="x0verkill" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/english/opensuse-linux/0verkill-cool-game-in-obs-games-repository/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nově máme jednotnou branch m5602</title>
		<link>http://www.m4r3k.org/czech/nove-mame-jednotnou-branch-m5602/</link>
		<comments>http://www.m4r3k.org/czech/nove-mame-jednotnou-branch-m5602/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 19:07:17 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=233</guid>
		<description><![CDATA[Již dlouho jsem nenapsal nic o tom, jak se má vývoj projektu m560x. Bohužel jsme nikterak závratně nepokročili v luštění jednotlivých registrů, na druhou stranu jsme však provedli sloučení několika branchí do společné branche m5602. 






To sebou přineslo i nějaké regrese a já tak nebyl schopen dostat slušný obraz z web kamery za použití ovladače [...]]]></description>
			<content:encoded><![CDATA[<p>Již dlouho jsem nenapsal nic o tom, jak se má <a href="http://sourceforge.net/projects/m560x-driver" onclick="javascript:urchinTracker ('/outbound/article/sourceforge.net');">vývoj projektu m560x</a>. Bohužel jsme nikterak závratně nepokročili v luštění jednotlivých registrů, na druhou stranu jsme však provedli sloučení několika branchí do společné branche m5602. </p>
<p><span id="more-233"></span><br />
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-6981574337140894";
google_ad_slot = "9487130120";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></p>
<p>To sebou přineslo i nějaké regrese a já tak nebyl schopen dostat slušný obraz z web kamery za použití ovladače z branche m5602. Stream přestal fungovat vždycky po 5-6 sekundách a i po těch 5-6 sekund byl nějakých maximálně 5 snímků za sekundu. S Erikem jsme se do nápravy pustili zhruba předevčírem, ale nikterak intenzivně, dneska se nám povedlo branch m5602 opravit, takže s tímto driverem mi to jede zase přibližně 30 snímků za sekundu v černobílých barvách. Problémy s blízkým zdrojem světla a tmavostí obrazu však přetrvávají. :-(</p>
<p align="center">
<img src="/storage/img/m5602-branch-01.png" alt="Blízký zdroj světla udělá tohle :-(" /><br />
<img src="/storage/img/m5602-branch-02.png" alt="Alespoň jeden trošku lepší obrázek :-)" />
</p>
<p>Mimochodem, když se podíváte na panel napravo, tak si jistě <a href="http://www.eff.org/br/" onclick="javascript:urchinTracker ('/outbound/article/www.eff.org');">všimnete modré stužky</a>, která má symbolizovat to, že na tomto weblogu nedochází k žádnému cenzurování, fungovalo to tady takto již od samého začátku, takže jediná změna je to, že nyní je to dáno najevo i symbolem. :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/nove-mame-jednotnou-branch-m5602/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OBS - 3 (backportujeme kernel a další balíčky)</title>
		<link>http://www.m4r3k.org/czech/obs-3-backportujeme-kernel-a-dalsi-balicky/</link>
		<comments>http://www.m4r3k.org/czech/obs-3-backportujeme-kernel-a-dalsi-balicky/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 15:11:15 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[články]]></category>

		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=245</guid>
		<description><![CDATA[openSUSE (a pokud vím i všechny ostatní RPM-based distribuce) fungují na principu stabilních vydání, a ne na principu rolling-updates, jako je tomu třeba v případě Gentoo. Proto, když chcete novou verzi nějakého programu (třeba jádra), tak musíte buď přejít na aktuální vývojovou verzi (např. openSUSE Factory), nebo si patřičný balíček backportovat. (Je zde ještě možnost [...]]]></description>
			<content:encoded><![CDATA[<p>openSUSE (a pokud vím i všechny ostatní RPM-based distribuce) fungují na principu stabilních vydání, a ne na principu rolling-updates, jako je tomu třeba v případě Gentoo. Proto, když chcete novou verzi nějakého programu (třeba jádra), tak musíte buď přejít na aktuální vývojovou verzi (např. <a href="http://en.opensuse.org/Factory" onclick="javascript:urchinTracker ('/outbound/article/en.opensuse.org');">openSUSE Factory</a>), nebo si patřičný balíček backportovat. (Je zde ještě možnost si program zkompilovat mimo balíčkovací systém, ale to je spíš cesta do pekel než elegantní řešení problému.)</p>
<p><span id="more-245"></span><br />
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-6981574337140894";
google_ad_slot = "9487130120";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div></p>
<p>S buildservicem však není nic snažšího, než si takový balíček (třeba jádro jako v našem případě) backportovat. Můžete provádět rozličné backportování. Můžete si do svého openSUSE 10.3 naládovat jádro z openSUSE 11.0 nebo přímo z openSUSE Factory. Například jsem pořeboval na <a href="http://cs.opensuse.org/SDB:Instalace_openSUSE_10.3_na_HP_Compaq_dc5800" onclick="javascript:urchinTracker ('/outbound/article/cs.opensuse.org');">desktop HP dc5800 dát novější jádro</a>, aby mi správně fungovalo ACPI. S buildservicem stačilo vytvořit <a href="https://build.opensuse.org/project/show?project=home%3Am4r3k%3Akernel-backport" onclick="javascript:urchinTracker ('/outbound/article/build.opensuse.org');">nový projekt</a> <code>home:m4r3k:kernel-backport</code> (je zbytečné si zaneřádit domácí projekt, když je tu ta skvělá možnost vytvářet podprojekty) pomocí příkazu:</p>
<pre class="kod">osc meta prj -e home:m4r3k:kernel-backport</pre>
<p>V nabídnutém XML souboru:</p>
<pre class="kod">&lt;project name="home:m4r3k:kernel-backport"&gt;
	 &lt;title&gt;Short title of NewProject&lt;/title&gt;
  &lt;description&gt;This project aims at providing some foo and bar.
It also does some weird stuff.
&lt;/description&gt;
  &lt;person role="maintainer" userid="m4r3k" /&gt;
  &lt;person role="bugowner" userid="m4r3k" /&gt;

&lt;!– remove this block to publish your packages on the mirrors –&gt;
  &lt;publish&gt;
    &lt;disable /&gt;
  &lt;/publish&gt;
  &lt;build&gt;
    &lt;enable /&gt;

  &lt;/build&gt;
  &lt;debuginfo&gt;
    &lt;disable /&gt;
  &lt;/debuginfo&gt;
&lt;!– remove this comment to enable one or more build targets
  &lt;repository name="openSUSE_Factory"&gt;
    &lt;path project="openSUSE:Factory" repository="standard" /&gt;

    &lt;arch&gt;x86_64&lt;/arch&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
  &lt;/repository&gt;
 &lt;repository name="openSUSE_10.2"&gt;
    &lt;path project="openSUSE:10.2" repository="standard"/&gt;

    &lt;arch&gt;x86_64&lt;/arch&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
  &lt;/repository&gt;
  &lt;repository name="SUSE_Linux_10.1"&gt;
    &lt;path project="SUSE:SL-10.1" repository="standard" /&gt;

    &lt;arch&gt;x86_64&lt;/arch&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
  &lt;/repository&gt;
  &lt;repository name="SUSE_Linux_10.0"&gt;
    &lt;path project="SUSE:SL-10.0" repository="standard" /&gt;

    &lt;arch&gt;x86_64&lt;/arch&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
  &lt;/repository&gt;
  &lt;repository name="Fedora_7"&gt;
    &lt;path project="Fedora:7" repository="standard" /&gt;

    &lt;arch&gt;x86_64&lt;/arch&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
  &lt;/repository&gt;
  &lt;repository name="SLE_10"&gt;
    &lt;path project="SUSE:SLE-10:SDK" repository="standard" /&gt;

    &lt;arch&gt;x86_64&lt;/arch&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
  &lt;/repository&gt;
–&gt;
&lt;/project&gt;</pre>
<p>Pak pozměníme část <code>&lt;publish&gt;</code> z <code>&lt;disable /&gt;</code> na <code>&lt;enable /&gt;</code>, čímž zajistíme vytvoření veřejně přístupného repozitáře, a dále si vybereme architektury a distribuce, pro které chceme balíčky sestavovat. Pokud je naše cílová platforma v zakomentované části XML souboru, tak máme vyhráno a tu část, kterou chceme, odkomentujeme. Ke komentářům se zde používají klasické XML komentářové znaky <code>&lt;!–</code> a <code>–&gt;</code>. V případě, že naše cílová platforma v nabídce není, tak ji prostě přidáme (nezakomentovanou). Můžeme ji přidat jak prostřednictvím editace XML souboru, tak prostřednictvím webového rozhraní, jak jsme si to popsali v <a href="/czech/opensuse-build-service-obs-2/">druhém dílu seriálu</a>. Nezapomeňte také vyplnit položky <code>&lt;title&gt;</code> a <code>&lt;description&gt;</code> něčím více popisným&nbsp;:-).</p>
<p>Nyní, když máme projekt vytvořen, je vhodné si stáhnout jeho obsah (stejně je zatím skoro prázdný) na lokální disk. To uděláme opět pomocí příkazu <code>osc&nbsp;co&nbsp;home:m4r3k:kernel-backport</code>. Následně pomocí příkazu <code>osc&nbsp;linkpac</code> nalinkujeme balíčky ze zdrojového projektu do projektu cílového (tím je v našem případě <code>home:m4r3k:kernel-backport</code>. V případě backportování kernelu stačí spustit následující bash skript.</p>
<pre class="kod">for i in apparmor-parser device-mapper kernel-default kernel-source kernel-xen lvm2 openais udev apparmor-profiles kernel-debug kernel-docs kernel-syms linux-kernel-headers mkinitrd sysfsutils; do
	osc linkpac openSUSE:Factory $i home:m4r3k:kernel-backport
done
</pre>
<p>Po doběhnutí tohoto krátkého skriptíku a vybuildění balíčků bude k dispozici FTP adresář <a href="http://download.opensuse.org/repositories/home:/m4r3k:/kernel-backport/" onclick="javascript:urchinTracker ('/outbound/article/download.opensuse.org');">home:m4r3k:kernel-backport</a>, v němž jsou jednotlivé repozitáře, pro které jste si nechali backportovaný balíček sestavit. Zde bych si dovolil požádat přítomné čtenáře, aby si v případě potřeby nevytvářeli vlastní backport openSUSE jádra pro distribuce openSUSE 10.2, 10.3 a 11.0 z openSUSE Factory, protože tento backport je v mém projektu <a href="https://build.opensuse.org/project/show?project=home%3Am4r3k%3Akernel-backport" onclick="javascript:urchinTracker ('/outbound/article/build.opensuse.org');"><code>home:m4r3k:kernel-backport</code></a> a jednalo by se tak o zbytečné plýtvání prostředky buildservicu. Ale pokud máte zájem o backport nějakého jiného balíčku, tak neváhejte&nbsp;:-).</p>
<p>Balíčky si do systému můžete nainstalovat například touto posloupností příkazů (otestováno na openSUSE 10.3):</p>
<pre class="kod">zypper ar --repo http://download.opensuse.org/repositories/home:/m4r3k:/kernel-backport/openSUSE_10.3/home:m4r3k:kernel-backport.repo
zypper up -t package
</pre>
<p>kterou si přizpůsobíte vlastním podmínkám. Například změna URL k <code>*.repo</code> souboru.</p>
<h2>Patchuji, patchuješ, patchujeme</h2>
<p>Pokud jste nahlásili bug a broukobijci vás zásobují patchi k otestování nebo si chcete do nějakého balíčku přidat patch, který doplňuje pro vás zajímavou funkci, a nebo si jen chcete balíček přeložit s trošku jinými volbami, buildservice má pro vás jednoduché a elegantní řešení. Opět se jedná o magii spojenou s příkazem <code>osc&nbsp;linkpac</code> jako v předchozím případě.</p>
<p>Pokud chcete přidat do balíčku nějaký patch, lze to provést pomocí editace souboru <code>_link</code>, který je v adresáři nalinkovaného balíčku po stažení pomocí příkazu <code>osc&nbsp;co</code>. <code>_link</code> soubor obsahuje něco podobného tomuto:</p>
<pre class="kod">&lt;link project="openSUSE:Factory" package="apparmor-parser"&gt;
&lt;patches&gt;
  &lt;!– &lt;apply name="patch" /&gt; –&gt;
  &lt;!– &lt;topadd&gt;%define build_with_feature_x 1&lt;/topadd&gt; –&gt;

&lt;/patches&gt;
&lt;/link&gt;</pre>
<p>Jak vidíte, soubor obsahuje zakomentované části <code>&lt;apply&nbsp;name="patch"&nbsp;/&gt;</code> a <code>&lt;topadd&gt;%define&nbsp;build_with_feature_x 1&lt;/topadd&gt;</code>. Neobsahuje však jednu stejně důležitou část <code>&lt;add&nbsp;name="somepatch"&nbsp;after="3"&nbsp;popt="1"&nbsp;dir=""/&gt;</code>. Tento element <code>add</code> umožňuje přidat k nalinkovanému balíčku libovolný patch. Například pokud chceme vytvořit balíček opatchovaný patchem <code>cool-feature.patch</code> pomocí makra <code>%patch&nbsp;-p2</code> tak upravíme <code>_link</code> do následující podoby:</p>
<pre class="kod">&lt;link project="openSUSE:Factory" package="apparmor-parser"&gt;
&lt;patches&gt;
  &lt;add name="cool-feature.patch" popt="2"/&gt;
&lt;/patches&gt;
&lt;/link&gt;</pre>
<p>Výsledek úprav musíte v případě, že jste editovali lokální soubor, poslat na server pomocí příkazu <code>osc&nbsp;commit</code>. Pomocí tohoto řešení však můžete přidat jen nějaký patch na samotný tarball se zdrojáky. Co dělat v případě, že chcete upravit daný spec soubor? K tomu zase slouží <code>&lt;apply&nbsp;name="patch"&nbsp;/&gt;</code>. Jeho použití si ukážeme třeba na situaci, kdy chceme openSUSE distribuční jádro poupravit tak, aby neobsahovalo App Armor.</p>
<p>Ze všeho nejdříve si stáhneme původní balíček <code>kernel-default</code> z patřičného projektu (záleží na verzi distribuce, pro kterou tuto změnu budeme provádět). Já použiji jádro z projektu openSUSE:Factory a zneužiji již založený projekt <code>home:m4r3k:kernel-backport</code>.</p>
<pre class="kod">osc co openSUSE:Factory kernel-default
cd openSUSE:Factory/kernel-default
cp kernel-default.spec kernel-default.spec.orig
</pre>
<p>Nyní si najdeme v souboru <tt>kernel-default.spec</tt> řádek 174 s následujícím obsahem: <code>Source110:&nbsp;patches.apparmor.tar.bz2</code> a pomocí znaku <code>#</code> provedeme zakomentování. Totéž uděláme i s řádkem číslo 192, který obsahuje <code>NoSource:&nbsp;110</code>. Ještě musíme na řádku číslo 228 odebrat příkaz na rozbalení Source balíčku s číslem 110, což provedeme odstraněním části <code>-a&nbsp;110</code>. Vzhledem k tomu, že k opatchování se používá soubor <code>%_sourcedir/series.conf</code>, který obsahuje seznam aplikovaných patchů, tak ještě musíme všechny patche týkající se app.armor odstranit, což můžeme udělat nějakým kódem v Bashi (viz můj diff). Následně soubor uložíme a pomocí příkazu <code>diff&nbsp;-u kernel-default.spec.old&nbsp;kernel-default.spec</code> si vytvoříme patřičný patch. Ten by měl vypadat nějak takto (samozřejmě si můžete výstup přesměrovat přímo do nějakého souboru):</p>
<pre class="kod">--- kernel-default.spec.old     2008-06-27 14:23:46.936011735 +0200
+++ kernel-default.spec 2008-06-27 22:03:03.060007138 +0200
@@ -171,7 +171,7 @@
 Source107:      patches.xen.tar.bz2
 Source108:      patches.addon.tar.bz2
 Source109:      patches.kernel.org.tar.bz2
-Source110:      patches.apparmor.tar.bz2
+#Source110:      patches.apparmor.tar.bz2
 Source111:      patches.rt.tar.bz2
 Source120:      kabi.tar.bz2
 %define my_builddir %_builddir/%{name}-%{version}
@@ -189,7 +189,7 @@
 NoSource:       107
 NoSource:       108
 NoSource:       109
-NoSource:       110
+#NoSource:       110
 NoSource:       111
 NoSource:       120
 # The following KMPs have been integrated into the kernel package.
@@ -225,7 +225,7 @@
 fi
 echo "Architecture symbol(s):" %symbols
 # Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 111 -a 120
 # Generate the list of supported modules
 (   %_sourcedir/guards %symbols &lt; %_sourcedir/supported.conf
     for how in external; do
@@ -253,6 +253,8 @@
 subarch=${1%/*}
 # Apply the patches needed for this architecture.
 %if ! %build_vanilla
+grep -v "patches.apparmor" %_sourcedir/series.conf &gt; %_sourcedir/series.conf.tmp
+mv %_sourcedir/series.conf.tmp %_sourcedir/series.conf
 for patch in $(%_sourcedir/guards %symbols &lt; %_sourcedir/series.conf); do
     if ! patch -s -E -p1 --no-backup-if-mismatch -i ../$patch; then
        echo "*** Patch $patch failed ***"
</pre>
<p>UPOZORNĚNÍ: Správně byste měli ještě opravit část <tt>%changelog</tt> a přidat tam nějaký záznam o tom, že se jedná o opatchovaný build - ale pro naše cvičné účely to není třeba.</p>
<p>Poté přejdeme do projektu (a patřičného adresáře), kde máme již nalinkovaný balíček <code>kernel-default</code> (v mém případě se jedná o adresář <code>home:m4r3k:kernel-backport/kernel-default</code>) a tento patch soubor do daného adresáře uložíme třeba pod názvem <code>app_armor_remove.patch</code>. Nyní editujeme soubor <code>_link</code>, abychom dostali podobný výsledek.</p>
<pre class="kod">&lt;link project="openSUSE:Factory" package="kernel-default"&gt;
&lt;patches&gt;
  &lt;apply name="app_armor_remove.patch" /&gt;
&lt;/patches&gt;
&lt;/link&gt;
</pre>
<p>Ještě je potřeba to všechno poslat na server; to můžeme udělat třeba následující sekvencí příkazů:</p>
<pre class="kod">osc add app_armor_remove.patch # přidá soubor app_armor_remove.patch mezi BuildServicem spravované soubory
osc commit # odešle změny na server
</pre>
<h3>A k čemu mi to je?</h3>
<p>Pokud jste poctivě četli <a href="/czech/opensuse-build-service-obs-2/">druhý díl</a> seriálu, tak jistě víte, že místo tohoto řešení můžete prostě do adresáře s <code>_link</code> souborem přidat soubor se stejným názvem, který nahradí ten původní. Důvod pro použití patchování v rámci <code>_link</code> souboru je však jednoduchý (kdo na něj přijde před jeho přečtením, má u mě bonbón&nbsp;:-)), tohle řešení je, na rozdíl od toho prvního, vhodné i do budoucna. Musíme si uvědomit, že když přeplácneme patřičný <code>.spec</code> soubor, tak v případě aktualizace dojde k nepříjemné situaci, kdy se nám balíček přestane aktualizovat automaticky s upstream projektem, jež linkujeme. Toto řešení je do jisté míry (limity příkazu <tt>patch</tt>, který si s každou situací nemusí poradit) dopředné, a proto, pokud dojde k prostému navýšení verze, to naše metoda s patchováním ustojí a sestaví novější verzi balíčku s potřebnými změnami, které jsme provedli.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/obs-3-backportujeme-kernel-a-dalsi-balicky/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jak nám ta komunita na mapě hezky roste&#8230;</title>
		<link>http://www.m4r3k.org/czech/jak-nam-ta-komunita-na-mape-hezky-roste/</link>
		<comments>http://www.m4r3k.org/czech/jak-nam-ta-komunita-na-mape-hezky-roste/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 23:11:37 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=230</guid>
		<description><![CDATA[O tom, že máme mapu aktivních uživatelů jsem již psal. Nyní bych si tedy dovolil jen připojit obrázek s tím, jak se nám mapa hezky rozrostla. :-) Původně byli na mapě jen 3 uživatelé a jedna firma (česká pobočka SUSE). Nyní je na mapě bublinek mnohem více. :-)


Mapa z 27. června 2008

Děkuji všem co se [...]]]></description>
			<content:encoded><![CDATA[<p>O tom, že máme <a href="http://service.cboltz.de/opensuse/map.html" onclick="javascript:urchinTracker ('/outbound/article/service.cboltz.de');">mapu aktivních uživatelů</a> jsem <a href="http://www.m4r3k.org/czech/jste-uz-na-mape-uzivatelu-opensuse/" >již psal</a>. Nyní bych si tedy dovolil jen připojit obrázek s tím, jak se nám mapa hezky rozrostla. :-) Původně byli na mapě jen 3 uživatelé a jedna firma (<a href="http://www.suse.cz/" onclick="javascript:urchinTracker ('/outbound/article/www.suse.cz');">česká pobočka SUSE</a>). Nyní je na mapě bublinek mnohem více. :-)</p>
<p align="center">
<img src="http://www.m4r3k.org/storage/img/maps-2008-06-27.png" alt="Mapa z 27. června 2008" /><br />
Mapa z 27. června 2008
</p>
<p>Děkuji všem co se přidali, alespoň vidíme, že nás není málo. :-) Jen to okolí Ostravy zeje skoro prázdnotou :-(</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/jak-nam-ta-komunita-na-mape-hezky-roste/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Zase jedna vyjížďka na bruslích&#8230;</title>
		<link>http://www.m4r3k.org/czech/zase-jedna-vyjizdka-na-bruslich/</link>
		<comments>http://www.m4r3k.org/czech/zase-jedna-vyjizdka-na-bruslich/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 20:51:25 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=229</guid>
		<description><![CDATA[Včera jsem se s kamarádkou domluvil, že ve středu ve 20:45 vyjedem na brusle. No co, ve 20:40 jsem si šel obout brusle a vyrazili jsme do Bělského lesa. Pěkně jsme si zajezdili a najednou, z ničeho nic&#8230; kap, kap. Oba jsme naráz řekli &#8220;A do prdele&#8221;, pořádně se rozjeli ať to stihnem co nejblíže [...]]]></description>
			<content:encoded><![CDATA[<p>Včera jsem se s kamarádkou domluvil, že ve středu ve 20:45 vyjedem na brusle. No co, ve 20:40 jsem si šel obout brusle a vyrazili jsme do <a href="http://cs.wikipedia.org/wiki/B%C4%9Blsk%C3%BD_Les" onclick="javascript:urchinTracker ('/outbound/article/cs.wikipedia.org');">Bělského lesa</a>. Pěkně jsme si zajezdili a najednou, z ničeho nic&#8230; kap, kap. Oba jsme naráz řekli &#8220;A do prdele&#8221;, pořádně se rozjeli ať to stihnem co nejblíže k domovu, než se pořádně rozprší. Ale samozřejmě jsme to nestihli. Když jsme dojeli <a href="http://www.mapy.cz/#x=141886288@y=135015280@z=16@mm=FP@ax=141885680@ay=135017568@at=sem%20jsme%20dojeli@ad=dojeli%20jsme%20sem@sa=s@st=s@ssq=B%C4%9Blsk%C3%BD%20les@sss=1@ssp=120640421_126437249_150459301_149899137" onclick="javascript:urchinTracker ('/outbound/article/www.mapy.cz');">semhle</a>, tak začal foukat pořádný boční vítr. Byl tak silný, že to s kamarádkou trošku lomcovalo (nj, je trošku chatrnější postavy, což já nejsem :D) a tak jsem ji musel chytit za ruku, aby nespadla, nebo neodjela o pár metrů vedle.</p>
<p>Ujeli jsme takhle asi 20 metrů skoro slimáčí rychlostí, vítr nám foukal písek přímo na nohy, brusle a do obličeje. Oběma nám došlo, že to takhle asi nepůjde, tak jsme se domluvili, že to do blízkého podchodu doběhneme v ponožkách. &#8220;Sedli&#8221; jsme na lavičku. (S tím vítrem, jak foukal, to bylo spíš přistání, než sednutí.) A vyzuli brusle. Doutíkali jsme do podchodu se slovy &#8220;hlavně žádné sklo&#8221;. Najednou jsme v podchodu, z obou nás kape, jako by jsme skočili do bazénu v oblečení. Lidi na nás koukaj jak na maximální exoty. Už jste někdy viděli v podchodě dva lidi v ponožkách, mokré na kost s bruslemi v ruce? Kdybych to viděl, taky bych čučel. :-)</p>
<p align="center">
<a href="http://www.m4r3k.org/storage/img/stroj-na-suseni-lozisek.jpg" ><img src="/storage/img/stroj-na-suseni-lozisek-thumb.jpg" alt="stoj na sušení ložisek :-)" /></a><br />
Stroj na sušení ložisek :D
</p>
<p>Došli jsme na druhou stranu podchodu a čekali, než přestane pršet. Bohužel se však nedařilo. Stále pršelo a pršelo, naštěstí však boční vítr ustal. Rozhodli jsme se teda, že když už máme ty ponožky mokré, špinavé, tak že to dojdem až ke mě v těch ponožkách. Je to asi 1,5km vzdušnou čarou. Teďka jsme u mě a chystáme se rozebrat si své brusle, aby utrpěly co nejmenší škodu vlivem zvlhnutí. Oba jsme si totiž asi 14 dní zpátky koupili nová kolečka a hlavně nová ložiska. No a nové ložiska, to je tak 800-1200 podle toho které si kupujete. :-(</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/zase-jedna-vyjizdka-na-bruslich/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jste už na mapě uživatelů openSUSE?</title>
		<link>http://www.m4r3k.org/czech/jste-uz-na-mape-uzivatelu-opensuse/</link>
		<comments>http://www.m4r3k.org/czech/jste-uz-na-mape-uzivatelu-opensuse/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 23:36:10 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=225</guid>
		<description><![CDATA[
Víte o tom, že openSUSE má mapu uživatelů a členů openSUSE komunity? Jedná se o aplikaci postavenou nad Google Maps a je vskutku jednoduché se tam přidat. V době psaní tohoto příspěvku jsou na mapě 3 lidé z České republiky (a jedna firma, česká pobočka SUSE), pevně doufám, že až se na mapu příště podívám, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.m4r3k.org/storage/img/distribucni-novinky-opensuse-logo.png" class="ikonka" alt="opensuse logo"></p>
<p>Víte o tom, že openSUSE má <a href="http://service.cboltz.de/opensuse/map.html" onclick="javascript:urchinTracker ('/outbound/article/service.cboltz.de');">mapu uživatelů a členů openSUSE komunity</a>? Jedná se o aplikaci postavenou nad <a href="http://maps.google.com/" onclick="javascript:urchinTracker ('/outbound/article/maps.google.com');">Google Maps</a> a je vskutku jednoduché se tam přidat. V době psaní tohoto příspěvku jsou na mapě 3 lidé z České republiky (a jedna firma, česká pobočka SUSE), pevně doufám, že až se na mapu příště podívám, tak že tam bude lidí více(klidně i firem). :-) Návod na to, <a href="http://en.opensuse.org/OpenSUSE_Community/Map#Add_yourself" onclick="javascript:urchinTracker ('/outbound/article/en.opensuse.org');">jak se přidat</a> je na <a href="http://en.opensuse.org/" onclick="javascript:urchinTracker ('/outbound/article/en.opensuse.org');">openSUSE wiki</a>. Já bych jen dodal, že jednoduchý převod na dekadický trav GPS souřadnic lze provést přes <a href="http://maps.google.com/" onclick="javascript:urchinTracker ('/outbound/article/maps.google.com');">Google Maps</a> a to tak, že do vyhledávacího pole zadáte souřadnice pomocí stupňů, minut, sekund,&#8230; a poté dáte dané souřadnice vyhledat. Jakmile bude dané místo nalezeno tak se vám v bublině objeví oba dva tvary GPS souřadnic, vskutku jednoduché. :-)</p>
<p>K nalezení vaší polohy můžete také použít <a href="http://www.mapy.cz/" onclick="javascript:urchinTracker ('/outbound/article/www.mapy.cz');">mapy od Seznamu</a>, které jsou pro české podmínky asi přece jen o něco vhodnější. A pamatujte, pokud nechcete říct kde přesně bydlíte můžete klidně zadat souřadnice podle kterých se podaří určit jen město (jako jsem to udělal já), nebo městskou část. :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/jste-uz-na-mape-uzivatelu-opensuse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>openSUSE Build Service (OBS) - 2</title>
		<link>http://www.m4r3k.org/czech/opensuse-build-service-obs-2/</link>
		<comments>http://www.m4r3k.org/czech/opensuse-build-service-obs-2/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 23:01:00 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[články]]></category>

		<category><![CDATA[openSUSE]]></category>

		<category><![CDATA[packages]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=227</guid>
		<description><![CDATA[
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&#160;-e&#160;prj&#160;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:

&#60;project name="home:m4r3k"&#62;
 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.m4r3k.org/storage/img/distribucni-novinky-opensuse-logo.png" class="ikonka" alt="opensuse logo"></p>
<p>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>
<p><span id="more-227"></span><br />
<!--adsense--></p>
<h4>Přidáváme repozitáře, pro které chceme balíček sestavit</h4>
<p>Přidáme si tedy repozitáře, pro které chceme balíček sestavit. To můžeme udělat například pomocí <code>osc&nbsp;-e&nbsp;prj&nbsp;home:m4r3k</code>, přičemž se nám opět spustí <code>$EDITOR</code>. Do něj pak napíšeme kód podobný tomu následujícímu:</p>
<pre class="kod">
&lt;project name="home:m4r3k"&gt;
  &lt;title&gt;m4r3k's Home Project&lt;/title&gt;
  &lt;description&gt;My packages :-).&lt;/description&gt;
  &lt;person role="maintainer" userid="m4r3k"/&gt;

  &lt;repository name="openSUSE_10.3"&gt;
    &lt;path project="openSUSE:10.3" repository="standard"/&gt;
    &lt;arch&gt;i586&lt;/arch&gt;
    &lt;arch&gt;x86_64&lt;/arch&gt;
  &lt;/repository&gt;

&lt;/project&gt;
</pre>
<p>Jak vidíte, tento soubor má poměrně složitou syntaxi (alespoň já si ji ne a ne zapamatovat&nbsp;:-)&#41;, naštěstí se však repozitáře dají přidat i pomocí webového rozhraní. Přihlásíme se tedy na <a href="https://build.opensuse.org/" onclick="javascript:urchinTracker ('/outbound/article/build.opensuse.org');">build.opensuse.org</a>, v našem domovském projektu klikneme na tlačítko <strong>Add Repository</strong> a vybereme si některý z repozítářů, pro které chceme sestavovat. V našem příkladu se jedná o repozitáře <strong>openSUSE&nbsp;10.3</strong>, <strong>Fedora&nbsp;8</strong> a <strong>Mandriva&nbsp;2008</strong>.</p>
<p align="center"><img src="http://www.abclinuxu.cz/images/clanky/stopka/opensuse-buildservice-pridani-repository-webrozhrani.png" width="494" height="264" alt="opensuse buildservice - Webové rozhraní pro přídávání repozitářů"></p>
<p>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 <code>osc&nbsp;buildlog&nbsp;<i>distribuce</i>&nbsp;<i>architektura</i></code>, například tedy:</p>
<p><code class="kod">osc buildlog openSUSE_10.3 i586</code></p>
<p>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 <code>/etc/</code> s příslušným jménem. To si můžeme zkontrolovat tak, že si sestavené balíčky stáhneme a pomocí <code>rpm&nbsp;-qlp&nbsp;<i>balíček.rpm</i></code> necháme vypsat jejich obsah.</p>
<pre class="kod">
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
---
</pre>
<h4>Poněkud pokročilejší podmínky</h4>
<p>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:</p>
<pre class="kod">
%if 0%{?suse_version} &gt; 1020
	%patch0
%endif</pre>
<h5>Tabulka proměnných pro jednotlivé distribuce</h5>
<table align="center" cellpadding="4" cellspacing="0">
<tbody>
<tr>
<th> Distribution         </th>
<th> Variable                          </th>
</tr>
<tr>
<td> openSUSE Factory     </td>
<td> %if 0%{?suse_version} == 1031     </td>
</tr>
<tr>
<td> openSUSE 10.3        </td>
<td> %if 0%{?suse_version} == 1030     </td>
</tr>
<tr>
<td> openSUSE 10.2        </td>
<td> %if 0%{?suse_version} == 1020     </td>
</tr>
<tr>
<td> SUSE Linux 10.1      </td>
<td> %if 0%{?suse_version} == 1010     </td>
</tr>
<tr>
<td> SLE{S,D} 10          </td>
<td> %if 0%{?sles_version} == 10       </td>
</tr>
<tr>
<td> SUSE Linux 10.0      </td>
<td> %if 0%{?suse_version} == 1000     </td>
</tr>
<tr>
<td> SUSE Linux 9.3       </td>
<td> %if 0%{?suse_version} ==  930     </td>
</tr>
<tr>
<td> SLES 9               </td>
<td> %if 0%{?sles_version} == 9        </td>
</tr>
<tr>
<td> CentOS 5             </td>
<td> %if 0%{?centos_version} == 501    </td>
</tr>
<tr>
<td> RHEL 5               </td>
<td> %if 0%{?rhel_version} == 501      </td>
</tr>
<tr>
<td> Fedora 8             </td>
<td> %if 0%{?fedora_version} == 8      </td>
</tr>
<tr>
<td> Fedora 7             </td>
<td> %if 0%{?fedora_version} == 7      </td>
</tr>
<tr>
<td> Fedora 6 with Extras </td>
<td> %if 0%{?fedora_version} == 6      </td>
</tr>
<tr>
<td> Fedora 5 with Extras </td>
<td> %if 0%{?fedora_version} == 5      </td>
</tr>
<tr>
<td> Fedora 4 with Extras </td>
<td> %if 0%{?fedora_version} == 4      </td>
</tr>
<tr>
<td> Mandriva 2008        </td>
<td> %if 0%{?mandriva_version} == 2008 </td>
</tr>
<tr>
<td> Mandriva 2007        </td>
<td> %if 0%{?mandriva_version} == 2007 </td>
</tr>
<tr>
<td> Mandriva 2006        </td>
<td> %if 0%{?mandriva_version} == 2006 </td>
</tr>
</tbody>
</table>
<p>Tabulka převzata, upravena a aktualizována z <a href="http://en.opensuse.org/Build_Service/cross_distribution_package_how_to#Detect_a_distribution_flavor_for_special_code" onclick="javascript:urchinTracker ('/outbound/article/en.opensuse.org');">en.opensuse.org</a>.</p>
<p>Porovnávací operátory nejsou samozřejmě omezeny jen na operátor ekvivalence (<code>==</code>), ale také jsou k dispozici operátory menší než (<code>&lt;</code>) a větší než (<code>&gt;</code>). Tyto operátory můžeme také skládat a sestavit tak operátor větší nebo rovno (<code>&gt;=</code>), případně menší nebo rovno <code>=&lt;</code>). Stejně tak můžeme také kombinovat jednotlivé podmínky a sestavit například následující konstrukci:</p>
<pre class="kod">
%if 0%{?suse_version} || 0%{?sles_version}
 %patch1 -p1
%endif</pre>
<p>Která provede makro <code>%patch</code> 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:</p>
<pre class="kod">
%if 0%{?suse_version} == 1030
%ifarch x86_64
 %patch1
%endif
%endif</pre>
<p>Makro <code>%patch1</code> bude provedeno, jen když je balíček sestavován pro openSUSE verze 10.3 a cílová architektura je x86_64.</p>
<h4>Kde sehnat závislosti?!</h4>
<p>Č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 <code>BuildRequires</code> nebo do <code>Requires</code>. 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 <code>osc&nbsp;copypac</code>, který má následující syntaxi:</p>
<pre class="kod">

osc copypac home:jiny-balikar cool-balicek home:m4r3k cool-balicek</pre>
<p>Což vytvoří identickou kopii balíčku u vás v <code>home:m4r3k</code>. 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 <code>osc&nbsp;linkpac</code>, 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 <code>.spec</code> soubor, aniž by se muselo udržovat několik kopií tarové koule se zdrojovými kódy.</p>
<pre class="kod">
osc linkpac home:jiny-balikar cool-balicek home:m4r3k cool-balicek</pre>
<p>Vlastní <code>.spec</code> soubor vnutíte projektu tak, že si aktualizujete svou lokální kopii repozitáře pomocí příkazu <code>osc&nbsp;up</code> a přepnete se do adresáře s balíčkem (<code>cd&nbsp;cool-balicek</code>). Pak si vytvoříte třeba soubor <code>cool-balicek.spec</code> a v něm vlastní obsah. Častěji však využijete už hotový <code>.spec</code> soubor a jen si jej upravíte k obrazu svému. Stažení originálního souboru lze provést pomocí:</p>
<p><code class="kod">osc co home:jiny-balikar cool-balicek cool-balicek.spec</code></p>
<p>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í <code>osc&nbsp;add&nbsp;cool-balicek.spec</code> a výsledek pošleme na server pomocí <code>osc&nbsp;commit</code>. 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 <code>osc&nbsp;aggregatepac</code>, 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ů.</p>
<pre class="kod">
osc aggregatepac home:jiny-balikar cool-balicek home:m4r3k cool-balicek
</pre>
<p>Stejně jakou u předchozích dvou příkazů, je i u tohoto příkazu poslední parametr <code>cool-balicek</code> nepovinný a v případě, že jej nepoužijete, tak se použije název stejný jako u zdrojového balíčku.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/opensuse-build-service-obs-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>python-qt4 je vybuilděný bez podpory libQtWebKit &#8212; nejede jabbim-svn</title>
		<link>http://www.m4r3k.org/czech/python-qt4-je-vybuildeny-bez-podpory-libqtwebkit-nejede-jabbim-svn/</link>
		<comments>http://www.m4r3k.org/czech/python-qt4-je-vybuildeny-bez-podpory-libqtwebkit-nejede-jabbim-svn/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 21:52:12 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[openSUSE]]></category>

		<category><![CDATA[packages]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=223</guid>
		<description><![CDATA[Pokud zkoušíte nejnovější SVN verze Jabber klienta Jabbim, možná jste v openSUSE 11.0 narazili na problém, že se vám klient nechtěl spustit a zahlásil chybu:

PyQt4 is not installed.
Traceback (most recent call last):
  File "jabbim.py", line 65, in 
    import widgets
  File "/home/marek/Files/prace/packman/jabbim-svn/jabbim-svn/widgets/__init__.py", line 7, in 
    import [...]]]></description>
			<content:encoded><![CDATA[<p>Pokud zkoušíte <a href="http://dev.jabbim.cz/jabbim" onclick="javascript:urchinTracker ('/outbound/article/dev.jabbim.cz');">nejnovější SVN verze Jabber klienta Jabbim</a>, možná jste v <a href="http://software.opensuse.org/" onclick="javascript:urchinTracker ('/outbound/article/software.opensuse.org');">openSUSE 11.0</a> narazili na problém, že se vám klient nechtěl spustit a zahlásil chybu:</p>
<pre>
PyQt4 is not installed.
Traceback (most recent call last):
  File "jabbim.py", line 65, in <module>
    import widgets
  File "/home/marek/Files/prace/packman/jabbim-svn/jabbim-svn/widgets/__init__.py", line 7, in <module>
    import preferences
  File "/home/marek/Files/prace/packman/jabbim-svn/jabbim-svn/widgets/preferences.py", line 24, in <module>
    from preferences_ui import *
  File "/home/marek/Files/prace/packman/jabbim-svn/jabbim-svn/widgets/preferences_ui.py", line 439, in <module>
    from PyQt4 import QtWebKit
ImportError: cannot import name QtWebKit
</pre>
<p>Je to způsobeno tím, že v python-qt4 z openSUSE 11.0 není podpora pro WebKit z Qt 4.4, můžete to napravit tak, že nainstalujete třeba můj opravený balíček. Pomocí příkazu <code>zypper install http://www.m4r3k.org/storage/python-qt4-4.4.2-3.i586.rpm</code>. Vytvořil jsem také <a href="https://bugzilla.novell.com/show_bug.cgi?id=402524" onclick="javascript:urchinTracker ('/outbound/article/bugzilla.novell.com');">bugreport v Novell bugzille</a>, pokud chcete sledovat průběh řešení <a href="https://bugzilla.novell.com/show_bug.cgi?id=402524" onclick="javascript:urchinTracker ('/outbound/article/bugzilla.novell.com');">této chyby</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/python-qt4-je-vybuildeny-bez-podpory-libqtwebkit-nejede-jabbim-svn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aktualizace openSUSE 10.3 -&gt; openSUSE 11.0 z běžícího systému</title>
		<link>http://www.m4r3k.org/czech/aktualizace-opensuse-103-opensuse-110-z-beziciho-systemu/</link>
		<comments>http://www.m4r3k.org/czech/aktualizace-opensuse-103-opensuse-110-z-beziciho-systemu/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 20:35:22 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[czech]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=222</guid>
		<description><![CDATA[
Včera vyšlo openSUSE 11.0 (recenze). Rozhodl jsem se tak, že by bylo dobré zaktualizovat na tuto verzi i desktop regnis.m4r3k.org, nechtělo se mi však stahovat instalační DVD, ze kterého bych provedl cold upgrade. Inu řekl jsem si, že vyzkouším aktualizaci z již běžícího openSUSE 10.3, vybaven potřebnými teoretickými znalostmi jsem usoudil, že základním krokem bude [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.m4r3k.org/storage/img/distribucni-novinky-opensuse-logo.png" class="ikonka" alt="opensuse logo"></p>
<p><a href="http://www.m4r3k.org/czech/opensuse-110-je-venku-stahujte-instalujte-uzivejte/" >Včera vyšlo openSUSE 11.0</a> (<a href="http://www.abclinuxu.cz/clanky/recenze/opensuse-11.0" onclick="javascript:urchinTracker ('/outbound/article/www.abclinuxu.cz');">recenze</a>). Rozhodl jsem se tak, že by bylo dobré zaktualizovat na tuto verzi i desktop <a href="ssh://regnis.m4r3k.org/" >regnis.m4r3k.org</a>, nechtělo se mi však stahovat instalační DVD, ze kterého bych provedl cold upgrade. Inu řekl jsem si, že vyzkouším aktualizaci z již běžícího openSUSE 10.3, vybaven potřebnými teoretickými znalostmi jsem usoudil, že základním krokem bude aktualizace balíčku obsahujícího program <code>rpm</code> (to kvůli LZMA kompresi, která je v 11.0 balíčcích jako výchozí). Stáhl jsem si tak <a href="http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/rpm-4.4.2-199.1.i586.rpm" onclick="javascript:urchinTracker ('/outbound/article/download.opensuse.org');">binárku z openSUSE 11.0</a> a příkazem <code>rpm -U rpm-4.4.2-199.1.i586.rpm</code> jsem provedl aktualizaci balíčku.</p>
<p><span id="more-222"></span></p>
<p>Poté jsem odstranil všechny openSUSE 10.3 repozitáře a na jejich místo jsem <a href="http://www.m4r3k.org/storage/uploads/openSUSE-11.0-repos.tar" >dal repozitáře pro 11.0</a> (ve skutečnosti i nějaké Factory). Poté jsem pomocí příkazu <code>zypper in zypper</code> nahodil nejnovější verzi zypperu, abych měl k dispozici zámky a volbu <code>dup</code>. Pomocí příkazu <code>zypper remove *kde4*</code> jsem odstranil experimentální KDE4 balíky, které jsem měl od předchozí instalace, pomocí <code>touch /etc/zypp/locks; zypper addlock *kde4*</code> jsem tyto balíčky uzamknul v jejich stavu (není nainstalován) a pustil se do skutečné aktualizace pomocí příkazu <code>zypper dup</code>.</p>
<p>Jakmile jsem odsouhlasil licence, tak se spustila aktualizace. Jakmile po nějaké době doběhla, tak jsem se pustil do rebootu. Poprvé systém nenabootoval, protože jsem měl blbě nastavený GRUB, což bylo asi způsobeno mými ručními zásahy v tomto souboru, které YaST (nebo co se to stará o konfiguraci zavaděče po aktualizaci jádra) nepobral, nicméně jakmile jsem opravil zavaděč (interaktivní GRUB rulez :-) ) tak mi nabootovalo nové openSUSE. :-)</p>
<p>Pokud je zde nějaký dobrodruh, který by chtěl také provádět aktualizaci za běhu, tak bych si dovolil upozornit, že se jedná o NEPODPOROVANÝ a NE MOC TESTOVANÝ způsob aktualizace.</p>
<h2>Přibližný seznam změn v systému</h2>
<pre>
The following packages are going to be upgraded:
  rubygem-activerecord-2_0 rubygem-activesupport-2_0 rubygem-actionmailer-2_0
rubygem-rails-2_0 rubygem-activeresource-2_0 osc rubygem-actionpack-2_0 yabsc
rubygem-rake rubygems obs-worker flash-player gst-fluendo-mp3 java-1_5_0-sun
java-1_5_0-sun-plugin 3ddiag 915resolution bash-doc Mesa-devel FastCGI ConsoleKit
DirectFB libreadline5 libwavpack1 MPlayer k3b libgpod3 kaffeine libgpod2 k3b-codecs
libtunepimp libtunepimp5 libtunepimp5-mad libtunepimp5-mp4 k3b-lang amarok
amarok-libvisual amarok-lang amarok-xine amarok-yauap kaffeine-lang libxine1
ImageMagick LibVNCServer Mesa MozillaFirefox-translations MozillaFirefox
NetworkManager NetworkManager-kde OpenEXR OpenOffice_org
OpenOffice_org-Quickstarter OpenOffice_org-calc OpenOffice_org-draw
OpenOffice_org-base apparmor-parser alsa-utils OpenOffice_org-filters
OpenOffice_org-impress OpenOffice_org-kde OpenOffice_org-mailmerge
OpenOffice_org-math OpenOffice_org-pyuno OpenOffice_org-writer PolicyKit SDL
SDL_mixer a2ps aaa_base aalib acl acpid alsa alsa-oss alsa-plugins arts aspell aspell-cs
aspell-en atk atk-devel audit attr audiofile audit-libs autoconf autofs automake avahi
bash bc bin86 bind-libs bind-utils binutils blas bison blktrace blt bluez-libs bluez-utils
bootsplash boost boost-devel boost-doc boost-jam bzip2 cabextract cairo cairo-devel
cairomm cdparanoia cdrdao cdrkit-cdrtools-compat check chmlib clucene-core
compat-libstdc++ compiz compiz-kde coreutils cpio cpp cracklib cracklib-dict-small cron
cryptsetup cups cups-client cyrus-sasl-devel cups-libs curl cvs cyrus-sasl
cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-plain cyrus-sasl-saslauthd
db-utils dbus-1 dbus-1-glib dbus-1-python dbus-1-qt3 dbus-1-x11 dcraw ddd deltarpm
desktop-file-utils device-mapper dhcp dhcp-client dhcpcd dialog diffutils digikam
digikamimageplugins digikam-lang dirmngr dmraid dosfstools dvd+rw-tools e2fsprogs ed
eject enchant enscript esound ethtool fileshareset expat fam fdupes file filesystem fillup
findutils flac flex fontconfig fontconfig-devel foomatic-filters freeglut freetype2
freetype2-devel fribidi fvwm2 gail gawk gcc gcc-c++ gcc-gij gcc-info gdb gconf2 gd gdbm
gdbm-devel genisoimage ghostscript-fonts-std ghostscript-library ghostscript-x11
giflib gimp glib2-devel glib-sharp2 glib2 glibc-info glibc-locale glibc-i18ndata
glibmm2 glitz glitz-devel gmime gmime-sharp gmp gmp-devel gnome-keyring gnome-vfs2
gnuplot gnutls gpart gperf gpg2 gpgme gpm grep groff grub gsf-sharp gtk-sharp2 gtk2
gtk2-devel gtkmm2 gwenview gzip hal hal-palm hal-resmgr hdparm hplip-hpijs htop hwinfo
icedax id3lib ifplugd iftop imlib2 imlib2-loaders info inkscape inkscape-lang insserv
iproute2 iptables iputils irqbalance ispell ispell-american ispell-czech
jpackage-utils jpeg kbd kcm_gtk kdeaddons3-konqueror kdeartwork3-kscreensaver
kdebase3 kdebase3-SuSE kdebase3-kdm kdebase3-nsplugin kdebase3-samba
kdebase3-session kdebluetooth kdegraphics3 kdegraphics3-kamera kdegraphics3-pdf
kdegraphics3-postscript kdegraphics3-tex kdelibs3 kdelibs3-doc
kdelibs3-default-style kdemultimedia3 kdemultimedia3-CD kdemultimedia3-mixer
kdemultimedia3-sound kdenetwork3 kdenetwork3-InstantMessenger kdenetwork3-news
kdepim3 kdepim3-kpilot kdepim3-notes kdetv kdeutils3 kernel-default kernel-source
keyutils-libs kile kio_ipodslave kio_iso kio_slp kio_sysinfo kipi-plugins kitchensync
klogd konversation kpartx kpowersave krb5 krecord ktorrent kwin-decor-suse2 lbreakout
ldapcpplib less libEMF libFLAC++6 libFLAC8 libacl libaio libaio-devel libakode libao
libapparmor1 libapr-util1 libapr1 libattr libasound2 libart_lgpl libart_lgpl-devel
libblkid1 libblas3 libbonobo libbonoboui libbz2-1 libcdio7 libcom_err2 libcroco
libcurl4 libdb-4_5 libdb-4_5-devel libdc1394 libdc1394_control12 libdjvulibre15
libdrm libdv4 libdvdread3 libelf0 libevent libexpat-devel libexif libexpat1 libext2fs2
libfuse2 libgcj-devel libgimpprint libglade2 libgnome libgnomecanvas libgnomecups
libgnomeprint libgnomeprintui libgnomesu libgnomeui libgpgme11 libgphoto2 libgsf
libgtkhtml libicu libidl libidn libieee1284 libiso9660-5 libjasper libjpeg libkdcraw3
libksba libltdl-3 libmal libmikmod libmng libmpcdec5 libmtp7 libmusicbrainz4
libmysqlclient15 libnetpbm10 libnjb libnl libnscd liboil libopenct1 libopensc2
libopenssl-devel libopenssl0_9_8 libopensync libpcap libpisock9 libpng-devel libqca2
libqimageblitz4 libraptor1 librasqal0 libraw1394-8 libredland0 librpcsecgss librsvg
libsamplerate libsigc++2 libsmbios-libs libsndfile libsnmp15 libsoprano4 libspeex
libstrigi0 libstdc++-devel libstroke libtheora0 libthinkfinger libtiff3 libtool libusb
libuuid1 libvisual libvisual-plugins libvolume_id libvorbis libwmf libx86 libxcrypt
libxklavier libxml2 libxml2-python libxslt libzio libzypp lighttpd lighttpd-mod_magnet
lilo limal limal-perl linux-atm-lib lirc logrotate ltrace lukemftp lvm2 lzma lzo m4 mc-lang
mailx make man master-boot-code mc mdadm meanwhile microcode_ctl mingetty mkinitrd
module-init-tools mono-core mono-data mono-data-sqlite mono-web mono-winforms
mozilla-nspr mozilla-nss mysql mysql-client ncurses-devel neon net-tools netcat netpbm
nfsidmap nmap nfs-client nscd nspluginwrapper nss-mdns ntfs-3g ntfsprogs numlockx
obexftp openSUSE-release openct openldap2-client openldap2-devel openmotif-libs
openmotif22-libs openobex opensc openslp openssh openssh-askpass openssl openssl-certs
orbit2 pam pango pam-config pam-devel pam-modules pango-devel parted patch pciutils pcre
pcre-devel pcsc-lite perl perl-Bootloader perl-Config-Crontab perl-Crypt-SSLeay
perl-Crypt-SmbHash perl-DBD-SQLite perl-DBI perl-Digest-SHA1 perl-Digest-HMAC
perl-Digest-MD4 perl-File-Tail perl-HTML-Parser perl-HTML-Tagset perl-IO-Socket-SSL
perl-Net-DNS perl-Net-Daemon perl-Net-IP perl-Net_SSLeay perl-Parse-RecDescent
perl-PlRPC perl-RPC-XML perl-Socket-MsgHdr perl-TermReadKey perl-TimeDate perl-Tk
perl-URI perl-X500-DN perl-XML-Bare perl-XML-Parser perl-XML-XPath perl-XML-Writer
perl-base perl-gettext perl-libapparmor perl-libwww-perl perl-spamassassin
permissions pinentry pkg-config pinentry-qt plotutils pm-utils pmtools portmap popt
portaudio posix_cc postfix postgresql-libs powersave powersave-libs ppp pptp preload
procps psmisc pstoedit pth pwdutils python python-cairo python-gobject2 python-gtk
python-imaging python-numeric python-qt4 python-sip python-tk python-urlgrabber
python-xml pyxml qca qt3 qtcurve-gtk2 qtcurve-kde rcs rdesktop recode reiserfs resmgr
rpm-python rrdtool ruby-devel rsync ruby ruby-fcgi ruby-mysql sane-backends sax2
sax2-gui sax2-ident sax2-libsax sax2-libsax-perl sax2-tools scpm screen sed sensors
setserial shared-mime-info skencil slang smartmontools snmp-mibs soprano spamassassin
speex splashy sqlite2 startup-notification strace strigi subversion sudo suspend
syslog-ng swig sysvinit t1lib tack taglib tar tcl tcpd tcsh texinfo texlive-bin sysconfig
sysfsutils tightvnc timezone tix tk transfig udev ufraw ufraw-gimp unzip utempter
util-linux v4l-conf valgrind vcdimager vim vim-base vim-data vlna vorbis-tools w3m wdiff
wget wine wodim wpa_supplicant wv wvdial wvstreams wxGTK x11-input-synaptics x11-tools
xaw3d xdg-menu xfig xgl xinetd xli xorg-x11 xorg-x11-driver-video xorg-x11-driver-input
xorg-x11-Xvnc xorg-x11-devel xorg-x11-fonts-devel xorg-x11-libICE
xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libSM xorg-x11-libX11-ccache
xorg-x11-libX11 xorg-x11-libX11-devel xorg-x11-libXau xorg-x11-libXau-devel
xorg-x11-libXdmcp xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXext
xorg-x11-libXfixes xorg-x11-libXmu xorg-x11-libXfixes-devel xorg-x11-libXmu-devel
xorg-x11-libXp xorg-x11-libXp-devel xorg-x11-libXpm xorg-x11-libXpm-devel
xorg-x11-libXprintUtil xorg-x11-libXprintUtil-devel xorg-x11-libXrender
xorg-x11-libXrender-devel xorg-x11-libXt xorg-x11-libXt-devel xorg-x11-libXv
xorg-x11-libXv-devel xorg-x11-libfontenc xorg-x11-libfontenc-devel xorg-x11-libs
xorg-x11-libxcb xorg-x11-libxcb-devel xorg-x11-libxkbfile
xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-server
xorg-x11-server-extra xorg-x11-util-devel xorg-x11-xtrans-devel xpdf-tools xterm
yast2 yast2-bootloader yast2-control-center yast2-control-center-qt yast2-core
yast2-country yast2-fingerprint-reader yast2-hardware-detection yast2-ldap
yast2-mouse yast2-ncurses yast2-network yast2-nis-client yast2-packager
yast2-perl-bindings yast2-profile-manager yast2-pkg-bindings yast2-printer yast2-qt
yast2-slp yast2-sound yast2-storage yast2-storage-lib yast2-transfer yast2-tune
yast2-update yast2-users yast2-xml yauap yp-tools ypbind yum-metadata-parser
zisofs-tools zlib zlib-devel zvbi zypper glibc glibc-devel OpenOffice_org-cs
OpenOffice_org-hyphen OpenOffice_org-icon-themes
OpenOffice_org-templates-labels-letter OpenOffice_org-templates-labels-a4
OpenOffice_org-templates-presentation-layouts OpenOffice_org-thesaurus-cs
OpenOffice_org-thesaurus-en SuSEfirewall2 apparmor-profiles apparmor-utils
autoyast2 autoyast2-installation build bundle-lang-common-cs bundle-lang-common-en
bundle-lang-kde-cs bundle-lang-kde-en createrepo dejavu fonts-config
gnome-icon-theme hicolor-icon-theme ifnteuro info2html inst-source-utils
kde3-i18n-cs licenses linux-kernel-headers man-pages-cs myspell-american
myspell-czech netcfg opensuse-codecs-installer pciutils-ids sgml-skel siga
suse-build-key suseRegister susehelp susehelp_cz susehelp_en texlive ulimit
update-alternatives words xalan-j2 xdg-utils xerces-j2 xerces-j2-xml-apis
xgl-hardware-list xkeyboard-config xorg-x11-fonts xorg-x11-fonts-core yast2-add-on
yast2-apparmor yast2-backup yast2-firewall yast2-inetd yast2-installation yast2-irda
yast2-iscsi-client yast2-kerberos-client yast2-ldap-client yast2-mail
yast2-metapackage-handler yast2-nfs-client yast2-ntp-client yast2-online-update
yast2-pam yast2-online-update-frontend yast2-runlevel yast2-registration
yast2-repair yast2-restore yast2-samba-client yast2-samba-server yast2-schema
yast2-security yast2-support yast2-sudo yast2-sysconfig yast2-theme-openSUSE
yast2-trans-cs yast2-trans-stats yast2-tv yast2-x11

The following packages are going to be downgraded:
  kde4-gwenview kde4-kio_sysinfo kde4-kmahjongg kde4-kmines kde4-kmix kde4-kpat
kde4-kreversi kde4-ksudoku kde4-okular kdebase4 kdebase4-runtime kdebase4-workspace
kdegames4 kdelibs4 kdepimlibs4 libakonadi4 libkdegames4 libkdepimlibs4

The following NEW packages are going to be installed:
  readline-doc IlmBase NetworkManager-glib PolicyKit-doc bootsplash-branding-openSUSE
checkmedia cpp43 digikamimageplugins-superimpose extragear-plasma fbset ft2demos fuse
gcc43 gcc43-c++ gcc43-gij gcc43-info ggz ggz-client-libs ghostscript-fonts-other
ghostscript-omni gimp-plugins-python gimp-branding-upstream gtk2-branding-upstream
gvfs gvfs-backends gvfs-fuse gwenview-lang hunspell-tools hunspell icewm icewm-lite
kdebase3-SuSE-branding-upstream kdebase3-SuSE-lang kdebase3-runtime
kdebase4-workspace-plasmoids kdebase4-workspace-ksysguardd
kdebase4-workspace-branding-openSUSE lcms libMagick++1 libMagickCore1
libMagickWand1 libarchive2 libatk-1_0-0 libavahi-client3 libavahi-common3
libavahi-core5 libavahi-glib1 libblocxx6 libcap2 libcdio_cdda0 libcdio_paranoia0
libcroco-0_6-3 libdbus-1-qt3-0 libdc1394-22 libdns_sd libenchant1 libesd0 libexiv2-2
libgcc43 libgcj43 libgcj43-jar libgcj_bc43 libgcj43-devel libgdiplus0 libgfortran43
libggz2 libgio-2_0-0 libgio-fam libglib-2_0-0 libgluezilla0 libgmime-2_0-3
libgmodule-2_0-0 libgnomesu0 libgnutls-extra26 libgnutls26 libgomp43
libgobject-2_0-0 libgssglue1 libgsf-1-114 libgthread-2_0-0 libgtkimageview0
libgvfscommon0 libktnef1 libkcal libkcal2 libkmime2 liblcms1 liblzmadec0 libmpfr1
libmudflap43 libncurses5 libneon27 libnjb5 libpng12-0 libpoppler-glib3 libpoppler-qt2
libreiserfs libsensors3 libsensors4 libsmbclient0 libsoup libsoup-2_4-1 libstdc++43
libstdc++43-devel libtalloc1 libtasn1 libtasn1-3 libtdb1 libwbclient0 libwpd-0_8-8
libwpg-0_1-1 libwps-0_1-1 libxklavier12 login misc-console-font mozilla-xulrunner190
mozilla-xulrunner190-gnomevfs mozilla-xulrunner190-translations ncurses-utils
obex-data-server perl-XML-Simple perl-doc python-lxml sane-backends-autoconfig
satsolver-tools terminfo-base texlive-bin-latex uuid-runtime
xorg-x11-driver-video-radeonhd xorg-x11-driver-video-unichrome yast2-country-data
yast2-libyui yast2-ncurses-pkg yast2-qt-pkg yast2-ycp-ui-bindings
OpenOffice_org-branding-openSUSE bundle-lang-gnome-cs desktop-data-openSUSE
glib2-branding-openSUSE plasma-theme-aya texlive-latex

The following packages are going to be REMOVED:
  ncurses perl-IO-Compress-Zlib CheckHardware liby2util libmudflap42 kde4-krfb
kde4-kgpg kde4-konqueror kde4-kdessh perl-Compress-Zlib nvidia-gfxG01-kmp-default
libpng R-base kde4-kfloppy kde4-keditbookmarks kde4-konsole mktemp libstdc++42 blocxx
perl-IO-Compress-Base kde4-krdc perl-IO-Zlib kde4-kopete libgcj_bc42 kde4-kcalc
R-R2HTML kde4-ksnapshot kde4-kwikdisk kde4-kdialog kde4-kate curl-ca-bundle libgcc42
libgdiplus perl-Compress-Raw-Zlib bootsplash-theme-SuSE dhcdbd
avahi-compat-mDNSResponder libsmbclient kdebase3-ksysguardd kde4-kget
kdenetwork4-filesharing kde4-kwrite libgomp42 poppler-qt kde4-kweather kde4-kdf
kde4-kwalletmanager kde4-dolphin kde4-knewsticker perl-Archive-Tar avahi-glib
liblcms x11-video-nvidiaG01 kde4-kfind kde4-kmag kde4-kdepasswd aaa_skel
desktop-data-SuSE libMagick++10 avahi-qt3 kde4-kruler

The following product is going to be REMOVED:
  openSUSE
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/czech/aktualizace-opensuse-103-opensuse-110-z-beziciho-systemu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SUSE - secondary the most used distribution in year 2008</title>
		<link>http://www.m4r3k.org/english/opensuse-linux/suse-secondary-the-most-used-distribution-in-year-2008/</link>
		<comments>http://www.m4r3k.org/english/opensuse-linux/suse-secondary-the-most-used-distribution-in-year-2008/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 06:43:34 +0000</pubDate>
		<dc:creator>m4r3k</dc:creator>
		
		<category><![CDATA[openSUSE Linux]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[openSUSE]]></category>

		<guid isPermaLink="false">http://www.m4r3k.org/?p=220</guid>
		<description><![CDATA[In Czech republic, we have Linux related website named ABCLinuxu. Every year they bring to other public inquiry for the most used distribution in Czech/Slovak republic. This year SUSE get 2nd position in this public inquiry in category Desktop with 16,71 % concern. At the first position is Ubuntu with 44,26 % concern. I still [...]]]></description>
			<content:encoded><![CDATA[<p>In Czech republic, we have Linux related website named ABCLinuxu. Every year they bring to other public inquiry for the most used distribution in Czech/Slovak republic. This year <a href="http://software.opensuse.org" onclick="javascript:urchinTracker ('/outbound/article/software.opensuse.org');">SUSE</a> get 2nd position in this public inquiry in category Desktop with 16,71 % concern. At the first position is Ubuntu with 44,26 % concern. I still hope, we will have first position in next year 2009. <a href="http://software.opensuse.org" onclick="javascript:urchinTracker ('/outbound/article/software.opensuse.org');">SUSE</a> (SLE) have 2nd position in Enterprise category as well with 44,65 % concern. First position have RHEL with 46,15 % concern. Only 1,5% is missing for first position.</p>
<p align="center">
<img src="http://www.abclinuxu.cz/images/clanky/redakce/nej-distra08-desktop.png" alt="Results" /><br/><br />
Results for desktops<br/><br />
<img src="http://www.abclinuxu.cz/images/clanky/redakce/nej-distra08-server.png" alt="Results" /><br/><br />
Results for servers
</p>
<p>I think, this is good message for all community members and developers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.m4r3k.org/english/opensuse-linux/suse-secondary-the-most-used-distribution-in-year-2008/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
