<?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>BigSmoke &#187; Gentoo</title>
	<atom:link href="http://blog.bigsmoke.us/tag/gentoo/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.bigsmoke.us</link>
	<description>Smokes your problems, coughs fresh air.</description>
	<lastBuildDate>Sat, 04 Feb 2012 18:03:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SystemRescueCd</title>
		<link>http://blog.bigsmoke.us/2010/06/29/systemrescuecd</link>
		<comments>http://blog.bigsmoke.us/2010/06/29/systemrescuecd#comments</comments>
		<pubDate>Tue, 29 Jun 2010 10:10:19 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Live CD]]></category>
		<category><![CDATA[SystemRescueCd]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=1496</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sysresccd.org/">SystemRescueCd</a> is my favorite Linux live CD&#8217;s for system recovery and related tasks. It is based on Gentoo and comes with all the right toys to make me happy. <img src='http://blog.bigsmoke.us/wp-factory/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2010/06/29/systemrescuecd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo auto-login and startx</title>
		<link>http://blog.bigsmoke.us/2010/06/20/auto-login-startx</link>
		<comments>http://blog.bigsmoke.us/2010/06/20/auto-login-startx#comments</comments>
		<pubDate>Sat, 19 Jun 2010 22:32:09 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[auto-login]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[GRUB]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[X]]></category>
		<category><![CDATA[XDM]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=1440</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t believe in system passwords if they&#8217;re not backup by some type of disk encryption. It&#8217;s simply too easy to circumvent by changing a few boot parameters or by inserting a good boot disk. For performance reasons, I&#8217;ve decided against using full-disk encryption for my laptop and even against encryption for my home folder. This makes typing in a password to login a mere annoyance.  Admittedly, my laptop features a fingerprint reader, but at the time I couldn&#8217;t get it to work and it still requires me to type in my username, which I find just as superfluous. Also, fingerprints aren&#8217;t that secure either.</p>

<p>For ages now, I&#8217;ve just wanted to be automatically logged in and greeted by an X session when I boot, especially since my xdm died after some upgrade about a year ago or so ago. For how much time I spend with this machine, I&#8217;m amazed how long it takes me before deciding that logging in in the console and typing <tt>startx</tt> might be not such a good idea.</p>

<p>(It probably has everything to do with “conditionality”. I tell myself, for example, that before ditching xdm (which is one of the few X login managers which <em>doesn&#8217;t</em> support auto login), I first need to get it to work again to make a screenshot of my “cute” configuration. Can&#8217;t kill my darlings; never could.)</p>

<p>So fuck all that. I&#8217;m too lazy to resurrect my darling, no matter how cute, so I took a look <a href="http://www.gentoo-wiki.info/TIP_Passwordless_Login">at this</a> and added to following to <tt>/etc/conf.d/local.start</tt>:</p>

<pre class="bash"><span style="color: #808080; font-style: italic;"># Start X as user if tty7 is free</span>
<span style="color: #b1b100;">if</span> ! fuser /dev/tty7 &gt;&amp; /dev/null; <span style="color: #b1b100;">then</span>
    su - bigsmoke -l -c <span style="color: #ff0000;">'exec startx -- vt7 &gt;&amp; ~/.xsession-errors'</span> &amp;
<span style="color: #b1b100;">fi</span></pre>

<p>Done. Maybe I&#8217;ll also decide to make all my console sessions auto-login, if I can be arsed, that is.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2010/06/20/auto-login-startx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cleanly managing CPAN packages in Gentoo with g-cpan</title>
		<link>http://blog.bigsmoke.us/2010/02/05/g-cpan</link>
		<comments>http://blog.bigsmoke.us/2010/02/05/g-cpan#comments</comments>
		<pubDate>Fri, 05 Feb 2010 01:53:36 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[CPAN]]></category>
		<category><![CDATA[g-cpan]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=1209</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m playing with <a href="http://www.gentoo.org/proj/en/perl/g-cpan.xml">g-cpan</a> to try to install <a href="http://search.cpan.org/~leocharre/WordPress-Post-1.04/">WordPress::Post</a> in Gentoo without causing the usual mess.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2010/02/05/g-cpan/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configuring X input devices through HAL</title>
		<link>http://blog.bigsmoke.us/2009/09/20/x-input-hal</link>
		<comments>http://blog.bigsmoke.us/2009/09/20/x-input-hal#comments</comments>
		<pubDate>Sun, 20 Sep 2009 13:12:15 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[HAL]]></category>
		<category><![CDATA[Synaptics]]></category>
		<category><![CDATA[Touchpad]]></category>
		<category><![CDATA[X]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=734</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>When I went from X.org &lt; 7.3 to X.org &gt; 7.3, I had to make some changes to my X input configuration.</p>

<p>First of all, I had to replace <tt>x11-drivers/synaptics</tt> (<tt><a href="http://web.telia.com/~u89404340/touchpad/">http://web.telia.com/~u89404340/touchpad/</a></tt>) with the newer <tt>x11-drivers/xf86-input-synaptics</tt>, which is automatically installed if you set <tt>INPUT_DEVICES="${INPUT_DEVICES} synaptics"</tt> or if you add &#8220;<tt>x11-base/xorg-server input_devices_synaptics</tt>&#8221; to <tt>/etc/portage/package.use</tt>.

<p>Starting with X.org 7.3, you&#8217;re supposed to use HAL for all the X input configuration. All the <tt>"InputDevice"</tt> sections have to be removed from <tt>xorg.conf</tt> (and of course the references in <tt>"ServerLayout"</tt>). If you don&#8217;t want this, you can add the following options:</p>

<pre class="php">Section <span style="color: #ff0000;">&quot;ServerFlags&quot;</span>
  Option <span style="color: #ff0000;">&quot;AllowEmptyInput&quot;</span> <span style="color: #ff0000;">&quot;off&quot;</span>
  Option <span style="color: #ff0000;">&quot;AutoEnableDevices&quot;</span> <span style="color: #ff0000;">&quot;off&quot;</span>
EndSection</pre>

<p>I chose HAL. I wanted to replicate the following settings using HAL.</p>

<pre class="php">Section <span style="color: #ff0000;">&quot;InputDevice&quot;</span>
    Identifier <span style="color: #ff0000;">&quot;Keyboard1&quot;</span>
    Driver     <span style="color: #ff0000;">&quot;kbd&quot;</span>
    Option <span style="color: #ff0000;">&quot;AutoRepeat&quot;</span> <span style="color: #ff0000;">&quot;500 30&quot;</span>
    Option <span style="color: #ff0000;">&quot;XkbRules&quot;</span>  <span style="color: #ff0000;">&quot;xorg&quot;</span>
    Option <span style="color: #ff0000;">&quot;XkbModel&quot;</span>  <span style="color: #ff0000;">&quot;thinkpadintl&quot;</span>
    Option <span style="color: #ff0000;">&quot;XkbLayout&quot;</span> <span style="color: #ff0000;">&quot;us&quot;</span>
    Option <span style="color: #ff0000;">&quot;XkbOptions&quot;</span>        <span style="color: #ff0000;">&quot;ctrl:nocaps,altwin:menu,compose:ralt,eurosign:e&quot;</span>
EndSection
&nbsp;
Section <span style="color: #ff0000;">&quot;InputDevice&quot;</span>
    Identifier <span style="color: #ff0000;">&quot;Synaptics Touchpad&quot;</span>
    Driver     <span style="color: #ff0000;">&quot;synaptics&quot;</span>
    Option <span style="color: #ff0000;">&quot;SendCoreEvents&quot;</span> <span style="color: #ff0000;">&quot;true&quot;</span>
    Option <span style="color: #ff0000;">&quot;Device&quot;</span> <span style="color: #ff0000;">&quot;/etc/psaux&quot;</span>
    Option <span style="color: #ff0000;">&quot;Protocol&quot;</span>    <span style="color: #ff0000;">&quot;auto-dev&quot;</span>    <span style="color: #808080; font-style: italic;"># Auto detect</span>
<span style="color: #808080; font-style: italic;">#    Option &quot;TouchpadOff&quot; &quot;1&quot; #Uncomment if you just want to disable the touchpad and use only the trackpoint</span>
<span style="color: #808080; font-style: italic;">#    Option &quot;HorizScrollDelta&quot; &quot;0&quot; #Why is this in here by default. By Gods, it kill horizontal scrolling!</span>
    Option <span style="color: #ff0000;">&quot;RightEdge&quot;</span> <span style="color: #ff0000;">&quot;5500&quot;</span> <span style="color: #808080; font-style: italic;">#This is a little bigger than the default narrowing the scroll region</span>
    Option <span style="color: #ff0000;">&quot;BottomEdge&quot;</span> <span style="color: #ff0000;">&quot;4500&quot;</span> <span style="color: #808080; font-style: italic;">#This is a little bigger than the default narrowing the scroll region</span>
    Option <span style="color: #ff0000;">&quot;RTCornerButton&quot;</span> <span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #808080; font-style: italic;">#disable Right Top corner &quot;button&quot; </span>
    Option <span style="color: #ff0000;">&quot;RBCornerButton&quot;</span> <span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #808080; font-style: italic;">#disable Right Top corner &quot;button&quot; </span>
    Option <span style="color: #ff0000;">&quot;SHMConfig&quot;</span> <span style="color: #ff0000;">&quot;on&quot;</span> <span style="color: #808080; font-style: italic;">#this allows configuration of the touchpad using qsynaptics, synclient, or what have you</span>
EndSection</pre>

<p>The keyboard part was easy. I copied <tt>/usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi</tt> to <tt>/etc/hal/fdi/policy/99-keymap.fdi</tt> and made a few adjustments:</p>

<pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;ISO-8859-1&quot;</span><span style="font-weight: bold; color: black;">?&gt;</span></span> <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- -*- SGML -*- --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;deviceinfo</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;0.2&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;device<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.capabilities&quot;</span> <span style="color: #000066;">contains</span>=<span style="color: #ff0000;">&quot;input.keymap&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;append</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.callouts.add&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;strlist&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>hal-setup-keymap<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/append<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/match<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.capabilities&quot;</span> <span style="color: #000066;">contains</span>=<span style="color: #ff0000;">&quot;input.keys&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.rules&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>xorg<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
      <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- If we're using Linux, we use evdev by default (falling back to
           keyboard otherwise). --&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.model&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>thinkpadintl<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;/org/freedesktop/Hal/devices/computer:system.kernel.name&quot;</span>
             <span style="color: #000066;">string</span>=<span style="color: #ff0000;">&quot;Linux&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
        <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.model&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>evdev<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/match<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.layout&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>us<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.variant&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.autoRepeat&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>500 30<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.xkb.options&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ctrl:nocaps,altwin:menu,compose:ralt,eurosign:e<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/match<span style="font-weight: bold; color: black;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/device<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/deviceinfo<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre>

<p>The Touchpad configuration was a little more involving, because I added a few options which, before, I didn&#8217;t know the thing supported. <tt>99-x11-synaptics.fdi</tt>:</p>

<pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;ISO-8859-1&quot;</span><span style="font-weight: bold; color: black;">?&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;deviceinfo</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;0.2&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;device<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.capabilities&quot;</span> <span style="color: #000066;">contains</span>=<span style="color: #ff0000;">&quot;input.touchpad&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_driver&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>synaptics<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Arbitrary options can be passed to the driver using
         the input.x11_options property since xorg-server-1.5. --&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Switch on shared memory, enables the driver to be configured at runtime --&gt;</span></span>
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- This allows configuration of the touchpad using qsynaptics, synclient, or what have you --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.SHMConfig&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>on<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Enable vertical scrolling by dragging your finger along the right edge --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.VertEdgeScroll&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>1<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Enable horizontal scrolling by dragging your finger along the left edge --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.HorizEdgeScroll&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>1<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- This is a little bigger than the default narrowing the scroll region --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.RightEdge&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>5500<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- This is a little bigger than the default narrowing the scroll region --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.BottomEdge&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>4500<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- disable Right Top corner &quot;button&quot; --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.RTCornerButton&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>0<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- disable Right Bottom corner &quot;button&quot; --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.RBCornerButton&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>0<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Enable vertical scrolling when dragging with two fingers anywhere on the touchpad --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.VertTwoFingerScroll&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>1<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Enable horizontal scrolling when dragging with two fingers anywhere on the touchpad --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.HorizTwoFingerScroll&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>1<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Enable tapping to emulate mouse buttons --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.TapButton1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>1<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.TapButton2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>2<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.TapButton3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>3<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Maximum movement of the finger for detecting a tap --&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.MaxTapMove&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>221<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/merge<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- For other possible options, check CONFIGURATION DETAILS in synaptics man page --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/match<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/device<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/deviceinfo<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre>

<p>I&#8217;m still not completely satisfied with the Touchpad configuration (actually less so than before I started messing with HAL), so I wrote a little tool to be able to mess around with my configuration a little bit easier.</p>

<h2>Introducing <tt>synclient-sync</tt></h2>

<p>With <tt>SHMConfig on</tt>, you can use the <tt>synclient</tt> program to make changes to the touchpad configuration without having to restart X. I decided that it would be handy if I could utilize this to test out changes I made to the HAL config file without having to reload it, so I wrote a little script which detects the differences between the current (live) configuration and the configuration in the HAL <tt>.fdi</tt> file. The running configuration is then updated to reflect the changes in this file.
(Newer versions of the script can be found <a href="http://gist.github.com/169034">on GitHub</a>)</p>

<pre class="bash"><span style="color: #808080; font-style: italic;">#!/bin/bash</span>
 
<span style="color: #0000ff;">HAL_FILE=</span>/etc/hal/fdi/policy/<span style="color: #cc66cc;">99</span>-x11-synaptics.fdi
 
<span style="color: #0000ff;">VERBOSITY_LEVEL=</span><span style="color: #cc66cc;">2</span>
 
usage<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    cat &lt;&lt;EOF
Usage: $<span style="color: #cc66cc;">0</span> options
 
OPTIONS:
--verbosity <span style="color: #66cc66;">&#91;</span>level<span style="color: #66cc66;">&#93;</span> Control the level of output processed by the script.
Level <span style="color: #cc66cc;">0</span>: No output at all
Level <span style="color: #cc66cc;">1</span>: Only output changed options
Level <span style="color: #cc66cc;">2</span>: Only output options <span style="color: #000066;">set</span> <span style="color: #b1b100;">in</span> the configuration file
Level <span style="color: #cc66cc;">3</span>: Output all options
--verbose Shortcut <span style="color: #b1b100;">for</span> verbosity level <span style="color: #cc66cc;">3</span>
--<span style="color: #000066;">help</span> Show this <span style="color: #000066;">help</span>
EOF
 
    <span style="color: #000066;">exit</span> <span style="color: #cc66cc;">1</span>
<span style="color: #66cc66;">&#125;</span>
 
options_from_hal_file<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">HAL_SED_FILTER=</span><span style="color: #ff0000;">'s%^<span style="color: #000099; font-weight: bold;">\s</span>*&lt;merge<span style="color: #000099; font-weight: bold;">\s</span>*key=&quot;input<span style="color: #000099; font-weight: bold;">\.</span>x11_options<span style="color: #000099; font-weight: bold;">\.</span><span style="color: #000099; font-weight: bold;">\(</span>.*<span style="color: #000099; font-weight: bold;">\?</span><span style="color: #000099; font-weight: bold;">\)</span>&quot;<span style="color: #000099; font-weight: bold;">\s</span>*type=&quot;string&quot;&gt;<span style="color: #000099; font-weight: bold;">\(</span>.*<span style="color: #000099; font-weight: bold;">\)</span>&lt;/merge&gt;%<span style="color: #000099; font-weight: bold;">\1</span>=<span style="color: #000099; font-weight: bold;">\2</span>%'</span>
    cat <span style="color: #0000ff;">$HAL_FILE</span> \
        | grep <span style="color: #ff0000;">'&lt;merge key=&quot;input.x11_options.'</span> \
        | grep -v <span style="color: #ff0000;">'SHMConfig'</span> \
        | sed -e <span style="color: #0000ff;">$HAL_SED_FILTER</span>
<span style="color: #66cc66;">&#125;</span>
 
from<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
     synclient -l \
        | grep <span style="color: #ff0000;">'='</span> \
        | sed -e <span style="color: #ff0000;">'s/<span style="color: #000099; font-weight: bold;">\s</span>//g'</span> \
        | <span style="color: #b1b100;">while</span> <span style="color: #000066;">read</span> option; <span style="color: #b1b100;">do</span>
<span style="color: #0000ff;">key=</span>`<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$option</span>|cut -f <span style="color: #cc66cc;">1</span> -d <span style="color: #ff0000;">'='</span>`
            <span style="color: #0000ff;">old_val=</span>`<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$option</span>|cut -f <span style="color: #cc66cc;">2</span> -d <span style="color: #ff0000;">'='</span>`
            <span style="color: #0000ff;">new_val=</span>`options_from_hal_file|grep <span style="color: #0000ff;">$key</span>|cut -f <span style="color: #cc66cc;">2</span> -d <span style="color: #ff0000;">'='</span>`
 
            <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -z <span style="color: #0000ff;">$new_val</span> <span style="color: #66cc66;">&#93;</span>; <span style="color: #b1b100;">then</span>
                <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$VERBOSITY_LEVEL</span> == <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">&#93;</span> &amp;&amp; <span style="color: #000066;">echo</span> -e <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\e</span>[1;30m$key = $old_val<span style="color: #000099; font-weight: bold;">\e</span>[0m&quot;</span>
            <span style="color: #b1b100;">elif</span> <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$old_val</span> != <span style="color: #0000ff;">$new_val</span> <span style="color: #66cc66;">&#93;</span>; <span style="color: #b1b100;">then</span>
                <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$VERBOSITY_LEVEL</span> -ge <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#93;</span> &amp;&amp; <span style="color: #000066;">echo</span> -e <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\e</span>[1m$key = <span style="color: #000099; font-weight: bold;">\e</span>[1;31m$old_val <span style="color: #000099; font-weight: bold;">\e</span>[1;4;32m$new_val<span style="color: #000099; font-weight: bold;">\e</span>[0m&quot;</span>
                synclient <span style="color: #ff0000;">&quot;$key=$new_val&quot;</span>
            <span style="color: #b1b100;">else</span> <span style="color: #808080; font-style: italic;"># The HAL file and the life configuration are in sync</span>
                <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$VERBOSITY_LEVEL</span> -ge <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">&#93;</span> &amp;&amp; <span style="color: #000066;">echo</span> -e <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\e</span>[1m$key = <span style="color: #000099; font-weight: bold;">\e</span>[4m$new_val<span style="color: #000099; font-weight: bold;">\e</span>[0m&quot;</span>
            <span style="color: #b1b100;">fi</span>
<span style="color: #b1b100;">done</span>
<span style="color: #66cc66;">&#125;</span>
 
<span style="color: #0000ff;">do_from=</span><span style="color: #cc66cc;">0</span>
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#91;</span> $<span style="color: #808080; font-style: italic;"># -gt 0 ]; do</span>
<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #b1b100;">in</span>
        --from-hal<span style="color: #66cc66;">&#41;</span>
            <span style="color: #0000ff;">do_from=</span><span style="color: #cc66cc;">1</span>
            ;;
        --verbose<span style="color: #66cc66;">&#41;</span>
            <span style="color: #0000ff;">VERBOSITY_LEVEL=</span><span style="color: #cc66cc;">3</span>
            ;;
        --verbosity<span style="color: #66cc66;">&#41;</span>
            <span style="color: #0000ff;">VERBOSITY_LEVEL=</span>$<span style="color: #cc66cc;">2</span>
            <span style="color: #000066;">shift</span>
            ;;
        --<span style="color: #000066;">help</span><span style="color: #66cc66;">&#41;</span>
            usage
            ;;
    <span style="color: #b1b100;">esac</span>
<span style="color: #000066;">shift</span>
<span style="color: #b1b100;">done</span>
 
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> <span style="color: #0000ff;">$do_from</span> == <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#93;</span>; <span style="color: #b1b100;">then</span>
from
<span style="color: #b1b100;">else</span>
usage
<span style="color: #b1b100;">fi</span>
 
<span style="color: #808080; font-style: italic;"># vim: set shiftwidth=4 tabstop=4 expandtab: </span></pre>

<h2>References</h2>

<ul>
  <li><a href="http://en.gentoo-wiki.com/wiki/Synaptics_Touchpad/Xorg_7.3">en.gentoo-wiki.com/wiki/Synaptics_Touchpad/Xorg_7.3</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/09/20/x-input-hal/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Native execution of Windows programs on Linux</title>
		<link>http://blog.bigsmoke.us/2009/06/28/native-execution-of-windows-programs-on-linux</link>
		<comments>http://blog.bigsmoke.us/2009/06/28/native-execution-of-windows-programs-on-linux#comments</comments>
		<pubDate>Sun, 28 Jun 2009 15:24:46 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Wine]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=656</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>When I installed this laptop last year, I was pleasantly surprised by the performance of vanilla Wine (and Gentoo&#8217;s default Wine configuration). At that time, my only memory of Wine was that getting anything useful to work took work and that your best bet to get anything working was to install CrossOver Office. Things change and in the meantime Wine has even come to version 1.0.</p>

<p>I want to write down what I had to do to be able to execute Windows executables as if they are Linux native. This can be done thanks to <a href="http://en.wikipedia.org/wiki/Binfmt_misc">Linux&#8217; support for <em>misc.</em> binaries</a>.</p>

<p>First, you have to enable <tt>CONFIG_BINFMT_MISC</tt> in your kernel configuration. If it was configured as a module, run <q><kbd>/sbin/modprobe binfmt_misc</kbd></q>.</p>

<p>Then you have to register the appropriate binary formats:</p>

<pre class="bash"><span style="color: #000066;">echo</span> <span style="color: #ff0000;">':windows:M::MZ::/usr/bin/wine:'</span> &gt; /proc/sys/fs/binfmt_misc/register</pre>

<p>That&#8217;s it. Of course, the <tt>.exe</tt> files need to have their executable bit set:</p>

<pre class="bash">chmod u+x program.exe</pre>

<p>Done.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/06/28/native-execution-of-windows-programs-on-linux/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Impossible to fix file collision when upgrading qt 4.3 to 4.5</title>
		<link>http://blog.bigsmoke.us/2009/06/19/impossible-to-fix-file-collision-when-upgrading-qt-4.3-to-4.5</link>
		<comments>http://blog.bigsmoke.us/2009/06/19/impossible-to-fix-file-collision-when-upgrading-qt-4.3-to-4.5#comments</comments>
		<pubDate>Fri, 19 Jun 2009 15:46:04 +0000</pubDate>
		<dc:creator>halfgaar</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[collision]]></category>
		<category><![CDATA[collisions]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=629</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;m trying to upgrade my qt 4.3 to 4.5. Version 4.5 seems to be split up in several ebuils, one of which is qt-dbus. When trying to install qt-dbus, it says that the files conflict with qt-4.3. This is only normal, because in version 4.3, the files did belong to qt. 
</p>

<p>
The thing is, some time ago, collision protection was disabled by default, which I thought made sense because when I tried enabling it, I&#8217;d get errors like these all the time. I disabled it for now (by putting &#8220;-collision-protect -protect-owned&#8221; in the FEATURES variable in make.conf), to be able to install Qt, but because it is enabled by default, I&#8217;d rather not keep it disabled. 
</p>

<p>
(Text was copied from the <a href="https://forums.gentoo.org/viewtopic-p-5811359.html">post I made</a> on the Gentoo forum about it.)
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/06/19/impossible-to-fix-file-collision-when-upgrading-qt-4.3-to-4.5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Really enabling portage compile cache</title>
		<link>http://blog.bigsmoke.us/2009/06/19/really-enabling-portage-compile-cache</link>
		<comments>http://blog.bigsmoke.us/2009/06/19/really-enabling-portage-compile-cache#comments</comments>
		<pubDate>Fri, 19 Jun 2009 10:00:13 +0000</pubDate>
		<dc:creator>halfgaar</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[ccache]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=626</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>
I always thought I had portage&#8217;s compile cache enabled, but upon recent inspection, it appears that I didn&#8217;t. What was missing, was the package <tt>dev-util/ccache</tt>. I also increased the cache size to 2 GB, as per the <a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&#038;chap=3#doc_chap3">Gentoo documentation</a>.
</p>

<p>
I noticed this because recently, portage started saying this:
</p>

<pre class="php">!!! Directory does not exist: <span style="color: #ff0000;">'/usr/lib/ccache/bin'</span>
!!! Disabled FEATURES=<span style="color: #ff0000;">'ccache'</span></pre>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/06/19/really-enabling-portage-compile-cache/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Gentoo update: system</title>
		<link>http://blog.bigsmoke.us/2009/06/09/gentoo-system-update</link>
		<comments>http://blog.bigsmoke.us/2009/06/09/gentoo-system-update#comments</comments>
		<pubDate>Tue, 09 Jun 2009 20:17:50 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Opschoot]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=565</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>This Gentoo box needs upgrading badly. I <a href="http://blog.bigsmoke.us/2009/01/28/gentoo-update-e2fsprogs">started</a> this in February, so perhaps it&#8217;s time to continue.</p>

<p>Trying to update the <em>world</em> profile causes a few too many problems, so I start with updating everything in the system profile:</p>

<pre># emerge --update --deep --newuse system</pre>

<h2><tt>sys-apps/man-pages</tt></h2>

<p>The first blockage of the day is &#8220;<tt>sys-apps/man-pages-3</tt>&#8221; that is blocking &#8220;<tt>sys-apps/man-pages-posix-2003a</tt>&#8220;. The latter is pulled in by &#8220;<tt>sys-apps/man-pages-posix</tt>&#8220;, which in turn is required by &#8220;<tt>sys-apps/man-pages-3.20</tt>&#8220;.</p>

<p>Somehow, unmerging &#8220;<tt>sys-apps/man-pages</tt>&#8221; resolved this blockage:</p>

<pre># emerge --unmerge sys-apps/man-pages</pre>

<p>I just had to ignore a few warnings about the package being part of my system profile and I could reissue the system update command. The unmerged package is neatly remerged.</p>

<pre># emerge --update --deep --newuse system</pre>

<p>This command started merging 99 packages. The only interruption left in this process was caused by the <tt>savedconfig</tt> use flag which made the busybox ebuild fail.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/06/09/gentoo-system-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo update: Portage configuration confusion</title>
		<link>http://blog.bigsmoke.us/2009/02/05/gentoo-update</link>
		<comments>http://blog.bigsmoke.us/2009/02/05/gentoo-update#comments</comments>
		<pubDate>Thu, 05 Feb 2009 00:47:45 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[KDE4]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opschoot]]></category>
		<category><![CDATA[Portage]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=326</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>During the first gentoo update session for <a href="/tag/t61">this machine</a>, I didn&#8217;t get very far. I <a href="http://blog.bigsmoke.us/2009/01/28/gentoo-update-e2fsprogs">already mentioned</a> the problem I had with e2fsprogs, but this was not the first or the last problem that I had.</p>

<p>Until a few moments ago, I actually thought I made a bit of a fuck-up. I was meaning to make regular snapshots of <tt>/etc/portage</tt> files for a while now, because I was always just an <q><kbd>echo something >> /etc/portage/package.keywords</kbd></q> with one <q><tt>></tt></q>-symbol too few away from destroying my configuration.  Despite this fear, I thought I had already started deleting entries from <tt>/etc/portage/package.keywords</tt> and <tt>/etc/portage/package.unmask</tt> without backing up first.</p>

<p>Luckily, it turns out that I did make a dated copy of <tt>/etc/portage/package.keywords</tt> before starting on my modifications. I didn&#8217;t do so for <tt>/etc/portage/package.unmask</tt>, but I recovered a recent enough version from a recent full system rsync backup. So, everything is good. Still, I&#8217;m glad that I now  <a href="http://blog.bigsmoke.us/2009/02/04/etc-updates-with-git">use Git to track all changes in <kbd>/etc/</kbd></a>. All this goes to show that my methods are sometimes a bit more organized than my mind, which, I suppose, is a good thing. <img src='http://blog.bigsmoke.us/wp-factory/wp-includes/images/smilies/icon_confused.gif' alt=':-?' class='wp-smiley' /> </p>

<p>The point of this post&#8212;yes, there <em>is</em> a point&#8212;the point is that once you start mixing stable and unstable stuff, your system becomes, ehm, unstable. I have this huge amount of crap already in <tt>/etc/portage</tt> to cater to my wish to run stuff that I know to be quite stable but that isn&#8217;t yet marked as such in the Gentoo porttree. Now, after many months, I want to remove everything from <tt>package.keywords</tt> and <tt>package.unmask</tt> that is no longer necessary.</p>

<p>I <em>was</em> going to write about all the complicated upgrades, downgrades and conflicts suggested by Portage (mostly related to me removing KDE 4 stuff from <tt>package.keywords</tt> and <tt>package.unmask</tt>), because I was confused about what changes I had made. With the relevant backups readily available for comparison, I am no longer in a hurry to untangle my thoughts and I&#8217;ve moved the preliminary notes to a new draft for when I&#8217;ll actually update KDE 4.</p>

<h2>Actual justification for this post</h2>

<p>I&#8217;m trying to get into a blogging style were I post <em>a lot more</em> rubbish like this that can&#8217;t possibly be of any use to anybody except myself. I have plenty of reasons/excuses for this (about which I&#8217;ll likely post in the future), but I shouldn&#8217;t actually need any. That Ryan wanker who <a href="http://blog.bigsmoke.us/2008/07/12/the-joys-of-being-well-known-to-google#comment-72065">thinks</a> I publish this blog for him should really shut the fuck up. Sure enough, he isn&#8217;t talking about this blog but I still think he&#8217;s a big-time asshole. Fuck you, Ryan!</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/02/05/gentoo-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracking /etc/ updates with Git</title>
		<link>http://blog.bigsmoke.us/2009/02/04/etc-updates-with-git</link>
		<comments>http://blog.bigsmoke.us/2009/02/04/etc-updates-with-git#comments</comments>
		<pubDate>Wed, 04 Feb 2009 20:28:46 +0000</pubDate>
		<dc:creator>Rowan Rodrik</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[etc-update]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.bigsmoke.us/?p=352</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>During my recent <a href="http://blog.bigsmoke.us/2009/01/28/gentoo-update-e2fsprogs">Gentoo update session</a>, I was once again confronted with the inconvenience of not having my <tt>/etc/</tt> directory under version management. This time, I thought I had the ideal SCM for this job: Git.</p>

<p>I found a <a href="http://www.jukie.net/~bart/blog/20070312134706 ">blog post</a> of a chap who has done the same. It includes a few notes I might not have thought about on my own and also a few very cool Debian tricks.</p>

<p>One of the steps that I might have overlooked myself is that it&#8217;s essential to make the <tt>.git</tt> directory group/world inaccessible with <q><kbd>chmod go-rwx</kbd></q>. If I would have forgotten this, a smart attacker might use my Git repo to access forbidden file contents.</p>

<p>The author also describes a cool <tt>Post-Invoke</tt> for Debian&#8217;s dpkg that will automatically stage and commit configuration changes made by apt/dpkg (although, later, he mentions that Debian has gotten a package could <em>etckeeper</em> that does this automatically.</p>

<p>Now I would like to learn how I can let Gentoo&#8217;s etc-update do as much. In its <tt>/etc/dispatch-conf.conf</tt> I can only find the option to use (of all things) RCS to track replaced configuration files in a special directory (<tt>/etc/config-archive/</tt> by default). Hopefully, there is some drop-in replacement for etc-update which does this and which can rid me of etc-update&#8217;s awkward interface at once.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigsmoke.us/2009/02/04/etc-updates-with-git/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

