<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Into.the.Void. &#187; Gentoo</title>
	<atom:link href="http://www.void.gr/kargig/blog/category/linux/gentoo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.void.gr/kargig/blog</link>
	<description>Into The Void</description>
	<lastBuildDate>Tue, 20 Jul 2010 11:16:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>minor uniformity patch for smplayer</title>
		<link>http://www.void.gr/kargig/blog/2009/08/13/minor-uniformity-patch-for-smplayer/</link>
		<comments>http://www.void.gr/kargig/blog/2009/08/13/minor-uniformity-patch-for-smplayer/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 13:19:14 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bugfix]]></category>
		<category><![CDATA[ebuild]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[media player]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[smplayer]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=701</guid>
		<description><![CDATA[One of the things that good Linux applications should have is uniformity. Just like Mac OS X does. All applications should use the same keybindings to perform the same tasks. For example, on _every_ OS X application, in order to quit it you have to press &#8220;CMD+Q&#8221;, it&#8217;s that simple and everybody follows it. Everybody. [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things that good Linux applications should have is uniformity. Just like Mac OS X does. All applications should use the same keybindings to perform the same tasks. For example, on _every_ OS X application, in order to quit it you have to press &#8220;CMD+Q&#8221;, it&#8217;s that simple and everybody follows it. Everybody. On Linux though there are some applications that simply don&#8217;t care about uniformity. One of these applications is <a href="http://smplayer.sourceforge.net/">smplayer</a>.</p>
<p>While it is almost standard for Linux applications to quit using Ctrl+Q, smplayer simply doesn&#8217;t have this option. It has the option of closing the current video with Ctrl+X but it doesn&#8217;t have the simple option of quitting using a keyboard shortcut.</p>
<p>So, the next (oneliner actually) patch does simply what I described above. It makes smplayer quit using &#8220;Ctrl+Q&#8221;.</p>
<p>The screenshot that shows what the patch does:<br />
<a href="http://www.void.gr/kargig/blog/wp-content/smplayer.jpg"><img class="alignnone size-medium wp-image-704" title="smplayer" src="http://www.void.gr/kargig/blog/wp-content/smplayer-300x238.jpg" alt="smplayer" width="300" height="238" /></a></p>
<p><a href="http://www.void.gr/kargig/blog/wp-content/smplayer-0.6.8-quit.patch">smplayer-0.6.8-quit.patch</a>:<br />
<code>--- smplayer-0.6.8/src/baseguiplus.cpp  2009-08-13 16:07:04.000000000 +0300<br />
+++ smplayer-0.6.8/src/baseguiplus.cpp  2009-08-13 16:08:22.000000000 +0300<br />
@@ -67,8 +67,7 @@<br />
tray-&gt;setToolTip( "SMPlayer" );<br />
connect( tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),<br />
this, SLOT(trayIconActivated(QSystemTrayIcon::ActivationReason)));<br />
-<br />
-       quitAct = new MyAction(this, "quit");<br />
+       quitAct = new MyAction(QKeySequence("Ctrl+Q"), this, "quit");<br />
connect( quitAct, SIGNAL(triggered()), this, SLOT(quit()) );<br />
openMenu-&gt;addAction(quitAct);</code></p>
<p>And a patched ebuild for smplayer-0.6.8 to use this minor patch (only one line is added to the ebuild):<br />
<a href="http://www.void.gr/kargig/blog/wp-content/smplayer-0.6.8-r1.ebuild">smplayer-0.6.8-r1.ebuild</a></p>
<p>P.S. Keybindings in smplayer can be set through Preferences, and someone could actually put Ctrl+Q as the quit shortcut but I think that this should be the default setting like most other applications have it. Uniformity matters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/08/13/minor-uniformity-patch-for-smplayer/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Vodafone, Cosmote 3G on Linux (wvdial and umtsmon)</title>
		<link>http://www.void.gr/kargig/blog/2009/07/08/vodafone-cosmote-3g-on-linux-wvdial-and-umtsmon/</link>
		<comments>http://www.void.gr/kargig/blog/2009/07/08/vodafone-cosmote-3g-on-linux-wvdial-and-umtsmon/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 18:38:06 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[cosmote]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[umtsmon]]></category>
		<category><![CDATA[vodafone]]></category>
		<category><![CDATA[wvdial]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=668</guid>
		<description><![CDATA[The following configs can be used when you have either Vodafone Mobile Internet or Cosmote Internet on the Go or both 3G USB sticks and you want to connect to the 3G Internet (in Greece) while using Linux. I&#8217;ll provide two ways to connect to 3G, the command line way using wvdial and the GUI [...]]]></description>
			<content:encoded><![CDATA[<p>The following configs can be used when you have either <a href="http://www.vodafone.gr/portal/client/cms/viewCmsPage.action?pageId=1144">Vodafone Mobile Internet</a> or <a href="http://www.cosmote.gr/cosmote/cosmote.portal?locale=el_GR&#038;_nfpb=true&#038;_pageLabel=L89_contract_plan_index&#038;serviceCategory=InternetOnTheGo&#038;catID=0b0f42bb801f8a75&#038;breadcrumbTitle=COSMOTE+Internet+On+The+Go">Cosmote Internet on the Go</a> or both 3G USB sticks and you want to connect to the 3G Internet (in Greece) while using Linux. I&#8217;ll provide two ways to connect to 3G, the command line way using <a href="http://freshmeat.net/projects/wvdial/">wvdial</a> and the GUI way using <a href="http://umtsmon.sourceforge.net/">umtsmon</a>. </p>
<p><strong>1) Using wvdial</strong><br />
Create /etc/wvdial.conf:<br />
<code><br />
[Dialer Defaults]<br />
New PPPD = yes<br />
Dial Command = ATDT<br />
Dial Attempts = 1<br />
Modem = /dev/ttyUSB0<br />
Modem Type = Analog Modem<br />
ISDN = 0<br />
#commented out see the comments on the post.<br />
#Baud = 460800<br />
Username = user<br />
Password = pass<br />
Init1 = ATZ<br />
Init2 = AT&#038;F E1 V1 X1 &#038;D2 &#038;C1 S<br />
[Dialer cosmote]<br />
Phone = *99#<br />
Stupid Mode = 1<br />
Init3 = AT+CGDCONT=1,"IP","internet"<br />
[Dialer vodafone]<br />
Phone = *99#<br />
Stupid Mode = 1<br />
Init3 = AT+CGDCONT=1,"IP","internet"<br />
[Dialer vfPIN]<br />
Init4 = AT+CPIN=1234<br />
[Dialer cmPIN]<br />
Init4 = AT+CPIN=5678</code></p>
<p><em><strong>WARNING: You HAVE to change the PINs on the last part of the config</strong></em></p>
<p><em>To connect to Cosmote, plug in the usb stick:</em></p>
<blockquote><p># wvdial cmPIN<br />
# wvdial cosmote
</p></blockquote>
<p><em>To connect to Vodafone, plug in the usb stick:</em></p>
<blockquote><p># wvdial vfPIN<br />
# wvdial vodafone</p></blockquote>
<p><strong>2) Using umtsmon</strong><br />
Connection->Manage Profiles and create the necessary profiles with settings that look like these:<br />
<a href="http://www.void.gr/kargig/blog/wp-content/umtsmon.jpg"><img src="http://www.void.gr/kargig/blog/wp-content/umtsmon-219x300.jpg" alt="umtsmon" title="umtsmon" width="219" height="300" class="alignnone size-medium wp-image-673" /></a><br />
Username and Password does not really matter. Enter something like User/Pass or Username/Password.</p>
<p>Both versions tested on Debian and Gentoo and they are working just fine.</p>
<p><em>If someone has the <a href="http://www.wind.com.gr/pages.fds?pageID=1441&#038;langID=1">Wind ADSM</a> settings please provide them as a comment so I can complete the post with all three Greek 3G providers.</em></p>
<p>References: <a href="http://www.shapeshifter.se/2008/04/30/list-of-at-commands/">List of AT commands</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/07/08/vodafone-cosmote-3g-on-linux-wvdial-and-umtsmon/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>nicotine+ 1.2.12 ebuild</title>
		<link>http://www.void.gr/kargig/blog/2009/06/30/nicotine-1-2-12-ebuild/</link>
		<comments>http://www.void.gr/kargig/blog/2009/06/30/nicotine-1-2-12-ebuild/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 07:03:22 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ebuild]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[nicotine]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[soulseek]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=656</guid>
		<description><![CDATA[I&#8217;ve uploaded an ebuild for the latest version of nicotine+ on gentoo&#8217;s bugzilla. Nicotine+ is a great p2p app written in PyGtK2 to connect to the Soulseek network.
I&#8217;ve also added psyco as a USE flag since it makes nicotine+ faster&#8230;but sadly, a bit more unstable as well. Test it and see if it makes any [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve uploaded an ebuild for the latest version of <a href="http://www.nicotine-plus.org/">nicotine+</a> on <a href="http://bugs.gentoo.org">gentoo&#8217;s bugzilla</a>. Nicotine+ is a great p2p app written in <a href="http://www.pygtk.org/">PyGtK2</a> to connect to the <a href="http://slsknet.org/">Soulseek</a> network.</p>
<p>I&#8217;ve also added <a href="http://psyco.sourceforge.net/">psyco</a> as a USE flag since it makes nicotine+ faster&#8230;but sadly, a bit more unstable as well. Test it and see if it makes any difference to you.</p>
<p>Ebuild: <a href="https://bugs.gentoo.org/attachment.cgi?id=195974&#038;action=view">nicotine+-1.2.12.ebuild</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/06/30/nicotine-1-2-12-ebuild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handling right clicks on a macbook running Linux</title>
		<link>http://www.void.gr/kargig/blog/2009/06/11/handling-right-clicks-on-a-macbook-running-linux/</link>
		<comments>http://www.void.gr/kargig/blog/2009/06/11/handling-right-clicks-on-a-macbook-running-linux/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 19:29:57 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[accidental]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[ctrl+tap]]></category>
		<category><![CDATA[ctrl-click]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fluxbox]]></category>
		<category><![CDATA[lxde]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[right-click]]></category>
		<category><![CDATA[synaptic]]></category>
		<category><![CDATA[toucpad]]></category>
		<category><![CDATA[xfce]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=375</guid>
		<description><![CDATA[I&#8217;ve finally settled down to a solution that I am happy with. I used to have the following options inside my Xorg.conf:
Section "InputDevice"
    Identifier      "Synaptics Touchpad"
    Driver          "synaptics"
[...snip...]
    Option    [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally settled down to a solution that I am happy with. I used to have the following options inside my Xorg.conf:<br />
<code>Section "InputDevice"<br />
    Identifier      "Synaptics Touchpad"<br />
    Driver          "synaptics"<br />
[...snip...]<br />
    Option          "TapButton1"            "1"<br />
    Option          "TapButton2"            "3"<br />
    Option          "TapButton3"            "2"<br />
    Option          "VertTwoFingerScroll"   "1"<br />
    Option          "HorizTwoFingerScroll"  "1"<br />
[...snip...]<br />
</code></p>
<p>This works like this:<br />
i) a single tap is a left click<br />
ii) a two-finger tap is a right click<br />
iii) a three-finger tap is a middle click<br />
and you could scroll horizontally and vertically using two fingers on the touchpad, like Mac OS X.<br />
The problem with this setup is that I used to have a lot of accidental double tappings while scrolling with two fingers horizontally or vertically. This of course produced unwanted right clicks.</p>
<p>I wanted a solution that I could get right click in somehow like Mac OS X does it, using ctrl+tap/ctrl+click. I found a solution that emulated ctrl+click as a right click but then many applications started misbehaving. Firefox for example uses ctrl+click on Linux to open a link on a new tab, when I used ctrl+click as a right click, Firefox stopped opening the links. So I went to plan B. </p>
<p><strong>CMD key(apple key)-click as a right click.</strong></p>
<p>To achieve that:<br />
a) install <a href="http://homepage3.nifty.com/tsato/xvkbd/">xvkbd</a>.<br />
Debian: apt-get install xvkbd<br />
Gentoo: emerge xvkbd<br />
b) install <a href="http://hocwp.free.fr/xbindkeys/xbindkeys.html">xbindkeys</a>.<br />
Debian: apt-get install xbindkeys<br />
Gentoo: emerge xbindkeys<br />
c) create the default .xbindkeysrc file: xbindkeys &#8211;defaults > ~/.xbindkeysrc<br />
d) edit it and put the following inside: <code>"xvkbd -text '\m3'"<br />
    mod4 + b:1   (mouse)</code><br />
e) edit xorg.conf and set this:<code>    Option          "TapButton2"            "0"</code><br />
This effectively disables double tapping as a right click.<br />
f) restart X<br />
g) open a terminal and start xbindkeys from it: <code>$ xbindkeys -n -v</code><br />
Now press CMD key and tap the touchpad or click the touchpad button. You should be greeted with a fresh right click!</p>
<p>If all went well put xbindkeys in your DE&#8217;s autostart.</p>
<p>The following works flawlessly on <a href="http://www.xfce.org/">XFCE</a>/<a href="http://www.lxde.org/">LXDE</a>. CMD-click or CMD-tap opens XFCE&#8217;s menu or LXDE&#8217;s desktop menu.</p>
<p>On <a href="http://fluxbox.org">fluxbox</a> though there is still a problem. It&#8217;s very common for fluxbox key config to look something like the following:<br />
<code>OnDesktop Mouse1 :hideMenus<br />
OnDesktop Mouse2 :workspaceMenu<br />
OnDesktop Mouse3 :rootMenu<br />
OnDesktop Mouse4 :nextWorkspace<br />
OnDesktop Mouse5 :prevWorkspace<br />
</code></p>
<p>So to open the RootMenu, which is the basic menu with the applications shortcuts for fluxbox, one needs to actually right click on the Desktop. That worked with <em>TabButton2=3</em> but it does not work right now. To get around that problem I binded the key left to (1/!) which is normally the (±/§) key on Macs to the Menu key using xmodmap.<br />
<code> $ cat .xmodmap<br />
keycode 94 =  Menu<br />
</code><br />
I never used that key anyway&#8230;</p>
<p>I&#8217;ve now got my precious right click back without accidental miss-clicks. yihaa!</p>
<p>References: <a href="http://www.joshourisman.com/2008/04/06/freebsd-on-an-apple-macbook/">FreeBSD on an Apple MacBook</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/06/11/handling-right-clicks-on-a-macbook-running-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>qt libraries upgrade problem for gentoo</title>
		<link>http://www.void.gr/kargig/blog/2009/06/08/qt-libraries-upgrade-problem-for-gentoo/</link>
		<comments>http://www.void.gr/kargig/blog/2009/06/08/qt-libraries-upgrade-problem-for-gentoo/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 18:35:51 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[eclass]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[portage]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=580</guid>
		<description><![CDATA[To complement alex&#8217;s post upgrading Qt libraries in Gentoo with Portage, here&#8217;s what started it all. I wanted to upgrade my kpdf to the most recent version without upgrading world. So the output of emerge -1uDNavt kpdf looked like this:
[ebuild     U ] kde-base/kpdf-3.5.10-r1 [3.5.9] USE="-debug (-arts%) (-kdeenablefinal%) (-xinerama%)" 6 kB [0]
[nomerge [...]]]></description>
			<content:encoded><![CDATA[<p>To complement alex&#8217;s post <a href="http://www.linuxized.com/2009/06/upgrading-qt-libraries-in-gentoo-with-portage/">upgrading Qt libraries in Gentoo with Portage</a>, here&#8217;s what started it all. I wanted to upgrade my kpdf to the most recent version without upgrading world. So the output of <code>emerge -1uDNavt kpdf</code> looked like this:</p>
<p><code>[ebuild     U ] kde-base/kpdf-3.5.10-r1 [3.5.9] USE="-debug (-arts%) (-kdeenablefinal%) (-xinerama%)" 6 kB [0]<br />
[nomerge      ] app-mobilephone/pysmssend-1.32  USE="qt4"  [?]<br />
[nomerge      ]  dev-python/PyQt4-4.4.4-r2  USE="X dbus opengl qt3support svg -debug -doc -examples -webkit"  [0]<br />
[ebuild     U ]   x11-libs/qt-qt3support-4.5.1 [4.4.2] USE="accessibility -custom-cxxflags% -debug -kde% -pch -phonon%" 111,980 kB [0]<br />
[ebuild     U ]    x11-libs/qt-sql-4.5.1 [4.4.2-r1] USE="iconv qt3support sqlite -custom-cxxflags -debug -firebird -mysql -odbc -pch -postgres" 0 kB [0]<br />
[nomerge      ] kde-base/kpdf-3.5.10-r1 [3.5.9] USE="-debug (-arts%) (-kdeenablefinal%) (-xinerama%)"  [0]<br />
[ebuild  N    ]  virtual/poppler-qt3-0.10.5  0 kB [0]<br />
[nomerge      ] dev-python/PyQt4-4.4.4-r2  USE="X dbus opengl qt3support svg -debug -doc -examples -webkit"  [0]<br />
[ebuild     U ]  x11-libs/qt-gui-4.5.1 [4.4.2-r3] USE="accessibility dbus glib gtkstyle%* qt3support -cups -custom-cxxflags -debug -mng -nas -nis -pch -raster% -tiff -xinerama" INPUT_DEVICES="(-wacom%)" 0 kB [0]<br />
[ebuild     U ]   x11-libs/qt-script-4.5.1 [4.4.2] USE="iconv%* -custom-cxxflags% -debug -pch" 0 kB [0]<br />
[ebuild     U ]   x11-libs/qt-dbus-4.5.1 [4.4.2] USE="-custom-cxxflags -debug -pch" 0 kB [0]<br />
[nomerge      ] dev-python/PyQt4-4.4.4-r2  USE="X dbus opengl qt3support svg -debug -doc -examples -webkit"  [0]<br />
[nomerge      ]  x11-libs/qt-svg-4.4.2  USE="-debug -pch"  [0]<br />
[blocks b     ]   >x11-libs/qt-script-4.4.2-r9999 (">x11-libs/qt-script-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks b     ]   >x11-libs/qt-dbus-4.4.2-r9999 (">x11-libs/qt-dbus-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[nomerge      ] sys-boot/unetbootin-319  [0]<br />
[nomerge      ]  x11-libs/qt-gui-4.5.1 [4.4.2-r3] USE="accessibility dbus glib gtkstyle%* qt3support -cups -custom-cxxflags -debug -mng -nas -nis -pch -raster% -tiff -xinerama" INPUT_DEVICES="(-wacom%)"  [0]<br />
[blocks b     ]   <x11 -libs/qt-test-4.5.1 ("<x11-libs/qt-test-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[nomerge      ] x11-libs/qt-svg-4.4.2  USE="-debug -pch"  [0]<br />
[blocks b     ]  >x11-libs/qt-qt3support-4.4.2-r9999 (">x11-libs/qt-qt3support-4.4.2-r9999" is blocking x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks b     ]  >x11-libs/qt-core-4.4.2-r9999 (">x11-libs/qt-core-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2)<br />
[blocks b     ]  >x11-libs/qt-sql-4.4.2-r9999 (">x11-libs/qt-sql-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks b     ]  >x11-libs/qt-gui-4.4.2-r9999 (">x11-libs/qt-gui-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[ebuild     U ]   x11-libs/qt-test-4.5.1 [4.4.2] USE="iconv%* -custom-cxxflags% -debug -pch" 0 kB [0]<br />
[ebuild     U ]    x11-libs/qt-core-4.5.1 [4.4.2-r2] USE="glib iconv qt3support ssl -custom-cxxflags -debug -doc -pch" 0 kB [0]<br />
[nomerge      ] kde-base/kpdf-3.5.10-r1 [3.5.9] USE="-debug (-arts%) (-kdeenablefinal%) (-xinerama%)"  [0]<br />
[ebuild     U ]  kde-base/kdeprint-3.5.10 [3.5.9] USE="kdehiddenvisibility -cups -debug -kde (-arts%) (-kdeenablefinal%) (-xinerama%)" 0 kB [0]<br />
[nomerge      ] app-text/epdfview-0.1.6-r1  USE="-cups -nls -test"  [0]<br />
[nomerge      ]  virtual/poppler-glib-0.10.5  USE="cairo"  [0]<br />
[nomerge      ]   app-text/poppler-bindings-0.10.5-r1  USE="cairo gtk qt3 qt4 -test"  [0]<br />
[nomerge      ]    app-text/poppler-0.10.5-r1  USE="-doc"  [0]<br />
[ebuild     U ]     media-libs/openjpeg-1.3-r2 [1.3] USE="-tools" 0 kB [0]<br />
[nomerge      ] kde-base/kdeprint-3.5.10 [3.5.9] USE="kdehiddenvisibility -cups -debug -kde (-arts%) (-kdeenablefinal%) (-xinerama%)"  [0]<br />
[ebuild     U ]  app-text/enscript-1.6.4-r4 [1.6.4-r3] USE="-nls -ruby" 1,013 kB [?=>0]<br />
[nomerge      ] app-pda/msynctool-0.21  [0]<br />
[nomerge      ]  app-pda/libopensync-0.21  USE="-debug -doc -python"  [0]<br />
[ebuild     U ]   dev-db/sqlite-3.6.13 [3.6.11] USE="threadsafe -debug -doc -soundex -tcl" 0 kB [0]<br />
[blocks B     ] </x11><x11 -libs/qt-svg-4.5.1 ("<x11-libs/qt-svg-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] >x11-libs/qt-test-4.4.2-r9999 (">x11-libs/qt-test-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks B     ] >x11-libs/qt-script-4.4.2-r9999 (">x11-libs/qt-script-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks B     ] >x11-libs/qt-dbus-4.4.2-r9999 (">x11-libs/qt-dbus-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks B     ] </x11><x11 -libs/qt-sql-4.5.1 ("<x11-libs/qt-sql-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] <x11-libs/qt-core-4.5.1 ("<x11-libs/qt-core-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1)<br />
[blocks B     ] <x11-libs/qt-dbus-4.5.1 ("<x11-libs/qt-dbus-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] <x11-libs/qt-qt3support-4.5.1 ("<x11-libs/qt-qt3support-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] >x11-libs/qt-qt3support-4.4.2-r9999 (">x11-libs/qt-qt3support-4.4.2-r9999" is blocking x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks B     ] </x11><x11 -libs/qt-script-4.5.1 ("<x11-libs/qt-script-4.5.1" is blocking x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] <x11-libs/qt-opengl-4.5.1 ("<x11-libs/qt-opengl-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] >x11-libs/qt-core-4.4.2-r9999 (">x11-libs/qt-core-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2)<br />
[blocks B     ] </x11><x11 -libs/qt-xmlpatterns-4.5.1 ("<x11-libs/qt-xmlpatterns-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-gui-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
[blocks B     ] >x11-libs/qt-sql-4.4.2-r9999 (">x11-libs/qt-sql-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-gui-4.4.2-r3, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks B     ] >x11-libs/qt-gui-4.4.2-r9999 (">x11-libs/qt-gui-4.4.2-r9999" is blocking x11-libs/qt-xmlpatterns-4.4.2, x11-libs/qt-script-4.4.2, x11-libs/qt-dbus-4.4.2, x11-libs/qt-sql-4.4.2-r1, x11-libs/qt-qt3support-4.4.2, x11-libs/qt-svg-4.4.2, x11-libs/qt-test-4.4.2, x11-libs/qt-opengl-4.4.2, x11-libs/qt-core-4.4.2-r2)<br />
[blocks B     ] </x11><x11 -libs/qt-gui-4.5.1 ("<x11-libs/qt-gui-4.5.1" is blocking x11-libs/qt-script-4.5.1, x11-libs/qt-dbus-4.5.1, x11-libs/qt-test-4.5.1, x11-libs/qt-qt3support-4.5.1, x11-libs/qt-sql-4.5.1, x11-libs/qt-core-4.5.1)<br />
Total: 13 packages (12 upgrades, 1 new), Size of downloads: 112,998 kB<br />
Conflict: 23 blocks (16 unsatisfied)<br />
Portage tree and overlays:<br />
 [0] /usr/portage<br />
 [?] indicates that the source repository could not be determined<br />
 * Error: The above package list contains packages which cannot be<br />
 * installed at the same time on the same system.<br />
  ('installed', '/', 'x11-libs/qt-svg-4.4.2', 'nomerge') pulled in by<br />
    >=x11-libs/qt-svg-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
  ('ebuild', '/', 'x11-libs/qt-gui-4.5.1', 'merge') pulled in by<br />
    >=x11-libs/qt-gui-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
    x11-libs/qt-gui required by ('installed', '/', 'media-video/vlc-0.9.8a', 'nomerge')<br />
    x11-libs/qt-gui required by ('installed', '/', 'sys-boot/unetbootin-319', 'nomerge')<br />
    (and 4 more)<br />
  ('ebuild', '/', 'x11-libs/qt-test-4.5.1', 'merge') pulled in by<br />
    x11-libs/qt-test:4 required by ('installed', '/', 'app-text/poppler-bindings-0.10.5-r1', 'nomerge')<br />
  ('ebuild', '/', 'x11-libs/qt-qt3support-4.5.1', 'merge') pulled in by<br />
    ~x11-libs/qt-qt3support-4.5.1[-debug] required by ('ebuild', '/', 'x11-libs/qt-gui-4.5.1', 'merge')<br />
    >=x11-libs/qt-qt3support-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
  ('installed', '/', 'x11-libs/qt-opengl-4.4.2', 'nomerge') pulled in by<br />
    >=x11-libs/qt-opengl-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
  ('ebuild', '/', 'x11-libs/qt-dbus-4.5.1', 'merge') pulled in by<br />
    ~x11-libs/qt-dbus-4.5.1[-debug] required by ('ebuild', '/', 'x11-libs/qt-gui-4.5.1', 'merge')<br />
    >=x11-libs/qt-dbus-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
  ('installed', '/', 'x11-libs/qt-core-4.4.2-r2', 'nomerge') pulled in by<br />
    ~x11-libs/qt-core-4.4.2 required by ('installed', '/', 'x11-libs/qt-script-4.4.2', 'nomerge')<br />
    x11-libs/qt-core required by ('installed', '/', 'media-video/vlc-0.9.8a', 'nomerge')<br />
    x11-libs/qt-core:4[qt3support] required by ('installed', '/', 'app-admin/keepassx-0.4.0', 'nomerge')<br />
    (and 7 more)<br />
  ('installed', '/', 'x11-libs/qt-dbus-4.4.2', 'nomerge') pulled in by<br />
    >=x11-libs/qt-dbus-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
    ~x11-libs/qt-dbus-4.4.2 required by ('installed', '/', 'x11-libs/qt-gui-4.4.2-r3', 'nomerge')<br />
  ('installed', '/', 'x11-libs/qt-qt3support-4.4.2', 'nomerge') pulled in by<br />
    ~x11-libs/qt-qt3support-4.4.2 required by ('installed', '/', 'x11-libs/qt-gui-4.4.2-r3', 'nomerge')<br />
    >=x11-libs/qt-qt3support-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
  ('installed', '/', 'x11-libs/qt-xmlpatterns-4.4.2', 'nomerge') pulled in by<br />
    x11-libs/qt-xmlpatterns:4 required by ('installed', '/', 'app-admin/keepassx-0.4.0', 'nomerge')<br />
  ('installed', '/', 'x11-libs/qt-gui-4.4.2-r3', 'nomerge') pulled in by<br />
    >=x11-libs/qt-gui-4.4.2:4 required by ('installed', '/', 'dev-python/PyQt4-4.4.4-r2', 'nomerge')<br />
    x11-libs/qt-gui required by ('installed', '/', 'media-video/vlc-0.9.8a', 'nomerge')<br />
    x11-libs/qt-gui required by ('installed', '/', 'sys-boot/unetbootin-319', 'nomerge')<br />
    (and 6 more)<br />
  ('ebuild', '/', 'x11-libs/qt-core-4.5.1', 'merge') pulled in by<br />
    ~x11-libs/qt-core-4.5.1[qt3support,-debug] required by ('ebuild', '/', 'x11-libs/qt-sql-4.5.1', 'merge')<br />
    x11-libs/qt-core:4[qt3support] required by ('installed', '/', 'app-admin/keepassx-0.4.0', 'nomerge')<br />
    ~x11-libs/qt-core-4.5.1[-debug] required by ('ebuild', '/', 'x11-libs/qt-script-4.5.1', 'merge')<br />
    (and 7 more)<br />
</x11></code><br />
The output is also at: <a href="http://dpaste.com/52703/">http://dpaste.com/52703/</a><br />
Unless you are a Gentoo Developer there is no easy way to understand the output.<br />
So I joined #gentoo-el on Freenode to ask the greek gentoo developers (hwoarang, deathwing00, tampakrap, wired, yngwin), which happen to be on QT/KDE herds, to explain to me what&#8217;s wrong.<br />
I was suggested to run an <code>emerge -uDavt world</code> to upgrade my whole system, but that&#8217;s not what I wanted and I asked for a solution that would not involve upgrading the whole system. The following is the output of emerge -uDNavt world:</p>
<p><a href="http://pastebin.com/m8371430">http://pastebin.com/m8371430</a></p>
<p>Then they explained to me that there has been a change on QT eclass to provide protection to the system from having mixed QT versions. The problem is that the protection works by blocking the mix, but the output is at least &#8220;unfriendly&#8221;.</p>
<p>The solution, as alex said is to do: <code>emerge -av1 `eix -I --only-names x11-libs/qt-`</code></p>
<p>Even though eix is a standard tool every gentoo user has probably installed, I don&#8217;t really like the solution because it depends on using another extra program, eix, and not pure portage techniques. Portage should be able, somehow, to handle these dependency problems and provide a custom error when such a problem occurs. The errors on &#8220;-9999&#8243; versions need vast improvement.</p>
<p>I hope Gentoo devs do something about improving portage even more <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>*EDIT*</strong><br />
After a small conversation with alex, I completely unmerged my <em>x11-libs/qt-4.X</em> package. As it seems it&#8217;s <em>not needed at all</em> any longer since all programs correctly reference the x11-libs/qt-NAME-4.X.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/06/08/qt-libraries-upgrade-problem-for-gentoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>lifesaving ROX tip, open file:// urls</title>
		<link>http://www.void.gr/kargig/blog/2009/05/31/lifesaving-rox-tip-open-file-urls/</link>
		<comments>http://www.void.gr/kargig/blog/2009/05/31/lifesaving-rox-tip-open-file-urls/#comments</comments>
		<pubDate>Sun, 31 May 2009 15:17:55 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[file://]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[rox]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=566</guid>
		<description><![CDATA[Firefox has the feature of keeping links to downloaded files as urls using the file:// pattern. For example: file:///home/user/downloads/test.zip. If you choose ROX-Filer (/usr/bin/rox) to open these files you will get an error: 
File doesn&#8217;t exist, or I can&#8217;t access it: file:///home/user/downloads/test.zip
One way to correct the error is to follow the instructions of http://lovingthepenguin.blogspot.com/2008/08/use-rox-filer-to-open-containing.html
Another way [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox has the feature of keeping links to downloaded files as urls using the <em>file://</em> pattern. For example: <em>file:///home/user/downloads/test.zip</em>. If you choose ROX-Filer (/usr/bin/rox) to open these files you will get an error: </p>
<blockquote><p>File doesn&#8217;t exist, or I can&#8217;t access it: file:///home/user/downloads/test.zip</p></blockquote>
<p>One way to correct the error is to follow the instructions of <a href="http://lovingthepenguin.blogspot.com/2008/08/use-rox-filer-to-open-containing.html">http://lovingthepenguin.blogspot.com/2008/08/use-rox-filer-to-open-containing.html</a></p>
<p>Another way for Gentoo users, and much proper I guess, is to use <strong>/usr/bin/roxuri</strong>. roxuri is actually a shell script that uses the &#8220;-U&#8221; option for ROX:</p>
<blockquote><p>-U, &#8211;url=URL		open file or directory in URI form</p></blockquote>
<p>For the non-Gentoo users, /usr/bin/roxuri is:<br />
<code>#!/bin/sh<br />
exec "/usr/lib/rox/ROX-Filer/AppRun" -U "$@"</code></p>
<p>Create it and make it executable.</p>
<p>Go to Firefox Preferences/Applications/Content Type -> file and select /usr/bin/roxuri as the default application.</p>
<p>Now files from firefox downloads are handled correctly by rox which uses the proper applications to open them and containing folders open up with <a href="http://roscidus.com/desktop/ROX-Filer">ROX-Filer</a>. That means that while &#8220;file&#8221; is handled by <em>roxuri</em>, a .pdf will be opened by <a href="http://trac.emma-soft.com/epdfview/">epdfview</a> or whatever else you have chosen ROX to open pdf files with.</p>
<p>Both solutions work on ROX version 2.8.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/05/31/lifesaving-rox-tip-open-file-urls/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>halevt in portage!</title>
		<link>http://www.void.gr/kargig/blog/2009/05/31/halevt-in-portage/</link>
		<comments>http://www.void.gr/kargig/blog/2009/05/31/halevt-in-portage/#comments</comments>
		<pubDate>Sun, 31 May 2009 11:23:25 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bug-report]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[halevt]]></category>
		<category><![CDATA[ivman]]></category>
		<category><![CDATA[overlay]]></category>
		<category><![CDATA[portage]]></category>
		<category><![CDATA[proxy-maintainer]]></category>
		<category><![CDATA[stable]]></category>
		<category><![CDATA[sunrise]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=560</guid>
		<description><![CDATA[Since yesterday halevt (HAL Events Manager) and its dependency, boolstuff library are in the official Gentoo portage!
halevt on Portage
boolstuff on Portage
They only thing it took was convincing hwoarang how much they were needed since ivman is pretty much borked. At first I asked him to add them to sunrise overlay but he insisted they go [...]]]></description>
			<content:encoded><![CDATA[<p>Since yesterday <a href="http://www.nongnu.org/halevt/">halevt</a> (HAL Events Manager) and its dependency, <a href="http://perso.b2b2c.ca/sarrazip/dev/boolstuff.html">boolstuff</a> library are in the official <a href="http://packages.gentoo.org/">Gentoo portage</a>!<br />
<a href="http://packages.gentoo.org/package/sys-apps/halevt">halevt on Portage</a><br />
<a href="http://packages.gentoo.org/package/dev-libs/boolstuff">boolstuff on Portage</a></p>
<p>They only thing it took was convincing <a href="http://hwoarang.silverarrow.org/">hwoarang</a> how much they were needed since <a href="http://www.void.gr/kargig/blog/2009/05/28/ivman-is-dead-long-live-halevt/">ivman is pretty much borked</a>. At first I asked him to add them to <a href="http://overlays.gentoo.org/proj/sunrise">sunrise overlay</a> but he insisted they go straight to portage.</p>
<p>The original ebuilds were taken from Gentoo bugzilla: <a href="http://bugs.gentoo.org/show_bug.cgi?id=257933">new ebuilds for halevt and boolstuff -> supersedes ivman</a>, they were refined a bit and then added to Portage. Thanks to Mike Gualtieri for the original ebuilds.</p>
<p>Hwoarang has added me as the <a href="http://dev.gentoo.org/~antarus/projects/proxy-maint/">proxy maintainer</a> of these two packages. I hope that when updates go out, I&#8217;ll test them as soon as possible and then create new ebuilds for them.</p>
<p>The packages are currently only in ~x86 and ~amd64 (testing) branches. If you test the packages and think that they are stable enough please let me know and I&#8217;ll try to convince hwoarang to put them to x86 and amd64 (stable) branches.</p>
<p>Thanks again to hwoarang! Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/05/31/halevt-in-portage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>migrating from fluxbox 1.0.0 to 1.1.X</title>
		<link>http://www.void.gr/kargig/blog/2009/05/30/migrating-from-fluxbox-100-to-11x/</link>
		<comments>http://www.void.gr/kargig/blog/2009/05/30/migrating-from-fluxbox-100-to-11x/#comments</comments>
		<pubDate>Sat, 30 May 2009 18:07:05 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[fluxbox]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=551</guid>
		<description><![CDATA[I recently upgraded from a stable fluxbox release (1.0.0) to a development one (1.1.1), on gentoo x11-wm/fluxbox-1.1.1-r1, ~x86 branch . There have been some interesting changes. If you also upgrade you might find though that your &#8220;tabs&#8221; are not working.
Recent fluxbox versions (1.1.0+) have dumped the old &#8220;groups&#8221; file which used to contain applications that [...]]]></description>
			<content:encoded><![CDATA[<p>I recently upgraded from a stable fluxbox release (1.0.0) to a development one (1.1.1), on gentoo x11-wm/fluxbox-1.1.1-r1, ~x86 branch . There have been some interesting changes. If you also upgrade you might find though that your &#8220;<a href="http://old.fluxbox.org/features/tabs.php">tabs</a>&#8221; are not working.<br />
Recent fluxbox versions (1.1.0+) have dumped the old &#8220;groups&#8221; file which used to contain applications that could be grouped in <a href="http://old.fluxbox.org/features/tabs.php">tabs</a>. Now the grouped applications must be declared inside the &#8220;<a href="http://fluxbox-wiki.org/index.php?title=Howto_edit_the_apps_file">apps</a>&#8221; file. The syntax is rather simple, if you want an application to have tab support just add a &#8220;[group]&#8221; line before it. For example if you had a groups file that combined urxvt, xterm and aterm tabs:<br />
<code>% cat ~/.fluxbox/groups<br />
urxvt xterm aterm</code></p>
<p>The new proper syntax in apps file would be:<br />
<code>%cat ~/.fluxbox/apps<br />
[group]<br />
 [app] (name=urxvt)<br />
 [app] (name=xterm)<br />
 [app] (name=aterm)<br />
[end]</code></p>
<p>I wrote a perl script that can convert your old groups file to the new group format for apps file. <a href='http://www.void.gr/kargig/blog/wp-content/fbox_groups_to_apps.pl'>fbox_groups_to_apps.pl</a></p>
<p>Bugs reports,fixes are more than welcome&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/05/30/migrating-from-fluxbox-100-to-11x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ivman is dead, long live halevt</title>
		<link>http://www.void.gr/kargig/blog/2009/05/28/ivman-is-dead-long-live-halevt/</link>
		<comments>http://www.void.gr/kargig/blog/2009/05/28/ivman-is-dead-long-live-halevt/#comments</comments>
		<pubDate>Wed, 27 May 2009 22:06:04 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[automount]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[hal]]></category>
		<category><![CDATA[halevt]]></category>
		<category><![CDATA[ivman]]></category>
		<category><![CDATA[rox]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=541</guid>
		<description><![CDATA[It&#8217;s been a while since ivman stopped working on my Gentoo box but I never had the time nor the willingness to take a look into it. It appears that ivman is incompatible with some newer versions of hal and dbus. The good thing is that there&#8217;s an alternative, it&#8217;s called halevt and as far [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since <a href="http://ivman.sourceforge.net/">ivman</a> stopped working on my Gentoo box but I never had the time nor the willingness to take a look into it. It appears that ivman is incompatible with some newer versions of hal and dbus. The good thing is that there&#8217;s an alternative, it&#8217;s called <a href="http://www.nongnu.org/halevt/">halevt</a> and as far as I&#8217;ve taken a look into it the configuration options look quite straightforward.<br />
For Gentoo, there are <a href="http://bugs.gentoo.org/show_bug.cgi?id=257933">ebuilds for halevt</a> on Gentoo bugzilla, which install just fine.</p>
<p>In my point of view there&#8217;s an issue here for Gentoo. Latest ivman (sys-apps/ivman-0.6.14) compiles just fine against all of its dependencies, but then it does nothing at all when a deviced is plugged in. If the devices are present when ivman starts then it can detect and mount them, if you plug the devices after ivman is started, then ivman does nothing at all. I think ivman is broken since hal 0.5.9.X versions. Gentoo developers stll keep ivman in the stable tree though. I find no real logic to this decision. Ivman is buggy with current stable hal and dbus. I would prefer a de-stabilization of ivman or even a package mask for it. What&#8217;s the point in keeping a package (ivman) in the stable tree since it requires not the latest stable but an older version of another package (hal) ? IMHO, since they correctly decided to stabilize hal 0.5.11-r8, which subsequently rendered ivman useless, ivman should be wiped from the stable tree.<br />
Some bugs on ivman reported on Gentoo Bugzilla: <a href="http://bugs.gentoo.org/buglist.cgi?quicksearch=ivman">http://bugs.gentoo.org/buglist.cgi?quicksearch=ivman</a></p>
<p>I once used ivman with a couple of custom scripts to <a href="http://www.void.gr/kargig/blog/2006/07/24/create-icons-on-rox-desktop-of-automounted-media-by-ivman/">create/remove icons of automounted devices on my ROX desktop</a>. I think I can make these scripts work again with halevt&#8230;I am in the process of rewriting them. More on that in the following days&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/05/28/ivman-is-dead-long-live-halevt/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Fosscomm 2009</title>
		<link>http://www.void.gr/kargig/blog/2009/05/12/fosscomm-2009/</link>
		<comments>http://www.void.gr/kargig/blog/2009/05/12/fosscomm-2009/#comments</comments>
		<pubDate>Tue, 12 May 2009 10:16:56 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Greek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[fosscomm]]></category>
		<category><![CDATA[fosscomm 2009]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=525</guid>
		<description><![CDATA[Μετά από ένα τρομερό Σαββατοκύριακο στη Λάρισα γυρίσα πάλι πίσω στη Θεσσαλονίκη. Το Fosscomm 2009 ήταν πάρα πολύ καλά οργανωμένο και τα παιδιά του Linux Team ΤΕΙ Λάρισας αξίζουν πολλά συγχαρητήρια για την προσπάθειά τους. 
Τα παιδιά μας είχαν κλείσει ξενοδοχείο και ήταν πάρα πολύ ωραίο να μένουν 60+ άτομα που όλοι κουτσά στραβά γνωρίζονται [...]]]></description>
			<content:encoded><![CDATA[<p>Μετά από ένα τρομερό Σαββατοκύριακο στη Λάρισα γυρίσα πάλι πίσω στη Θεσσαλονίκη. Το <a href="http://larissa.fosscomm.gr">Fosscomm 2009</a> ήταν πάρα πολύ καλά οργανωμένο και τα παιδιά του <a href="http://linuxteam.cs.teilar.gr/">Linux Team ΤΕΙ Λάρισας</a> αξίζουν πολλά συγχαρητήρια για την προσπάθειά τους. </p>
<p>Τα παιδιά μας είχαν κλείσει <a href="http://www.asterashotel.gr/">ξενοδοχείο</a> και ήταν πάρα πολύ ωραίο να μένουν 60+ άτομα που όλοι κουτσά στραβά γνωρίζονται στο ίδιο ξενοδοχείο. Θυμίζε πενταήμερη! Επίσης είχαν τυπώσει μπλουζάκια (πρόλαβα και πηρα ένα), κονκάρδες και διάφορα άλλα. Μιας και η συμμετοχή στο συνέδριο ήταν μεγάλη, θεωρώ πως μόνο το Σάββατο πρέπει να ήταν πάνω από 200 άτομα, θα είχε μεγάλο ενδιαφέρον να δούμε τις απαντήσεις στο ερωτηματολόγιο αξιολόγησης της εκδήλωσης που είχαν στο stand τους και όποιος ήθελε συμπλήρωνε.</p>
<p>Έξω από το επαρκέστατα εξοπλισμένο αμφιθέατρο, υπήρχαν stand με έντυπο υλικό καθώς και CD/DVD από διάφορες κοινότητες. Εκεί ήταν το <a href="http://foss.ntua.gr/wiki/index.php">Foss.Ntua</a>, η <a href="http://www.ellak.gr/">ΕΕΛΛΑΚ</a>, ο <a href="http://www.hellug.gr">HELLUG</a>, η <a href="http://fedoraproject.gr/">ελληνική κοινότητα Fedora</a> και η <a href="http://www.freebsdgr.org">ελληνική κοινότητα Freebsd</a>. Φυσικά παρόν ήταν και η ομάδα του Linux Team ΤΕΙ Λάρισας με το δικό της stand. Το κλίμα ήταν γενικώς πάρα πολύ καλό και συνάντησα πολλούς φίλους και γνωστούς που είχα μήνες να τους δω.</p>
<p>Θεωρώ πως οι παρουσιάσεις ήταν γενικά καλές, θα τολμήσω να πω πως ήταν ανώτερες από το επίπεδο του περσυνού Fosscomm που είχε γίνει στο Μετσόβειο, αλλά κυριώς ευχαριστήθηκα τα workshops που πέρυσι έλειπαν εντελώς. Συγχαρητήρια σε όσους κόπιασαν για να τα διοργανώσουν γιατί ένα καλό workshop είναι πολύ πιο δύσκολο από μια απλή παρουσίαση&#8230;Δυστυχώς και φέτος υπήρξαν κάποιες ακυρώσεις ομιλιών, ελπίζω του χρόνου τα πράγματα να κυλήσουν πιο ομαλά <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Αν και δεν είδα όλες τις παρουσιάσεις γιατί προτίμησα να περάσω κάποιο παραπάνω χρόνο με φίλους και γνωστούς στους διαδρόμους, από όσα είδα έμεινα εντυπωσιασμένος από την δουλειά που έχει γίνει στη Σχολή Ικάρων από τον κύριο Αντώνιο Ανδρεάτο. Είμαι σίγουρος πως πολλοί καθηγητές των δικών μας πανεπιστημίων, ακόμα και από σχολές πληροφορικής, θα ντρεπόταν αν έβλεπαν τα βήματα προόδου σχετικά με τη χρήση και διάδωση ελεύθερου λογισμικού που έχουν κάνει στην Σχολή Ικάρων. Επίσης ευχαριστήθηκα πάρα πολύ την παρουσίαση του <a href="http://www.androiddev.gr/">Android</a> που έκανε ο Κώστας Πολυχρόνης. Με έψησε ακόμα περισσότερο να αποκτήσω το HTC Magic&#8230;με τσουρούφλησε θα έλεγα. Δεν θα μπορούσα να παραλείψω φυσικά το workshop και την παρουσίαση του Gentoo, που είναι και το αγαπημένο μου distribution, και έγινε από φίλους. Επίσης το Xen workshop, από την κοινότητα ανοιχτού λογισμικού του Πανεπιστημίου Πειραιά, με έβαλε και πάλι σε σκέψεις για να αρχίζω να πειραματίζομαι ξανά με το xen. Η κοινότητα αυτή μας είχε κανει πέρυσι (2007-2008) την τιμή <a href="http://rainbow.cs.unipi.gr/projects/oss/wiki/EventZero">να ανοίξουμε</a> (εγώ και ο Fuzz) <a href="http://rainbow.cs.unipi.gr/projects/oss/wiki/PastEvents">μια σειρά από εκδηλώσεις/παρουσιάσεις</a> που ακολούθησαν και μάλιστα <a href="http://rainbow.cs.unipi.gr/projects/oss/wiki/EventNineteen">βράβευσαν το iloog ως το καλύτερο ελληνικό open source project για το 2008</a> στην περσινή DTE!</p>
<p>Είμαι επίσης πολύ χαρούμενος που αρκετός κόσμος με ρωτούσε τι γίνεται με το <a href="http://ilug.gr/iloog/">iloog</a> και αν θα βγει ξανά καινούργια έκδοση. Μου έδωσαν ώθηση να συνεχίσω να ασχολούμαι μαζί του και υπόσχομαι να βγάλω μια έκδοση μέσα στους επόμενους μήνες. Ελπίζω φυσικά σε αυτό να βοηθήσουν και κάποιοι άλλοι &#8230;αν έχουν ακόμα όρεξη (στραβοκοιτάζω προς τον Fuzz και τον <a href="http://autoverse.net/">comzeradd</a> αν δεν το έχουν ήδη καταλάβει)&#8230;.</p>
<p>Το highlight του σαββατοκύριακου όμως ήταν η έξοδος μας το σάββατο το βράδυ. Τα παιδιά του ΤΕΙ Λάρισας ήρθαν και μας πήραν από το ξενοδοχείο και ένα τεράστιο τσούρμο 50+ ανθρώπων περπατούσαμε μέσα στην Λάρισα για να φτάσουμε τελικά σε ένα τσιπουράδικο. Εκεί οι φωτογραφίες, που θα αρχίσουν φαντάζομαι να δημοσιεύονται σε λίγες μέρες, θα μαρτυρύσουν το τι έγινε <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Τι μου άρεσε:<br />
α) Η οργάνωση<br />
β) Κάποιες παρουσιάσεις και κυρίως τα workshops<br />
γ) Που είδα φίλους και γνωστούς</p>
<p>Τι δεν μου άρεσε:<br />
α) Που φέτος ήρθαν λιγότεροι Αθηναίοι&#8230;<br />
β) Που κάποιες παρουσιάσεις ακυρώθηκαν για λόγους που δεν ανακοινώθηκαν (δεν αναφέρομαι προφανώς σε εκείνους που τους έτυχε κάτι έκτακτο&#8230;)</p>
<p>Τι θα ήθελα για του χρόνου:<br />
α) Αντί για 10 παρουσιάσεις κοινοτήτων θα προτιμούσα ένα session με εκπροσώπους από όλες τις κοινότητες σε ένα panel, όπου για 1h να μας παρουσιάσουν τα των μελών τους. Δεν χρειάζεται η κάθε κοινότητα να μας λέει πόσα μέλη έχει στο forum/mailing lists/etc σε ξεχωριστή παρουσίαση. Αυτό μπορεί να γίνει από όλους μαζί&#8230;<br />
β) Περισσότερα projects από τις κοινότητες. Προσωπικά με ενδιαφέρει περισσότερο να δω ότι ένα άτομο από την τάδε κοινότητα ξεκίνησε κάτι και τον βοήθησαν οι υπόλοιποι παρά να βλέπω ότι 1500 καινούρια μέλη γράφτηκαν στο forum τους.<br />
γ) Καλύτερη παρουσίαση όχι τόσο των events της κάθε κοινότητας αλλά περισσότερο του τρόπου με τον οποίο τα οργάνωσαν. Αυτό λείπει κυρίως, έλλειψη οργάνωσης και εκεί θέλουν βοήθεια οι περισσότερες κοινότητες (αλλά και οι σύλλογοι).<br />
δ) Ακόμα περισσότερα workshops.</p>
<p>Το Linux Team ΤΕΙ Λάρισας ανέβασε πολύ ψηλά τον πήχη αλλά ελπίζω το επόμενο Fosscomm, το Fosscomm 2010, όπου και να γίνει, να είναι ακόμα καλύτερο!</p>
<p>Συγχαρητήρια και πάλι <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/05/12/fosscomm-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>upgrading a gentoo box that hasn&#8217;t been upgraded since 2007</title>
		<link>http://www.void.gr/kargig/blog/2009/05/12/upgrading-a-gentoo-box-that-hasnt-been-upgraded-since-2007/</link>
		<comments>http://www.void.gr/kargig/blog/2009/05/12/upgrading-a-gentoo-box-that-hasnt-been-upgraded-since-2007/#comments</comments>
		<pubDate>Tue, 12 May 2009 09:13:37 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[lzma]]></category>
		<category><![CDATA[portage]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=516</guid>
		<description><![CDATA[I was given root today in a gentoo box that nobody had upgraded since 2007. As expected the &#8220;emerge &#8211;sync; emerge -uDavt world&#8221; showed a lot of blockages.
I tried to solve each one but I got stuck while trying to upgrade portage 2.1.3.9 to 2.1.6.11. In order to upgrade portage I had to upgrade sandbox, [...]]]></description>
			<content:encoded><![CDATA[<p>I was given root today in a gentoo box that nobody had upgraded since 2007. As expected the &#8220;emerge &#8211;sync; emerge -uDavt world&#8221; showed a lot of blockages.</p>
<p>I tried to solve each one but I got stuck while trying to upgrade portage 2.1.3.9 to 2.1.6.11. In order to upgrade portage I had to upgrade sandbox, but sandbox couldn&#8217;t be ugraded correctly due to portage 2.1.3.9 being unable to handle .tar.lzma files.<br />
The box had sandbox-1.2 installed and it was unable to upgrade to sandbox-1.6. The error was:</p>
<blockquote><p>unpack sandbox-1.6.tar.lzma: file format not recognized. Ignoring.</p></blockquote>
<p>Upgrading lzma-utils, tar and a few other packages did not work. In the end I edited the sandbox-1.6-r2.ebuild and changed the src_unpack function from:<br />
<code>src_unpack() {<br />
    unpack ${A}<br />
    cd "${S}"<br />
    epatch "${FILESDIR}"/${P}-disable-qa-static.patch<br />
    epatch "${FILESDIR}"/${P}-disable-pthread.patch<br />
    epatch "${FILESDIR}"/0001-libsandbox-handle-more-at-functions.patch<br />
}<br />
</code></p>
<p>To:<br />
<code>src_unpack() {<br />
    unpack ${A}<br />
    cd /var/tmp/portage/sys-apps/sandbox-1.6-r2/<br />
    tar --lzma -xvf sandbox-1.6.tar.lzma<br />
    mv sandbox-1.6/ work/<br />
    cd "${S}"<br />
    epatch "${FILESDIR}"/${P}-disable-qa-static.patch<br />
    epatch "${FILESDIR}"/${P}-disable-pthread.patch<br />
    epatch "${FILESDIR}"/0001-libsandbox-handle-more-at-functions.patch<br />
}</code></p>
<p>Then:<br />
<code>cd /usr/portage/sys-apps/sandbox/; ebuild sandbox-1.6-r2.ebuild manifest</code></p>
<p>After this edit, sandbox emerged properly, so portage emerged properly too. Everything else worked as expected&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/05/12/upgrading-a-gentoo-box-that-hasnt-been-upgraded-since-2007/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HOWTO remotely install debian over gentoo without physical access</title>
		<link>http://www.void.gr/kargig/blog/2009/04/02/howto-remotely-install-debian-over-gentoo-without-physical-access/</link>
		<comments>http://www.void.gr/kargig/blog/2009/04/02/howto-remotely-install-debian-over-gentoo-without-physical-access/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 17:21:46 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debootstrap]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[no psysical access]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[raid0]]></category>
		<category><![CDATA[raid1]]></category>
		<category><![CDATA[remote install]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=416</guid>
		<description><![CDATA[The Task
Last year, me and comzeradd set up a Gentoo server for HELLUG according to our plot to help Gentoo conquer the world. Unfortunately Gentoo is out of HELLUG&#8217;s administration policy, all servers must be Debian. We didn&#8217;t know that, so after a small flame  , we decided that we should take back the [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>The Task</em></strong><br />
Last year, me and <a href="http://autoverse.net/">comzeradd</a> set up a <a href="http://www.gentoo.org">Gentoo</a> server for <a href="http://www.hellug.gr">HELLUG</a> according to our plot to help Gentoo conquer the world. Unfortunately Gentoo is out of HELLUG&#8217;s administration policy, all servers must be <a href="http://www.debian.org">Debian</a>. We didn&#8217;t know that, so after a small flame <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , we decided that we should take back the server to somebody&#8217;s home and re-install Debian over it, the problem was that the server was located at <a href="http://www.uoa.gr/uoagr/ch03.htm">University of Athens campus</a> which is a bit far from downtown Athens where comzeradd lives. I also live 500km away so we were pretty much stuck. Months passed and nobody actually had enough free time to go to <a href="http://www.uoa.gr">UOA</a>&#8217;s campus and  take the server to their house. &#8230;In the meantime <a href="http://manjiki.blogspot.com/">manji</a> joined us as an extra root for the server.</p>
<p>One Saturday night while chatting at IRC (what else could we be doing on saturday night ??) we had an inspiration, why not install Debian remotely, without taking the server home. Even if everything got eventually borked it couldn&#8217;t get any worse than going there, taking the server home and fixing it, just like we would do any way. So we gathered on a new IRC channel with some more friends that are really good with Debian and started the conversion progress.</p>
<p><strong><em>The Server</em></strong><br />
The interesting part about the server was that it had 2&#215;250Gb IDE disks. The Gentoo setup had these disks partitioned to 4 software raid devices + swap partitions.<br />
<span id="more-416"></span><br />
<code>(Gentoo) # fdisk -l<br />
Disk /dev/hda: 250.0 GB, 250059350016 bytes<br />
 255 heads, 63 sectors/track, 30401 cylinders<br />
 Units = cylinders of 16065 * 512 = 8225280 bytes<br />
 Disk identifier: 0x431bd7b7<br />
 Device Boot      Start         End      Blocks   Id  System<br />
 /dev/hda1   *           1           6       48163+  fd  Linux raid autodetect<br />
 /dev/hda2               7         130      996030   82  Linux swap / Solaris<br />
 /dev/hda3             131       27964   223576605   fd  Linux raid autodetect<br />
 /dev/hda4           27965       30401    19575202+   5  Extended<br />
 /dev/hda5           27965       29183     9791586   fd  Linux raid autodetect<br />
 /dev/hda6           29184       30401     9783553+  fd  Linux raid autodetect<br />
Disk /dev/hdb: 250.0 GB, 250059350016 bytes<br />
 255 heads, 63 sectors/track, 30401 cylinders<br />
 Units = cylinders of 16065 * 512 = 8225280 bytes<br />
 Disk identifier: 0x00000000<br />
    Device Boot      Start         End      Blocks   Id  System<br />
 /dev/hdb1   *           1           6       48163+  fd  Linux raid autodetect<br />
 /dev/hdb2               7         130      996030   82  Linux swap / Solaris<br />
 /dev/hdb3             131       27964   223576605   fd  Linux raid autodetect<br />
 /dev/hdb4           27965       30401    19575202+   5  Extended<br />
 /dev/hdb5           27965       29183     9791586   fd  Linux raid autodetect<br />
 /dev/hdb6           29184       30401     9783553+  fd  Linux raid autodetect<br />
</code></p>
<p>md1 was RAID1 with hda1+hdb1 for /boot/<br />
md3 was RAID1 with hda3+hdb3 for /<br />
md5 was RAID1 with hda5+hdb5 for /var/db/<br />
md6 was RAID0 with hda6+hdb6 for /usr/portage/</p>
<p><strong><em>SUMMARY</em></strong><br />
What we had to do was:<br />
A)break all RAID1 and RAID0 devices, set all hdbX partitions as faulty and remove them from the RAID.<br />
B)repartition hdb, create new RAID1 arrays with LVM on top and format the new partitions<br />
C)install debian on hdb<br />
D)configure grub to boot debian</p>
<p><strong><em>HOWTO</em></strong><br />
In order to be extra cautious for every command we gave we all logged in inside Gentoo and one of us set up a &#8220;screen&#8221; and the others joined that screen session using <code># screen -x</code></p>
<p>Now everything that one typed could be seen realtime by all the others.<br />
<strong><em>PART A) RAID Manipulation</em></strong><br />
Check the status of the raid devices: <code>cat /proc/mdstat</code><br />
Copy /usr/portage/ to / as /usr/portage2 so that we can completely delete md6 (RAID0).<br />
<code>(Gentoo) # mkdir /usr/portage2/<br />
(Gentoo) # cp -rp /usr/portage/* /usr/portage2/<br />
(Gentoo) # umount /usr/portage<br />
(Gentoo) # mv /usr/portage2 /usr/portage<br />
(Gentoo) # mdadm --stop /dev/md6<br />
</code><br />
Reminder: There&#8217;s no need to <code>mdadm --remove /dev/md6 /dev/hdb6</code> since RAID0 can&#8217;t live with only one disk. The mdadm &#8211;remove command does nothing at all for RAID0.</p>
<p>We continued by breaking the rest of the RAID1 arrays.<br />
<code>(Gentoo) # mdadm --set-faulty /dev/md1 /dev/hdb1<br />
(Gentoo) # mdadm --remove /dev/md1 /dev/hdb1<br />
(Gentoo) # mdadm --set-faulty /dev/md3 /dev/hdb3<br />
(Gentoo) # mdadm --remove /dev/md3 /dev/hdb3<br />
(Gentoo) # mdadm --set-faulty /dev/md5 /dev/hdb5<br />
(Gentoo) # mdadm --remove /dev/md5 /dev/hdb5</code></p>
<p>Checked on the current RAID status. Every RAID array should have been failed and with only one disk:<br />
<code>(Gentoo) # cat /proc/mdstat<br />
 Personalities : [raid0] [raid1]<br />
 md1 : active raid1 hda1[0]<br />
       48064 blocks [2/1] [U_]<br />
 md3 : active raid1 hda3[0]<br />
       223576512 blocks [2/1] [U_]<br />
 md5 : active raid1 hda5[0]<br />
       9791488 blocks [2/1] [U_]<br />
 done</code></p>
<p>We were now ready to repartition /dev/hdb.<br />
<strong><em>PART B) Repartition hdb</em></strong><br />
<code>(Gentoo) #  fdisk hdb</code><br />
Created 3 partitions: a) 128Mb for /boot, b) 1Gb for Swap and c) the rest for LVM<br />
In order to re-read the partition table we issue:<br />
<code>(Gentoo) # hdparm -z /dev/hdb</code><br />
Check if everything is OK<br />
<code>(Gentoo) # cat /proc/partitions  | grep hdb</code></p>
<p><strong><em>PART C) Install Debian on /dev/hdb</em></strong><br />
We first had to install the proper tools to do that. In order to create LVM partitions we needed the lvm userspace tools:<br />
<code>(Gentoo) # emerge -avt lvm2</code><br />
Then we needed to install the tools to create the Debian system, the package is called debootstrap.<br />
<code>(Gentoo) # emerge -avt debootstrap</code><br />
Created the new RAID1 arrays:<br />
<code>(Gentoo) # mdadm --create /dev/md11 --level=1 -n 2 /dev/hdb1 missing<br />
(Gentoo) # mdadm --create /dev/md12 --level=1 -n 2 /dev/hdb2 missing<br />
(Gentoo) # mdadm --create /dev/md13 --level=1 -n 2 /dev/hdb3 missing</code><br />
Checked the new RAID arrays:<br />
<code>(Gentoo) # cat /proc/mdstat</code><br />
Created some basic LVM partitions on top of md13. We didn&#8217;t use the whole space of hdb3 because we are going to create more partitions when and where we need to in the future:<br />
<code>(Gentoo) # pvcreate /dev/md13<br />
(Gentoo) # vgcreate local /dev/md13<br />
(Gentoo) # vgdisplay<br />
(Gentoo) # lvcreate -n root -L 10G local<br />
(Gentoo) # lvcreate -n tmp -L 2G local<br />
(Gentoo) # lvcreate -n home -L 20G local</code></p>
<p>Formatted the LVM partitions and mounted them someplace.<br />
<code>(Gentoo) # mkfs.ext2 /dev/md11<br />
(Gentoo) # mkfs.ext3 /dev/local/root<br />
(Gentoo) # mkfs.ext3 /dev/local/home<br />
(Gentoo) # mkfs.ext3 /dev/local/tmp<br />
(Gentoo) # tune2fs -c 0 -i 0 /dev/local/root<br />
(Gentoo) # tune2fs -c 0 -i 0 -m 0 /dev/local/home<br />
(Gentoo) # tune2fs -c 0 -i 0 /dev/local/tmp<br />
(Gentoo) # mkdir /mnt/newroot<br />
(Gentoo) # mkdir /mnt/newroot/{boot,home,tmp}<br />
(Gentoo) # mount /dev/local/root /mnt/newroot/<br />
(Gentoo) # mount /dev/md11 /mnt/newroot/boot/<br />
(Gentoo) # mount /dev/local/home /mnt/newroot/home/<br />
(Gentoo) # mount /dev/local/tmp  /mnt/newroot/tmp/</code></p>
<p>Then it was time to install Debian on /mnt/newroot using debootstrap:<br />
<code>(Gentoo) # debootstrap --arch=amd64 lenny /mnt/newroot/ http://ftp.ntua.gr/debian</code></p>
<p>After a while, when it was over we chrooted to the Debian install:<br />
<code>(Gentoo) # cd /mnt/newroot/<br />
(Gentoo) # mount -o bind /dev dev/<br />
(Gentoo) # mount -t proc proc proc<br />
(Gentoo) # chroot . /bin/bash<br />
(Debian) #</code></p>
<p>We created the network config,<br />
<code>(Debian) # vi /etc/network/interfaces<br />
(contents)<br />
auto eth0<br />
iface eth0 inet static<br />
        address X.Y.Z.W<br />
        netmask 255.255.255.240<br />
        gateway A.B.C.D<br />
auto lo<br />
iface lo inet loopback<br />
(/contents)</code></p>
<p>We fixed /etc/apt/sources.list:<br />
<code>(Debian) # vim /etc/apt/sources.list<br />
(contents)<br />
deb http://ftp.ntua.gr/debian lenny main contrib non-free<br />
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free<br />
deb http://ftp.informatik.uni-frankfurt.de/debian-security/ lenny/updates main contrib<br />
deb-src http://security.debian.org/ lenny/updates main contrib<br />
(/contents)</code></p>
<p>We upgraded the current system and installed various usefull packages.<br />
<code>(Debian) # aptitude update<br />
(Debian) # aptitude full-upgrade<br />
(Debian) # aptitude install locales<br />
(Debian) # vi /etc/locale.gen<br />
(contents)<br />
el_GR ISO-8859-7<br />
el_GR.UTF-8 UTF-8<br />
en_US.UTF-8 UTF-8<br />
(/contents)<br />
(Debian) # locale-gen<br />
(Debian) # aptitude install openssh-server<br />
(Debian) # aptitude install linux-image-2.6.26-1-amd64<br />
(Debian) # aptitude install lvm2 mdadm<br />
(Debian) # aptitude purge citadel-server exim4+<br />
(Debian) # aptitude purge libcitadel1<br />
(Debian) # aptitude install grub less<br />
(Debian) # vi /etc/kernel-img.conf<br />
(contents)<br />
do_symlinks = Yes<br />
do_initrd = yes<br />
postinst_hook = update-grub<br />
postrm_hook   = update-grub<br />
(/contents)<br />
(Debian) # vi /etc/hosts<br />
(Debian) # vi /etc/fstab<br />
(contents)<br />
proc            /proc   proc    defaults                0       0<br />
/dev/local/root /       ext3    defaults,noatime        0       0<br />
/dev/local/tmp  /tmp    ext3    defaults,noatime,noexec 0       0<br />
/dev/local/home /home   ext3    defaults,noatime        0       0<br />
/dev/md11       /boot   ext2    defaults                0       0<br />
/dev/md12       none    swap    sw                      0       0<br />
(/contents)<br />
(Debian) # update-initramfs -u -k all<br />
(Debian) # passwd</code></p>
<p>And we logged out of Debian to go back to Gentoo to fix grub.<br />
<strong><em>PART D) Configure Grub on Gentoo (hda) to boot Debian /em></em></strong><br />
Since we didn&#8217;t have physical access to the server we had to boot Debian by using Grub on hda, where Gentoo&#8217;s Grub was.<br />
We copied the kernel from debian:<br />
<code>(Gentoo) # cp /mnt/newroot/boot/vmlinuz-2.6.26-1-amd64 /boot/<br />
(Gentoo) # cp /mnt/newroot/boot/initrd.img-2.6.26-1-amd64 /boot/</code><br />
We edited grub config to add an entry for debian and set it as default! Otherwise the system would reboot back to Gentoo.<br />
<code>(Gentoo) # vi /boot/grub/menu.lst<br />
(contents)<br />
default 1<br />
fallback 0<br />
timeout 10<br />
title=Gentoo<br />
root(hd0,0)<br />
kernel /gentoo-kernel ........<br />
initrd /gentoo-initrd<br />
title=debian (hdb)<br />
root(hd1,0)<br />
kernel /vmlinuz-2.6.26-1-amd64 root=/dev/mapper/local-root ro<br />
initrd /initrd.img-2.6.26-1-amd64<br />
(/contents)</code></p>
<p>Then we unmounted all partitions from /mnt/newroot/, we crossed our fingers and rebooted!<br />
Voila! We could  ssh to our new debian install <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  And there was much rejoicing&#8230;</p>
<p>What was left to be done, was to mount the old RAID arrays of Gentoo (md1,md3) take backups of configs and place them inside Debian. Then we could kill the old RAID arrays entirely, recreate partitions on hda and add those to RAID arrays of Debian (md11,md12,md13). Of course there should be special attention to re-install grub seperately on hda and hdb!! </p>
<p><strong><em>Debian-izing the disk with the Gentoo</em></strong><br />
After a couple of days I decided to move on, kill Gentoo completely and make Debian use both disks.<br />
First thing I did was to stop the old RAID1 arrays.<br />
<code>(Debian) # mdadm --stop /dev/md6<br />
(Debian) # mdadm --stop /dev/md3<br />
(Debian) # mdadm --stop /dev/md1</code><br />
Then I repartitioned /dev/sda (the Debian kernel uses the modules that all disks appear as /dev/sdX) and created partitions the same size as /dev/sdb&#8217;s.:<br />
<code>(Debian) # fdisk /dev/sda</code><br />
That was the point of no-return <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<blockquote><p>There&#8217;s a risk involved here. The original sda1 was 64Mb and the newer sdb1 was 128Mb. I couldn&#8217;t add sda1 to md11 without extending the sda1 partition. If completely scratched /dev/sda1 to create a new partition of 128Mb in size and a power failure occurred while this process was going on, the server could become unbootable, because it wouldn&#8217;t find a proper sda1 to boot from. If someone wanted to minimize that risk, he would have to repartition sda, extend sda1 to the size of sdb1, extend the old /dev/md1 to fit the new sda1 size and extend the fs beneath it. Of course there is still a problem of what would happend if a power failure occured while extending the fs&#8230;so I chose to skip that &#8220;risk&#8221; and pretend it&#8217;s not there <img src='http://www.void.gr/kargig/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></blockquote>
<p>Re-read the partition table:<br />
<code>(Debian) # hdparm -z /dev/sda</code><br />
Add the new partitions to the Debian RAID1 arrays.<br />
The first array I fixed was the /boot RAID1 array because it would only take some seconds to sync and minimizes the risk of a power failure while there&#8217;s no boot manager on the MBR and the rest of partitions are still syncing:<br />
<code>(Debian) # mdadm --add /dev/md11 /dev/sda1</code><br />
When the sync is over I installed Grub on both sda1 and sdb1:<br />
<code>(Debian) # grub<br />
grub> device (hd0) /dev/sda<br />
grub> root (hd0,0)<br />
 Filesystem type is ext2fs, partition type 0xfd<br />
grub> setup (hd0)<br />
 Checking if "/boot/grub/stage1" exists... no<br />
 Checking if "/grub/stage1" exists... yes<br />
 Checking if "/grub/stage2" exists... yes<br />
 Checking if "/grub/e2fs_stage1_5" exists... yes<br />
[...snip...]<br />
grub> quit<br />
(Debian) # grub<br />
grub> device (hd1) /dev/sdb<br />
grub> root (hd1,0)<br />
 Filesystem type is ext2fs, partition type 0xfd<br />
grub> setup (hd1)<br />
 Checking if "/boot/grub/stage1" exists... no<br />
 Checking if "/grub/stage1" exists... yes<br />
 Checking if "/grub/stage2" exists... yes<br />
 Checking if "/grub/e2fs_stage1_5" exists... yes<br />
[...snip...]<br />
grub> quit</code></p>
<p>Then we fix the rest RAID1 arrays:<br />
<code>(Debian) # mdadm --add /dev/md12 /dev/sda2<br />
(Debian) # mdadm --add /dev/md13 /dev/sda3</code><br />
The last sync took a while (approx 1h).</p>
<p>Make some final checks:<br />
<em>a) Check that grub is installed on every disk&#8217;s MBR</em><br />
<code>(Debian) # dd if=/dev/sda of=test.file bs=512 count=1<br />
1+0 records in<br />
1+0 records out<br />
512 bytes (512 B) copied, 5.4721e-05 s, 9.4 MB/s<br />
(Debian) # grep -i grub test.file<br />
Binary file test.file matches<br />
(Debian) # dd if=/dev/sdb of=test2.file bs=512 count=1<br />
1+0 records in<br />
1+0 records out<br />
512 bytes (512 B) copied, 5.4721e-05 s, 9.4 MB/s<br />
(Debian) # grep -i grub test2.file<br />
Binary file test2.file matches</code></p>
<p><em>b) Make sure you have the correct entries in grub config:</em><br />
<code>(Debian) # cat /boot/grub/menu.lst<br />
default 0<br />
timeout 10<br />
title=debian<br />
root(hd0,0)<br />
kernel /vmlinuz-2.6.26-1-amd64 root=/dev/mapper/local-root ro<br />
initrd /initrd.img-2.6.26-1-amd64</code></p>
<p><em>c) Check the RAID1 arrays</em><br />
<code>(Debian) # cat /proc/mdstat<br />
Personalities : [raid0] [raid1]<br />
md13 : active raid1 sdb3[0] sda3[1]<br />
      243071360 blocks [2/2] [UU]<br />
md12 : active (auto-read-only) raid1 sdb2[0] sda2[1]<br />
      987904 blocks [2/2] [UU]<br />
md11 : active raid1 sdb1[0] sda1[1]<br />
      136448 blocks [2/2] [UU]<br />
unused devices: <none></none></code></p>
<p>That&#8217;s all. Only a reboot will show whether everything went right.<br />
<strong>Good luck!</strong></p>
<p>P.S. The struggle of Gentoo taking over the world is not over. We may have lost a battle but we haven&#8217;t lost the war!</p>
<p>References:<br />
a) <a href="http://www.underhanded.org/papers/debian-conversion/remotedeb.html">HOWTO &#8211; Install Debian Onto a Remote Linux System</a><br />
Pretty old but was the base of our efforts<br />
b) <a href="http://www.epimetrics.com/topics/one-page?page_id=421&#038;topic=Bit-head%20Stuff&#038;page_topic_id=120#test">RAID1 on Debian Sarge</a><br />
c) <a href="http://www.debian-administration.org/articles/424">growing ext3 partition on RAID1 without rebooting</a><br />
d) <a href="http://togami.com/~warren/guides/remoteraidcrazies/">Remote Conversion to Linux Software RAID-1 for Crazy Sysadmins HOWTO</a><br />
e) <a href="http://www.gentoo.org/doc/en/lvm2.xml">Gentoo LVM2 installation</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/04/02/howto-remotely-install-debian-over-gentoo-without-physical-access/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>commandlinefu.com random entry parser</title>
		<link>http://www.void.gr/kargig/blog/2009/03/27/commandlinefucom-random-entry-parser/</link>
		<comments>http://www.void.gr/kargig/blog/2009/03/27/commandlinefucom-random-entry-parser/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 22:28:54 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[commandlinefu]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=400</guid>
		<description><![CDATA[I&#8217;ve written a small perl script to parse random entries from the extremely usefull commandlinefu.com website. Quoting from their site:
Command-Line-Fu is the place to record those command-line gems that you return to again and again.

The script code is very &#8220;clean&#8221;. I can almost say that it&#8217;s written in a very python-ish way.
Sample output:%./cfu.pl
CMD: for (( [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a small perl script to parse random entries from the extremely usefull <a href="http://commandlinefu.com">commandlinefu.com</a> website. Quoting from their site:</p>
<blockquote><p>Command-Line-Fu is the place to record those command-line gems that you return to again and again.
</p></blockquote>
<p>The script code is very &#8220;clean&#8221;. I can almost say that it&#8217;s written in a very python-ish way.<br />
Sample output:<code>%./cfu.pl<br />
CMD: for (( i = 0; i &lt; 100; i++ )); do echo "$i"; done<br />
URL=http://www.commandlinefu.com/commands/view/735/perform-a-c-style-loop-in-bash.  Title=Perform a C-style loop in Bash.<br />
Description: Print 0 through 99, each on a separate line.<br />
%./cfu.pl<br />
CMD: rsync -av -e ssh user@host:/path/to/file.txt .<br />
URL=http://www.commandlinefu.com/commands/view/20/synchronise-a-file-from-a-remote-server  Title=Synchronise a file from a remote server<br />
Description: You will be prompted for a password unless you have your public keys set-up.</code></p>
<p>You can get it from here: <a href="http://void.gr/kargig/blog/wp-content/cfu.pl">commandlinefu.com random entry parser perl script</a></p>
<p>As far as I&#8217;ve tested, it works out of the box on default perl installations of <a href="http://debian.org">Debian</a>, <a href="http://gentoo.org">Gentoo</a> and <a href="http://www.apple.com/macosx/">Mac OS X</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/03/27/commandlinefucom-random-entry-parser/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Severely degraded harddisk performance on sata_sil by athcool</title>
		<link>http://www.void.gr/kargig/blog/2009/03/22/severely-degraded-harddisk-performance-on-sata_sil-by-athcool/</link>
		<comments>http://www.void.gr/kargig/blog/2009/03/22/severely-degraded-harddisk-performance-on-sata_sil-by-athcool/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 07:47:05 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[athcool]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug-report]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[ext3]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[powesaving]]></category>
		<category><![CDATA[sata]]></category>
		<category><![CDATA[sata_sil]]></category>
		<category><![CDATA[vmstat]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=385</guid>
		<description><![CDATA[I am writing this post to provide some statistics on athcool + sata_sil usage. The results are horrible.
Athcool is a small utility, enabling/disabling Powersaving mode for AMD Athlon/Duron processors.
The homepage of the utility has a big fat warning as well:
WARNING: Depending on your motherboard and/or hardware components, enabling powersaving mode may cause:
    [...]]]></description>
			<content:encoded><![CDATA[<p>I am writing this post to provide some statistics on athcool + sata_sil usage. The results are horrible.</p>
<p><a href="http://members.jcom.home.ne.jp/jacobi/linux/softwares.html#athcool">Athcool</a> is a small utility, enabling/disabling Powersaving mode for AMD Athlon/Duron processors.<br />
The homepage of the utility has a big fat warning as well:</p>
<blockquote><p><strong>WARNING</strong>: Depending on your motherboard and/or hardware components, enabling powersaving mode may cause:</p>
<p>    * noisy or distorted sound playback<br />
    * a slowdown in harddisk performance<br />
    * system locks or instability
</p></blockquote>
<p>The Gentoo ebuild also has these warnings:</p>
<blockquote><p>	ewarn &#8220;WARNING: Depending on your motherboard and/or hardware components,&#8221;<br />
	ewarn &#8220;enabling powersaving mode may cause:&#8221;<br />
	ewarn &#8221; * noisy or distorted sound playback&#8221;<br />
	ewarn &#8221; * a slowdown in harddisk performance&#8221;<br />
	ewarn &#8221; * system locks or unpredictable behavior&#8221;<br />
	ewarn &#8221; * file system corruption&#8221;<br />
	ewarn &#8220;If you met those problems, you should not use athcool.  Please use&#8221;<br />
	ewarn &#8220;athcool AT YOUR OWN RISK!&#8221;
</p></blockquote>
<p>Ignoring all these warning I was using athcool for years on my old desktop box filled with 2 IDE disks. Never had any real problem at all, except for a some performance loss. The problem appeared when I first used a sata disk on motherboard&#8217;s, Gigabyte GA-7VAXP-A Ulta, sata controller which uses the sata_sil module.<br />
<span id="more-385"></span><br />
Here are some tests using dd and vmstat. The two commands were run on different terminals at the same time:<br />
<strong>1) athcool off</strong><br />
<em>a) dd to <strong>IDE</strong></em><br />
<code>(TERMINAL 1) user@box:~% vmstat 1<br />
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----<br />
 0  0      0 392296  19272 663892    0    0     0    56  260  332  0  0 100  0<br />
 1  0      0 813648  19344 245960    0    0     4 64604  486  849  4 58 14 24<br />
 0  1      0 769380  19388 289680    0    0     0 44032  399  890  3 30  0 67<br />
 0  2      0 769876  19388 290704    0    0     0     4  368  594  1  3  0 96<br />
 0  3      0 708372  19460 351120    0    0     0 40632  347  589  2 46  0 52<br />
 0  1      0 674272  19492 383928    0    0     0 53936  471  821  1 27  0 72<br />
 0  1      0 655796  19508 401744    0    0     0 17640  376  651  1 13  0 86<br />
 0  1      0 588712  19572 466880    0    0     0 65544  469 1024  9 40  0 51<br />
 1  1      0 579412  19584 478072    0    0     0  6148  368  852  5  8  0 87<br />
 0  2      0 504516  19664 550856    0    0     0 79104  414  817  3 52  0 45<br />
 1  0      0 453800  19712 600040    0    0     0 45420  350  616  4 30  0 66<br />
 0  1      0 414740  19748 637952    0    0     0 40872  401  700  3 26  0 71<br />
 0  1      0 367248  19792 684064    0    0     0 46112  357  619  5 32  0 63<br />
 1  1      0 360552  19804 693280    0    0     0  7240  421  795  2  8  0 90<br />
 2  1      0 268668  19896 782368    0    0     0 84768  385  722  5 65  0 30<br />
 2  1      0 230724  19932 819248    0    0     0 43672  378  598  2 27  0 71<br />
 1  1      0 184224  19976 864328    0    0     0 45080  349  587  5 27  0 68<br />
 0  1      0 142932  20016 904288    0    0     0 39960  369  653  1 33  0 66<br />
 1  1      0 136608  20032 913928    0    0     0  6400  337  523  2 11  0 87<br />
 0  1      0  46708  20120 1000568    0    0     0 90360  387  626  4 61  0 35<br />
 0  1      0  26508  14348 1025136    0    0     0 44048  346  633  1 29  0 70<br />
 0  1      0  23404  13368 1028324    0    0     0 42016  363  638  2 26  0 72<br />
 0  1      4  23776  11816 1028108    0    0     0 43048  336  631  0 30  0 70<br />
 1  1      4  24024  11000 1031428    0    0     0 26796  391  663  4 25  0 71<br />
 0  0      4  23652  11028 1032324    0    0     0 16836  336  648  2 14 18 66<br />
 0  0      4  23776  11028 1032324    0    0     0     0  278  397  1  0 99  0<br />
(TERMINAL 2) user@box:~%dd if=/dev/zero of=/path/to/parition/on/IDE/disk/file bs=1024 count=1000000<br />
1000000+0 records in<br />
1000000+0 records out<br />
1024000000 bytes (1.0 GB) copied, 22.8884 s, 44.7 MB/s<br />
</code><br />
Pretty decent performace.</p>
<p><em>b) dd to <strong>SATA</strong></em><br />
<code>(TERMINAL 1) user@box:~% vmstat 1<br />
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----<br />
 0  0      4 738008  21872 317948    0    0     0     0  308  427  2  0 98  0<br />
 0  0      4 738008  21880 317948    0    0     0    48  268  342  0  1 99  0<br />
 3  0      4 722508  21916 334312    0    0     4  8456  320  491  3 11 84  2<br />
 1  0      4 647612  22008 407372    0    0     0 80844  374  762  9 52  0 39<br />
 0  1      4 624796  22032 429996    0    0     0 22528  389  465  0 17  0 83<br />
 1  0      4 557836  22096 495032    0    0     0 64520  361  395  3 50  0 47<br />
 1  0      4 512576  22136 539012    0    0     0 44032  386  548  5 33  0 62<br />
 0  2      4 473640  22176 579080    0    0     0 38916  353  488  2 31  0 67<br />
 2  0      4 448220  22220 605548    0    0     0 23156  399  434  3 20  0 77<br />
 0  1      4 381880  22280 669192    0    0     0 60492  353  374  2 48  0 50<br />
 1  0      4 331784  22328 717848    0    0     0 49272  388  431  3 36  0 61<br />
 1  2      4 286648  22372 761716    0    0     0 43120  345  366  4 33  0 63<br />
 0  3      4 249696  22408 799240    0    0     0 46832  391  437  2 30  0 68<br />
 1  3      4 212124  22448 837352    0    0     0 28460  351  446  3 29  0 68<br />
 0  2      4 161160  22496 886304    0    0     0 58856  439  479  3 39  0 58<br />
 0  2      4 115652  22540 930336    0    0     0 44032  355  523  2 32  0 66<br />
 0  2      4  68036  22584 976416    0    0     0 46080  426  699  6 32  0 62<br />
 1  1      4  22548  22628 1020476    0    0     0 44028  366  590 15 29  0 56<br />
 2  2      4  23032  22672 1019420    0    0     0 42012  386 1082 40 36  0 24<br />
 0  2      4  24272  20772 1019388    0    0     0 45116  360  779 16 36  0 48<br />
 1  1    184  23652  16948 1022416    0    0     0 33968  365  446 20 30  0 50<br />
 0  2    184  23280  16668 1022620    0    0     0 50188  369  505  3 35  0 62<br />
 0  2    184  24520  16688 1020540    0    4     0 44036  376  458  9 36  0 55<br />
 0  2    184  27868  16632 1022072    0    0     0 25908  459  441  5 19  0 76<br />
 1  1    184  23652   6796 1036996    0    0     0 37820  386  472  3 30  0 67<br />
 0  0    184  24520   6084 1037356    0    0     0 16580  342  424  4 15  1 80<br />
 0  0    184  24644   6084 1037356    0    0     0     0  294  374  1  0 99  0<br />
(TERMINAL 2) user@box:~%dd if=/dev/zero of=/path/to/parition/on/SATA/disk/file bs=1024 count=1000000<br />
1000000+0 records in<br />
1000000+0 records out<br />
1024000000 bytes (1.0 GB) copied, 22.2838 s, 46.0 MB/s<br />
</code><br />
Sata was a bit faster, as expected.</p>
<p><strong>2) athcool on</strong><br />
<em>a) dd to <strong>IDE</strong></em><br />
<code>(TERMINAL 1) user@box:~% vmstat 1<br />
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----<br />
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa<br />
 2  0    184 119536   7040 942204    0    0   119  2047  300  740  8  3 82  7<br />
 0  0    184 119536   7040 942204    0    0     0     0  290  711  4  0 96  0<br />
 1  2    184 103292   7092 958828    0    0    16  4496  413  685  2 13 82  3<br />
 0  1    184  67828   7124 993432    0    0     0 46884  612 1149  2 30  0 68<br />
 0  1    184  54188   7136 1006756    0    0     0 13312  552  878  2 12  0 86<br />
 0  1    184  22908   7196 1036576    0    0     0 62472  447 1007  7 50  0 43<br />
 0  1    184  24644   7224 1034272    0    0     0 24428  459  739  1 27  0 72<br />
 0  3    184  25760   7236 1034740    0    0     0  4392  499  732  2 10  0 88<br />
 1  3    184  23652   7284 1036484    0    0     0 42900  536  977  3 39  0 58<br />
 1  4    184  25140   7308 1034448    0    0     0 41144  470  861  3 19  0 78<br />
 0  2    184  24636   7340 1034084    0    0    12 33816  466  797  4 26  0 70<br />
 0  2    184  25256   7340 1034084    0    0     0     0  447  605  2  3  0 95<br />
 0  2    184  22904   7424 1035360    0    0     4 73032  466  848  6 58  0 36<br />
 0  2    184  23272   7452 1036132    0    0     0 23308  458  786  3 27  0 70<br />
 0  2    184  24144   7500 1035644    0    0     0 46364  478  800  7 35  0 58<br />
 0  2    184  25132   7560 1034492    0    0     0 23356  441  673  2 16  0 82<br />
 0  2    184  25752   7560 1034492    0    0     0     0  502  728  1  0  0 99<br />
 0  1    184  23768   7632 1034748    0    0     0 74820  407  778  6 57  0 37<br />
 0  2    184  23644   7672 1035388    0    0     0 41016  465  829  5 30  0 65<br />
 0  2    184  23272   7712 1036284    0    0     0 39216  448  744  3 31  0 66<br />
 0  1    184  23148   7752 1035900    0    0     0 37084  535 1120  3 29  0 68<br />
 0  1    184  23024   7800 1035420    0    0     0 46112  435  724  3 34  0 63<br />
 0  1    184  23024   6900 1035472    0    0     0 34832  480  737  5 24  0 71<br />
 1  1    184  23024   6660 1036344    0    0     0 28956  450  759  2 30  0 68<br />
 1  1    184  24016   6592 1035540    0    0     0 37108  483  873  2 27  0 71<br />
 0  1    184  23396   6636 1036104    0  180     0 46644  420  874  6 34  0 60<br />
 1  0    196  23148   6668 1036156    0    0     0 37896  473  812  5 29  0 66<br />
 0  1    196  23272   6712 1035412    0    0     0 45064  409  709  2 34  0 64<br />
 1  1    196  23148   6720 1037232    0    0     0   356  471  637  2  7  0 91<br />
 0  2    196  23648   6744 1036236    0    0     0 48400  433  893  3 34  0 63<br />
 0  1    196  23396   6276 1036672    0    0     0 46100  462 1001  4 33  0 63<br />
 0  0    196  24016   6280 1036672    0    0     0     4  445  586  1  2 75 22<br />
 0  0    196  24388   6280 1036672    0    0     0     0  358  475  1  3 96  0<br />
 0  0    196  24388   6280 1036672    0    0     0     0  272  362  1  0 99  0<br />
(TERMINAL 2) user@box:~% dd if=/dev/zero of=/path/to/parition/on/IDE/disk/file bs=1024 count=1000000<br />
1000000+0 records in<br />
1000000+0 records out<br />
1024000000 bytes (1.0 GB) copied, 28.1283 s, 36.4 MB/s<br />
</code><br />
Hello degraded performace! 44.7Mb/s -> 36.4MB/s. This is a 18.57% drop. Still I consider it quite acceptable for a desktop pc.</p>
<p><em>a) dd to <strong>SATA</strong></em><br />
<code>(TERMINAL 1) user@box:~% vmstat 1<br />
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----<br />
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa<br />
 2  0    196 1031508   5284  43612    0    0    94  2389  310  715  8  3 77 12<br />
 0  0    196 1031508   5284  43612    0    0     0     0  312  662  5  0 95  0<br />
 1  0    196 966284   5284 107512    0    0     0 63484  343  457  6 48 15 31<br />
 0  1    196 959588   5284 114240    0    0     0  7168  403  694  4  6  0 90<br />
 0  1    196 952272   5284 121408    0    0     0  7168  371  610  4  8  0 88<br />
 0  1    196 944956   5284 128572    0    0     0  7164  420  478  2  6  0 92<br />
 1  1    196 918544   5324 151464    0    0   376 22652  429 1713 18 27  0 55<br />
 0  2    196 917924   5324 152488    0    0     0  1048  416  649  2  3  0 95<br />
 0  2    196 918048   5324 152488    0    0     0    16  392  540  0  0  0 100<br />
 0  2    196 917552   5336 152648    0    0   172    20  435  780  2  0  0 98<br />
 0  2    196 917676   5336 152648    0    0     0     0  372  491  0  0  0 100<br />
 0  2    196 917800   5344 152648    0    0     0    60  404  559  3  0  0 97<br />
 0  2    196 917924   5344 152648    0    0     0    20  380  620  2  1  0 97<br />
 0  2    196 918172   5344 152648    0    0     0    28  416  966  6  1  0 93<br />
 0  2    196 918296   5344 152648    0    0     0    16  369  356  2  0  0 98<br />
 0  2    196 918420   5344 152648    0    0     0    16  401  384  0  1  0 99<br />
 0  1    196 850840   5360 219204    0    0     0 66884  467  696  3 51  0 46<br />
 0  1    196 845384   5368 224324    0    0     0  5136  419  520  3  1  0 96<br />
 0  1    196 836952   5368 232512    0    0     0  8188  385  742  4  5  0 91<br />
 0  1    196 831744   5368 237632    0    0     0  5120  426  489  0  1  0 99<br />
 0  1    196 825420   5368 243776    0    0     0  6144  422  600  0  1  0 99<br />
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----<br />
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa<br />
 1  2    196 819064   5368 245824    0    0     0  2096  417 1427 29  6  0 65<br />
 0  2    196 823560   5368 245824    0    0     0    20  494 1913 16  4  0 80<br />
 0  2    196 823808   5376 245824    0    0     0    28  480 1719  8  2  0 90<br />
 0  1    196 758336   5384 310328    0    0     0 64800  423 1204 24 53  0 23<br />
[snip]<br />
 0  2    196 104236   5628 954752    0    0     0     8  405  745  2  2  0 96<br />
 0  2    196  43600   5640 1013984    0    0     0 59740  453  815  4 44  0 52<br />
 0  2    196  29712   5640 1027300    0    0     0 13320  403  758  3  5  0 92<br />
 0  2    196  23892   5640 1032852    0    0     0  9220  430  693  4  4  0 92<br />
 0  1    196  22776   3892 1035820    0    0     0  7184  402  728  5  1  0 94<br />
 0  1    196  22776   3892 1035820    0    0     0     0  451 1172  5  3  0 92<br />
 0  1    196  22776   3892 1035820    0    0     0     0  386  813  2  1  0 97<br />
 0  1    196  22776   3896 1035820    0    0     0     4  412  385  0  0  0 100<br />
 0  1    196  22776   3896 1035820    0    0     0     4  358  320  0  0  0 100<br />
 0  1    196  25380   3896 1032748    0    0     0     0  416  722  7  1  0 92<br />
 0  1    196  25504   3904 1032748    0    0     0    16  365  404  2  2  0 96<br />
 0  1    196  25628   3904 1032748    0    0     0     0  396  471  1  1  0 98<br />
 0  1    196  25876   3904 1032748    0    0     0     0  364  526  6  0  0 94<br />
 0  0    196  26992   3912 1032748    0    0     0   968  395 1288 14  3 55 28<br />
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----<br />
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa<br />
 0  1    196  26992   3912 1032748    0    0     0     4  323 1412 13  1 86  0<br />
 0  0    196  26992   3920 1032748    0    0     0    12  379 1755 16  1 83  0<br />
(TERMINAL 2) user@box:~%dd if=/dev/zero of=/path/to/parition/on/SATA/disk/file bs=1024 count=1000000<br />
1000000+0 records in<br />
1000000+0 records out<br />
1024000000 bytes (1.0 GB) copied, 114.792 s, 8.9 MB/s<br />
</code><br />
What about that!!! <strong>46Mb/s -> 8.9Mb/s</strong> That&#8217;s an incredible 80% percent performance loss! I/O wait is always maxed at 90-100% which makes the machine totally unresponsive. I had to snip the output of vmstat because it is huge. It&#8217;s more than 140lines while all the others were at max 36 (athcool on, IDE). If anyone wants it I can surely upload it here.</p>
<p>I don&#8217;t think that&#8217;s what the programmer of athcool had in mind when he was talking about degraded performance&#8230;I think this is a bug. I can accept a 20% loss but not an 80% loss of performance. By the way, these tests were performed on ext3, but the same results appear with reiserfs as well.</p>
<p>This &#8220;bug&#8221; took me a while to figure out. I had my sata disk crawling for a long time before I thought of disabling athcool (yeah yeah I know it should have been the first thing to do&#8230;). I initially thought on posting the &#8220;bug&#8221; to the Gentoo bugzilla but while searching it I came up with this: <a href="http://bugs.gentoo.org/show_bug.cgi?id=248820"><br />
sys-power/athcool causes massive filesystem corruption; upstream was informed but did not respond</a>. As far as I can tell Gentoo developers think that since there is a warning there is no extra reason that this package should be masked or whatever.</p>
<p>Dear Internets,<br />
Is there anyone else who can confirm the same behavior of athcool with sata controllers ? I don&#8217;t have another sata controller to test, but if someone uses a different sata module, a test like the one I performed would show us whether it&#8217;s a sata_sil problem, so that I should report it to the kernel maintainers or an athcool problem, so that we should at least fill a new bug at the <a href="http://bugs.gentoo.org">Gentoo bugzilla</a> to ask the developers to hardmask the package.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2009/03/22/severely-degraded-harddisk-performance-on-sata_sil-by-athcool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo&#8217;s epic phail</title>
		<link>http://www.void.gr/kargig/blog/2008/11/15/gentoos-epic-phail/</link>
		<comments>http://www.void.gr/kargig/blog/2008/11/15/gentoos-epic-phail/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 14:23:51 +0000</pubDate>
		<dc:creator>kargig</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.void.gr/kargig/blog/?p=325</guid>
		<description><![CDATA[As some people already know I&#8217;ve joined the army since 2 months ago,  this makes it somewhat difficult for me to keep up with the latest updates for every machine I use.
Today I tried to upgrade a machine running stable (x86) Gentoo Linux after more than 15 days since the last upgrade and I [...]]]></description>
			<content:encoded><![CDATA[<p>As some people already know I&#8217;ve joined the army since 2 months ago,  this makes it somewhat difficult for me to keep up with the latest updates for every machine I use.<br />
Today I tried to upgrade a machine running stable (x86) Gentoo Linux after more than 15 days since the last upgrade and I got confronted with an epic Gentoo failure. The problem is clearly described on <a href="http://www.odi.ch/weblog/posting.php?posting=524">Odi&#8217;s blog</a>. While trying to update e2fsprogs you have to uninstall the old version of them (so far so good), remove sys-libs/ss (that&#8217;s also acceptable) and remove sys-libs/com_err which is a dependency for MANY MANY progs, wget among them. So when you remove all these packages and try to install e2fsprogs-libs, wget can&#8217;t work anymore due to the missing libcom_err.so.2 file, so you can&#8217;t download the updates! You can&#8217;t open a new ssh connection to the machine either, so you can&#8217;t sftp the libcom_err.so.2 file from another machine! I had success by placing libcom_err.so.2  on a nfs share in another machine, mounting that share from the first machine and trying to re-emerge e2fsprogs-libs since wget could then work.</p>
<p>You can read more about the bug on Gentoo&#8217;s bugzilla, <a href="http://bugs.gentoo.org/show_bug.cgi?id=244511">here</a> and <a href="http://bugs.gentoo.org/show_bug.cgi?id=234907">here</a>.</p>
<p>a) Since portage is NOT ready to handle these kind of situations (according to bugzilla) why did the maintainers mark e2fsprogs-libs as stable ? Why didn&#8217;t they do ANY testing at all on the stable branch ?<br />
b) Why wasn&#8217;t there a warning/alert/whatever on Gentoo&#8217;s website ?<br />
c) It&#8217;s been more than 10 days since the problem first appeared and there hasn&#8217;t been any official solution about it, either by portage upgrade or by package masking.<br />
d) Should I have googled or searched the forums before upgrading ? Possibly yes&#8230;but Gentoo didn&#8217;t have such upgrade problems before. I could accept it if problems on Gentoo were created by an upstream ABI breakage like dev-libs/expat had not so long ago, but this looks to me as a totally Gentoo related problem and not an upstream one.</p>
<p>I award Gentoo and e2fsprogs-libs maintainers a <a href="http://www.sadtrombone.com/">sad trombone</a>. Sorry people but this is an epic failure. You deserve it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.void.gr/kargig/blog/2008/11/15/gentoos-epic-phail/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
