<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Gentoo</title>
	<link>http://planet.gentoo.org/</link>
	<language>en</language>
	<description>Planet Gentoo - http://planet.gentoo.org/</description>

<item>
	<title>Diego Pettenò: Today's mass filings</title>
	<guid isPermaLink="false">urn:uuid:7385eda5-bd8c-40c6-8f3e-7a68d1e17e1a</guid>
	<link>http://blog.flameeyes.eu/articles/2008/05/11/todays-mass-filings</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/flameeyes.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Our bugzilla today really had an hard day, I&amp;#8217;ve started filing bugs for build tools added to runtime-depend of packages, the list is awfully long, and &amp;#8220;My Bugs&amp;#8221; search now lists over 300 bugs.&lt;/p&gt;


	&lt;p&gt;Why did I do this? Well, we really need to keep the tree clean on these things so that &lt;code&gt;--depclean&lt;/code&gt; works as expected. But mostly my interest is for final system deployment. On my vserver, as well as on a final target for a cross-compiled embedded system, you don&amp;#8217;t want packages like flex, bison or swig, and this is quite possible if the packages are not in &lt;span class=&quot;caps&quot;&gt;RDEPEND&lt;/span&gt;, when using &lt;code&gt;ROOT=&lt;/code&gt; or binary packages.&lt;/p&gt;


	&lt;p&gt;Now, the work today was boring, long and a huge pour of time. I did it gladly without being forced to, I&amp;#8217;m fine with it and I&amp;#8217;m not expecting anything in particular for what I did. If I didn&amp;#8217;t want to do it, I could have just reported the issue, and let someone else doing the thing. This is what volunteer-based work is about.&lt;/p&gt;


	&lt;p&gt;Why do I say this? Well there seems to be people to think that even volunteer work should apply the same rules as businesses. While sometimes you might make use of strategies designed for businesses, like marketing your project better and similar, volunteer works and businesses have vast differences.&lt;/p&gt;


	&lt;p&gt;Sure there are free software projects ran as businesses, but that usually involves people paid to do their job as the core rather than full volunteer-based approaches. So please if you think to run a volunteer project as a business, well think twice or expect serious trouble from the volunteers.&lt;/p&gt;


	&lt;p&gt;So please remember that there are lots of people who are fine to work on a volunteer project that would probably start to be quite nervous if you run it as a business, okay?&lt;/p&gt;</description>
	<pubDate>Sun, 11 May 2008 19:35:00 +0000</pubDate>
	<dc:creator>Diego Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Donnie Berkholz: Distributions in the Summer of Code</title>
	<guid isPermaLink="false">http://dberkholz.wordpress.com/?p=416</guid>
	<link>http://dberkholz.wordpress.com/2008/05/02/distributions-in-the-summer-of-code/</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/dberkholz.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;I wrote an article discussing &lt;a title=&quot;Distributions in the Summer of Code&quot; href=&quot;http://lwn.net/SubscriberLink/280438/080de05d3baff7c9/&quot; target=&quot;_blank&quot;&gt;the role of distros in Google&amp;#8217;s Summer of Code&lt;/a&gt; for this week&amp;#8217;s LWN.net. Here&amp;#8217;s an excerpt to whet your appetite:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Aren&amp;#8217;t they just writing packages?   What would they do with a Summer of Code project?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a title=&quot;Distributions in the Summer of Code&quot; href=&quot;http://lwn.net/SubscriberLink/280438/080de05d3baff7c9/&quot; target=&quot;_blank&quot;&gt;Read on to find out.&lt;/a&gt;&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/dberkholz.wordpress.com/416/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/dberkholz.wordpress.com/416/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/dberkholz.wordpress.com/416/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/dberkholz.wordpress.com/416/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/dberkholz.wordpress.com/416/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/dberkholz.wordpress.com/416/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/dberkholz.wordpress.com/416/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/dberkholz.wordpress.com/416/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/dberkholz.wordpress.com/416/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/dberkholz.wordpress.com/416/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/dberkholz.wordpress.com/416/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/dberkholz.wordpress.com/416/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=dberkholz.wordpress.com&amp;amp;blog=2962469&amp;amp;post=416&amp;amp;subd=dberkholz&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 11 May 2008 09:34:45 +0000</pubDate>
	<dc:creator>Donnie Berkholz (dberkholz)</dc:creator>
</item>
<item>
	<title>Alexander Gabert: all your __guard are belong to __stack_smash_handler</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1522@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/pappy/2008/05/09/all_your_guard_are_belong_to_stack_smash</link>
	<description>&lt;p&gt;okay here we go&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;&gt;&gt;&gt; Regenerating /etc/ld.so.cache...&lt;br /&gt;
&gt;&gt;&gt; sys-libs/gxslibc-2.6.1-r2 merged.&lt;/p&gt;

&lt;p&gt;&gt;&gt;&gt; No packages selected for removal by clean&lt;br /&gt;
&gt;&gt;&gt; Auto-cleaning packages...&lt;/p&gt;

&lt;p&gt;&gt;&gt;&gt; No outdated packages were found on your system.&lt;br /&gt;
 * Regenerating GNU info directory index...&lt;br /&gt;
 * Processed 87 info files.&lt;/p&gt;

&lt;p&gt;TMPFS chroot001 miranda ~ # export STATIC=&quot;-fstack-protector-all&quot;; gcc-3.4.6 &quot;${STATIC}&quot; -fstack-protector-all -o vuln-stack vuln-stack.c &amp;amp;&amp;amp; file vuln-stack &amp;amp;&amp;amp; readelf -s vuln-stack | egrep &quot;__guard|__stack_smash&quot;; ./vuln-stack 1234567891234567; einfo &quot;return code: ${?}&quot;; echo; gcc-3.4.6 &quot;${STATIC}&quot; -fstack-protector-all -o ssp_entropy ssp_entropy.c &amp;amp;&amp;amp; file ssp_entropy &amp;amp;&amp;amp; ./ssp_entropy&lt;br /&gt;
vuln-stack: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.18, dynamically linked (uses shared libs), not stripped&lt;br /&gt;
     2: 08049698     4 OBJECT  GLOBAL DEFAULT   23 __guard@GLIBC_2.3.2 (3)&lt;br /&gt;
     4: 00000000    30 FUNC    GLOBAL DEFAULT  UND __stack_smash_handler@GLIBC_2.3.2 (3)&lt;br /&gt;
    78: 08049698     4 OBJECT  GLOBAL DEFAULT   23 __guard@@GLIBC_2.3.2&lt;br /&gt;
    80: 00000000    30 FUNC    GLOBAL DEFAULT  UND __stack_smash_handler@@GL&lt;br /&gt;
 * return code: 46&lt;/p&gt;

&lt;p&gt;ssp_entropy: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.18, dynamically linked (uses shared libs), not stripped&lt;br /&gt;
__guard: [[0x288a2b8c]]&lt;/p&gt;

&lt;p&gt;TMPFS chroot001 miranda ~ # export STATIC=&quot;-static&quot;; gcc-3.4.6 &quot;${STATIC}&quot; -fstack-protector-all -o vuln-stack vuln-stack.c &amp;amp;&amp;amp; file vuln-stack &amp;amp;&amp;amp; readelf -s vuln-stack | egrep &quot;__guard|__stack_smash&quot;; ./vuln-stack 1234567891234567; einfo &quot;return code: ${?}&quot;; echo; gcc-3.4.6 &quot;${STATIC}&quot; -fstack-protector-all -o ssp_entropy ssp_entropy.c &amp;amp;&amp;amp; file ssp_entropy &amp;amp;&amp;amp; ./ssp_entropy&lt;br /&gt;
vuln-stack: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.18, statically linked, not stripped&lt;br /&gt;
  1346: 0804f810    18 FUNC    GLOBAL DEFAULT    3 __stack_smash_handler&lt;br /&gt;
  1554: 080bc370     4 OBJECT  GLOBAL DEFAULT   16 __guard&lt;br /&gt;
 * return code: 46&lt;/p&gt;

&lt;p&gt;ssp_entropy: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.18, statically linked, not stripped&lt;br /&gt;
__guard: [[0xe686ece4]]&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;i invented return code 46 as SSP failure because i could not find a list of valid exit codes (unless segfault which is 127) at google.&lt;/p&gt;


&lt;p&gt;-Alex&lt;/p&gt;</description>
	<pubDate>Fri, 09 May 2008 23:35:11 +0000</pubDate>
	<dc:creator>Alexander Gabert (pappy)</dc:creator>
</item>
<item>
	<title>Zack Medico: Handling File Collisions Between Blocking Packages</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1521@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/zmedico/2008/05/09/blocking_package_file_collisions</link>
	<description>&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://dev.gentoo.org/~zmedico/portage/doc/portage.html#dependency-resolution-package-modeling-blocker-conflicts&quot;&gt;Blocker Conflicts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If one package blocks another package, the two packages conflict such that they cannot be installed simultaneously. These conflicts are often due to file collisions. In some cases, packages that block each other can be temporarily installed simultaneously. In order to resolve file collisions that occur between two blocking packages that are installed simultaneously, the overlapping files must be removed from the contents list of the package which was installed first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;gtk-doc-am vs. gtk-doc-1.8-r2&lt;/strong&gt;
&lt;/p&gt;&lt;pre&gt;
These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[blocks b     ] dev-util/gtk-doc-am (is blocking dev-util/gtk-doc-1.8-r2)
[uninstall    ]  dev-util/gtk-doc-1.8-r2  USE=&quot;emacs -debug -doc&quot;
[nomerge      ] x11-libs/gtk+-2.12.9-r2  USE=&quot;X cups jpeg tiff xinerama -debug -doc -vim-syntax&quot;
[ebuild  N    ]  dev-util/gtk-doc-am-1.10-r1  0 kB

Total: 1 package (1 new, 1 uninstall), Size of downloads: 0 kB
Conflict: 1 block
&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;coreutils vs. mktemp&lt;/strong&gt;
&lt;/p&gt;&lt;pre&gt;
These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[nomerge      ] sys-apps/coreutils-6.11 [6.9-r1] USE=&quot;acl nls xattr (-selinux) -static -vanilla%&quot;
[blocks b     ]  sys-apps/mktemp (is blocking sys-apps/coreutils-6.11)
[blocks b     ] &gt;=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)
[uninstall    ]  sys-apps/mktemp-1.5
[ebuild     U ] sys-apps/coreutils-6.11 [6.9-r1] USE=&quot;acl nls xattr (-selinux) -static -vanilla%&quot; 0 kB

Total: 1 package (1 upgrade, 1 uninstall), Size of downloads: 0 kB
Conflict: 2 blocks
&lt;/pre&gt;</description>
	<pubDate>Fri, 09 May 2008 16:17:21 +0000</pubDate>
	<dc:creator>Zack Medico (zmedico)</dc:creator>
</item>
<item>
	<title>Alexander Gabert: the long tail</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1520@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/pappy/2008/05/09/the_long_tail</link>
	<description>&lt;p&gt;well it looks like i can go to bed with a smile on my face...&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br /&gt;
gcc -g -ggdb -fstack-protector-all -o ssp_entropy ssp_entropy.c&lt;br /&gt;
./ssp_entropy&lt;br /&gt;
__guard: [[0x353275b9]]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br /&gt;
gcc -static -g -ggdb -fstack-protector-all -o ssp_entropy ssp_entropy.c &amp;amp;&amp;amp; ./ssp_entropy&lt;br /&gt;
__guard: [[0x3687e720]]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br /&gt;
TMPFS chroot001 miranda ~ # cat ssp_entropy.c&lt;br /&gt;
#include stdio.h&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;extern unsigned long int __guard;&lt;/p&gt;

&lt;p&gt;int main(void) {&lt;br /&gt;
  printf(&quot;__guard: [[0x%x]]\n&quot;, __guard);&lt;br /&gt;
  while(1) { ; }&lt;br /&gt;
  return(0);&lt;br /&gt;
}&lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;for learning about the whole story: &lt;a href=&quot;http://bugs.gentoo.org/show_bug.cgi?id=182231&quot;&gt;http://bugs.gentoo.org/show_bug.cgi?id=182231&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;have fun and good night!&lt;/p&gt;</description>
	<pubDate>Fri, 09 May 2008 01:05:06 +0000</pubDate>
	<dc:creator>Alexander Gabert (pappy)</dc:creator>
</item>
<item>
	<title>Tobias Klausmann: Gzip, Bzip2 and Lzma compared</title>
	<guid isPermaLink="false">http://blog.i-no.de//archives/2008/05/08/index.html#e2008-05-08T16_35_13.txt</guid>
	<link>http://blog.i-no.de//archives/2008/05/08/index.html#e2008-05-08T16_35_13.txt</link>
	<description>&lt;h3&gt;Why?&lt;/h3&gt;
&lt;p&gt;There has recently been a discussion about GNU switching from &lt;tt&gt;bzip2&lt;/tt&gt;
to &lt;tt&gt;lzma&lt;/tt&gt; for their distributed tarballs. They still offer &lt;tt&gt;gzip&lt;/tt&gt;
tarballs as an alternative. However, Gentoo has been preferring the
&lt;tt&gt;bzip2&lt;/tt&gt; tarballs mostly due to the improved pack ratio of
&lt;tt&gt;bzip2&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Unfortunately, the software for &lt;tt&gt;lzma&lt;/tt&gt; is not (yet) as mature as some
would like. For example, the format of files produced has changed recently (in
a compatible way, though). Also, the current incarnation of the canonical
binaries (lzma-utils) by default links against libstdc++.so which is a huge
headache for release engineering and the like.&lt;/p&gt; 

&lt;h3&gt;What and How?&lt;/h3&gt;
&lt;p&gt;How these distribution problems can/will be solved, remains to be seen. What
I'm more interested in, is a comparison of the performance of the three
packers. I had initially hoped to also compare the amount of I/O done and
memory usage, but GNU &lt;tt&gt;time&lt;/tt&gt; let me down there.&lt;/p&gt;

&lt;p&gt;GNU &lt;tt&gt;time&lt;/tt&gt;'s manpage claims that it can record and output quite a few
figures regarding I/O and memory usage. Unfortunately, I have not been able to
make &lt;tt&gt;time&lt;/tt&gt; report anything other than 0 for those interesting stats.
Not wanting to debug &lt;tt&gt;time&lt;/tt&gt;, I've chosen to do performance tests
regarding pack ratio and execution time, instead.&lt;/p&gt;

&lt;p&gt;I've run all tests in single user mode, so as to not disturb page caches and
the like. All tests run from the page cache, to factor out disk latency and
possible fragmentation of files.&lt;/p&gt;

&lt;p&gt;Here's the data I used:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;b&gt;lenna.tiff&lt;/b&gt; The compression testing poster girl&lt;/li&gt;
&lt;li&gt;&lt;b&gt;lenna.png&lt;/b&gt; The same image as above, as a PNG, to see what the
algorithms make of already-compressed data&lt;/li&gt;
&lt;li&gt;&lt;b&gt;linux-2.6.25.tar&lt;/b&gt; The sources for the linux kernel, version
2.6.25&lt;/li&gt;
&lt;li&gt;&lt;b&gt;wrnpc12.txt&lt;/b&gt; Leo Tolstoy: War and Peace. From Project
Gutenberg. ASCII Plaintext.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ImageMagick-6.4.0_modules-Q16.tar&lt;/b&gt;
A tar file /usr/lib64/ImageMagick-6.4.0/modules-Q16/ from my amd64 system,
containing many .so, .la and .a files&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Results&lt;/h3&gt;

&lt;p&gt;Red indicates worst, green indicates best result in a category. All
times are in seconds, compression ratio is percentage of uncompressed
size.&lt;/p&gt;

&lt;table summary=&quot;Performance of gzip, bzip2 and lzma&quot; class=&quot;centered&quot;&gt;
&lt;tr&gt;&lt;th&gt;Input data&lt;/th&gt;&lt;th&gt;Algo&lt;/th&gt;&lt;th&gt;Time (C)&lt;/th&gt;&lt;th&gt;Time (D)&lt;/th&gt;&lt;th&gt;Ratio&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td rowspan=&quot;3&quot; class=&quot;bigcell&quot;&gt;ImageMagick modules&lt;/td&gt;&lt;td&gt;&lt;tt&gt;gzip&lt;/tt&gt;&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.30&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.04&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;25.28%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;bzip2&lt;/tt&gt;&lt;/td&gt;      &lt;td&gt;0.61&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;0.27&lt;/td&gt;&lt;td&gt;20.44%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;lzma&lt;/tt&gt;&lt;/td&gt;       &lt;td class=&quot;worst&quot;&gt;4.97&lt;/td&gt;&lt;td&gt;0.10&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;12.64%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;5&quot; class=&quot;blined&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td rowspan=&quot;3&quot; class=&quot;bigcell&quot;&gt;Lena (TIFF)&lt;/td&gt;&lt;td&gt;&lt;tt&gt;gzip&lt;/tt&gt;&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.05&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.01&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;93.24%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;bzip2&lt;/tt&gt;&lt;/td&gt;      &lt;td&gt;0.15&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;0.08&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;74.31%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;lzma&lt;/tt&gt;&lt;/td&gt;       &lt;td class=&quot;worst&quot;&gt;0.33&lt;/td&gt;&lt;td&gt;0.06&lt;/td&gt;&lt;td&gt;80.69%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;5&quot; class=&quot;blined&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td rowspan=&quot;3&quot; class=&quot;bigcell&quot;&gt;Lena (PNG)&lt;/td&gt;&lt;td&gt;&lt;tt&gt;gzip&lt;/tt&gt;&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.02&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.00&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;100.02%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;bzip2&lt;/tt&gt;&lt;/td&gt;      &lt;td&gt;0.13&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;0.05&lt;/td&gt;&lt;td&gt;100.32%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;lzma&lt;/tt&gt;&lt;/td&gt;       &lt;td class=&quot;worst&quot;&gt;0.18&lt;/td&gt;&lt;td&gt;0.04&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;100.67%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;5&quot; class=&quot;blined&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td rowspan=&quot;3&quot; class=&quot;bigcell&quot;&gt;Linux Sources&lt;/td&gt;&lt;td&gt;&lt;tt&gt;gzip&lt;/tt&gt;&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;12.98&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;1.88&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;21.81%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;bzip2&lt;/tt&gt;&lt;/td&gt;      &lt;td&gt;54.61&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;14.25&lt;/td&gt;&lt;td&gt;17.07%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;lzma&lt;/tt&gt;&lt;/td&gt;       &lt;td class=&quot;worst&quot;&gt;287.58&lt;/td&gt;&lt;td&gt;5.46&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;14.47%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;5&quot; class=&quot;blined&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td rowspan=&quot;3&quot; class=&quot;bigcell&quot;&gt;War and Peace&lt;/td&gt;&lt;td&gt;&lt;tt&gt;gzip&lt;/tt&gt;&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.30&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.03&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;37.00%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;bzip2&lt;/tt&gt;&lt;/td&gt;      &lt;td&gt;0.58 &lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;0.26&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;26.96%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;lzma&lt;/tt&gt;&lt;/td&gt;       &lt;td class=&quot;worst&quot;&gt;3.30&lt;/td&gt;&lt;td&gt;0.09&lt;/td&gt;&lt;td&gt;28.34%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;5&quot; class=&quot;blined&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td rowspan=&quot;3&quot; class=&quot;bigcell&quot;&gt;Overall (Average)&lt;/td&gt;&lt;td&gt;&lt;tt&gt;gzip&lt;/tt&gt;&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;2.73&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;0.39&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;55.47%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;bzip2&lt;/tt&gt;&lt;/td&gt;      &lt;td&gt;11.22&lt;/td&gt;&lt;td class=&quot;worst&quot;&gt;2.98&lt;/td&gt;&lt;td&gt;47.82%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;!--td obliterated by rowspan --&gt;&lt;td&gt;&lt;tt&gt;lzma&lt;/tt&gt;&lt;/td&gt;       &lt;td class=&quot;worst&quot;&gt;59.27&lt;/td&gt;&lt;td&gt;1.15&lt;/td&gt;&lt;td class=&quot;best&quot;&gt;47.36%&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Mostly, this benchmark turns out as expected (and advertised by the
&lt;tt&gt;lzma&lt;/tt&gt; authors). &lt;tt&gt;Gzip&lt;/tt&gt; is fastest on compression;
&lt;tt&gt;bzip2&lt;/tt&gt; comes second for compression times and &lt;tt&gt;lzma&lt;/tt&gt;
finishes last. Decompression is different: &lt;tt&gt;gzip&lt;/tt&gt; is fastest
again, but &lt;tt&gt;lzma&lt;/tt&gt; is faster than &lt;tt&gt;bzip2&lt;/tt&gt;, sometimes nearly
by a factor of three. Compression ratio is where &lt;tt&gt;gzip&lt;/tt&gt; shows its
age: its compression ratio is worst (except when packing already
compressed stuff). &lt;tt&gt;Bzip2&lt;/tt&gt; bests &lt;tt&gt;lzma&lt;/tt&gt;'s compression
ration in three cases of five (two of four if you don't count the PNG).
On average, however, &lt;tt&gt;lzma&lt;/tt&gt; compresses better by a hair.
&lt;tt&gt;Lzma&lt;/tt&gt;'s strongest lead over the others is when compressing the
ImageMagick module tar.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;&lt;tt&gt;Lzma&lt;/tt&gt; is definitely worth a look due to its performance - if
you unpack much more often than you pack (three times slower than
already-not-so-quick &lt;tt&gt;bzip2&lt;/tt&gt;!). Also, &lt;tt&gt;lzma&lt;/tt&gt; works better
on large files. From a distribution standpoint, if/when the
library/dependency problems have been sorted out, &lt;tt&gt;lzma&lt;/tt&gt; is quite
preferable, if you don't do much compression yourself, yet have to watch
your bandwidth usage. For Gentoo, it's reasonable - if the kinks are
worked out. Another disadvantage of &lt;tt&gt;lzma&lt;/tt&gt; is that while
&lt;tt&gt;gzip&lt;/tt&gt; and &lt;tt&gt;bzip2&lt;/tt&gt; have their own single-char
decompression switch when using &lt;tt&gt;tar&lt;/tt&gt; (&lt;tt&gt;z&lt;/tt&gt; and &lt;tt&gt;j&lt;/tt&gt;,
repectively), the new guy on the block only gets a long one:
&lt;tt&gt;--lzma&lt;/tt&gt; (introduced in &lt;tt&gt;tar&lt;/tt&gt; 1.20). This might sound
minor, but it can quickly get pn your nerves. YMMV.&lt;/p&gt;

&lt;h3&gt;What else to test&lt;/h3&gt;

&lt;p&gt;I'd love to see more tests with real-life data. I also think a
comparison of I/O load and memory usage for the three contenders would
be interesting. If somebody wants to do all the work, comparing the
different speed/compression settings for the three could be interesting
- I have only used the default settings, which might not exactly be fair 
for gzip, which was written at a time when CPU cycles where far more
expensive.&lt;/p&gt;

&lt;h2&gt;Comments&lt;/h2&gt;

&lt;i&gt;Josh &quot;Nightmorph&quot; Saddler&lt;/i&gt; writes:
&lt;blockquote&gt;
&lt;p&gt;Thanks for the blog and the benchies. Some interesting stuff here.&lt;/p&gt;

&lt;p&gt;I still don't know that I'd go for lzma, because it's compression time
sucks &lt;em&gt;assballs&lt;/em&gt;. bzip2 is bad enough as it is. lzma is at the back
of the pack for compression, every time.&lt;/p&gt;

&lt;p&gt;The numbers for Linux sources aren't very encouraging. lzma takes a metric
assload of time to compress it. Far, far too long. At least it's quick to
decompress the same file.&lt;/p&gt;

&lt;p&gt;I guess if we were to mostly move to lzma archives, it wouldn't be so bad
on the package installation side. I mean, most of what we do as Gentoo
users is unpack tarballs for installation, right? Anything to speed up this
process is probably a step in the right direction ... I just wouldn't use
lzma for anything else. For Gentoo, it's fine. For personal stuff, it's
not.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One thing I didn't even think about was about postinstall compression.
&lt;a href=&quot;http://blog.flameeyes.eu/articles/2008/05/08/my-take-on-compression-algorithms&quot;&gt;Diego
mentioned this over at his blog&lt;/a&gt; &amp;mdash; every merge operation is
going to have some compression for things like docs, manpages, etc.&lt;/p&gt;

&lt;p&gt;I'd completely forgotten about the stuff that gets compressed when
installed. lzma doesn't scale particularly well to small files, not like
gzip does.&lt;/p&gt;

&lt;p&gt;I guess it's a tradeoff &amp;mdash; you can unpack large archives like
kernel sources very quickly, but you'll get (a bit?) more time added to
each merge op if lzma is doing the postinstall compression.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I absolutely agree with Josh. The maturity problems aside, being a
&lt;i&gt;consumer&lt;/i&gt; of &lt;tt&gt;lzma&lt;/tt&gt; archives is nice if you're not short on
memory. That said, supporting &lt;tt&gt;lzma&lt;/tt&gt; as a method for
&lt;i&gt;upstream&lt;/i&gt; tarballs is a nice thing to have. I won't be switching
to it for my personal compression needs any time soon.&lt;/p&gt;

&lt;h3&gt;Bonus fact learned about recent tar versions&lt;/h3&gt;

&lt;p&gt;Recent version of tar autodetect the compression for &lt;tt&gt;bzip2&lt;/tt&gt;
and &lt;tt&gt;gzip&lt;/tt&gt;, which means you can use &lt;tt&gt;tar xf
linux-2.6.25.tar.bz&lt;/tt&gt;. Not only that, you can also tell it to guess
compression upon &lt;i&gt;creation&lt;/i&gt; of archives: &lt;tt&gt;tar caf foo.tbz2
/etc&lt;/tt&gt;. Nifty. Doesn't work for &lt;tt&gt;lzma&lt;/tt&gt;, though, which might be
due to the recent change in file format. &lt;tt&gt;file&lt;/tt&gt; doesn't recognize
the files, either.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Bonus Bonus fact learned:&lt;/b&gt; bash completion for tar needs to be
fixed.&lt;/p&gt;

&lt;p&gt;I've taken the liberty of inserting the link to Diego's blog post.&lt;/p&gt;</description>
	<pubDate>Thu, 08 May 2008 14:35:13 +0000</pubDate>
	<dc:creator>Tobias Klausmann (klausman)</dc:creator>
</item>
<item>
	<title>Joshua Nichols: Using a Gentoo Prefixed shell as your login shell</title>
	<guid isPermaLink="false">tag:technicalpickles.com:Post71</guid>
	<link>http://feeds.feedburner.com/~r/TechnicalPicklesGentoo/~3/285767097/using-a-gentoo-prefixed-shell-as-your-login-shell</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/nichoj.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;One thing that kind of annoyed me about Gentoo Prefix is that you always needed to do a little work to enter the prefix:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ./bootstrap-prefix.sh /path/to/prefix startscript&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Personally, I just want to always live in a prefixed shell. Amazingly enough, this is really easy to do.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First open up &lt;code&gt;/etc/shells&lt;/code&gt; as root&lt;/li&gt;
&lt;li&gt;Add a line like &lt;code&gt;/path/to/prefix/bin/bash&lt;/code&gt; and save&lt;/li&gt;
&lt;li&gt;As your user, run: &lt;code&gt;chsh -s /path/to/prefix/bin/bash&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Enter your password&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, everytime you open a terminal, it will be running a bash gloriously built by Gentoo&lt;/p&gt;</description>
	<pubDate>Thu, 08 May 2008 02:04:46 +0000</pubDate>
	<dc:creator>Joshua Nichols (nichoj)</dc:creator>
</item>
<item>
	<title>Tobias Klausmann: ack - Part II</title>
	<guid isPermaLink="false">http://blog.i-no.de//archives/2008/05/07/index.html#e2008-05-07T21_31_43.txt</guid>
	<link>http://blog.i-no.de//archives/2008/05/07/index.html#e2008-05-07T21_31_43.txt</link>
	<description>&lt;p&gt;This is a followup on my &lt;a href=&quot;http://blog.i-no.de/archives/2008/05/06/index.html#e2008-05-06T16_44_51.txt&quot;&gt;earlier post&lt;/a&gt; about &lt;a href=&quot;http://petdance.com/ack/&quot;&gt;&lt;tt&gt;ack&lt;/tt&gt;&lt;/a&gt;. A few
tips on daily usage and a few caveats.&lt;/p&gt;

&lt;h2&gt;Every day is a winding command line&lt;/h2&gt;

&lt;p&gt;Normally, &lt;tt&gt;ack&lt;/tt&gt; does not search text files. This may come as a
surprise since it goes a bit against the grain of what we're used from
Unix and Linux commands. Seeing where &lt;tt&gt;ack&lt;/tt&gt; comes from and what
its intention is, it's not so unusual. Anyway, we can make it behave the
way we want.&lt;/p&gt;

&lt;p&gt;I'm grateful that &lt;tt&gt;ack&lt;/tt&gt; doesn't search &lt;tt&gt;.svn/&lt;/tt&gt; and
friends, I also don't mind backup files, swp files, core files etc being
ignored. But I do want to search text files when I
&lt;strike&gt;&lt;tt&gt;grep&lt;/tt&gt;&lt;/strike&gt; &lt;tt&gt;ack&lt;/tt&gt; through source files. What
if the elusive &lt;tt&gt;fixAllBugs()&lt;/tt&gt; function I'm looking for is only
mentioned in a README file?&lt;/p&gt;

&lt;p&gt;So how does one customise &lt;tt&gt;ack&lt;/tt&gt;? There are two ways: one is an
environment variable (&lt;tt&gt;ACK_OPTIONS&lt;/tt&gt;). It can hold all those extra
options you always want. There are more environment variables (for
coloring, the pager and where the &lt;tt&gt;.ackrc&lt;/tt&gt; (more on that later)
resides). They're all described in &lt;tt&gt;ack&lt;/tt&gt;'s perldoc page (which
can be accessed by &lt;tt&gt;perldoc ack&lt;/tt&gt; (if it's in your &lt;tt&gt;PATH&lt;/tt&gt;) or
&lt;tt&gt;ack --man&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;The second way to customize &lt;tt&gt;ack&lt;/tt&gt; is having an &lt;tt&gt;.ackrc&lt;/tt&gt;
in your home directory (or wherever the &lt;tt&gt;ACKRC&lt;/tt&gt; environment
variable points). It contains all the options just as you would use them
on the command line, one per line. You can intersperse it with comments
in the usual way. Again, more on this can be found in the perldoc.&lt;/p&gt;

&lt;p&gt;So now what do we want? This hugely depends on preference, I would
call &lt;tt&gt;ack&lt;/tt&gt; like this, usually:&lt;/p&gt;

&lt;pre&gt;
&lt;tt&gt;ack --text &lt;i&gt;&amp;lt;other options&amp;gt;&lt;/i&gt;&lt;/tt&gt;
&lt;/pre&gt;

&lt;p&gt;Since I'm rather lazy, I'd consequently put &quot;&lt;tt&gt;--text&lt;/tt&gt;&quot; in my
&lt;tt&gt;.ackrc&lt;/tt&gt; or in ACK_OPTIONS. Whenever this gets in my way, I can
use &lt;tt&gt;--noenv&lt;/tt&gt; to ignore all environment and config file
settings.&lt;/p&gt;

&lt;h2&gt;Measurements, Unicode and all that&lt;/h2&gt;

&lt;p&gt;I have an add-on note for the performance checks (I wouldn't call
them measurements, far too little diligence on my part) in my last post.
It turns out that the locale setting can have a wild amount of influence
on the performance of &lt;tt&gt;grep&lt;/tt&gt;. This is especially true of any
UTF-8 or similar multibyte encodings. &lt;/p&gt;

&lt;p&gt;I've made new measurements since the file I used has grown since and
I haven't kept the old version. Again, the file is in the page cache
before I do my measurements. Also, I've done at least a dozen or so runs
each and the numbers I'll show you are typical.&lt;/p&gt;

&lt;pre&gt;
$ echo $LC_ALL
en_US.utf8
$ time grep 1Jsztn-000647-SL exim_main.log &amp;gt;/dev/null
real    0m15.995s
user    0m14.770s
sys     0m0.160s
$ time ack 1Jsztn-000647-SL exim_main.log &amp;gt;/dev/null
real    0m3.829s
user    0m3.570s
sys     0m0.125s
$ export LC_ALL=C
$ time grep 1Jsztn-000647-SL exim_main.log &amp;gt;/dev/null
real    0m0.226s
user    0m0.120s
sys     0m0.100s
$ time ack 1Jsztn-000647-SL exim_main.log &amp;gt;/dev/null
real    0m3.871s
user    0m3.370s
sys     0m0.120s
$ 
&lt;/pre&gt;

&lt;p&gt;As you can see, with the C locale, &lt;tt&gt;grep&lt;/tt&gt; is about 70 times
faster than with the multibyte locale and about 17 times faster than
&lt;tt&gt;ack&lt;/tt&gt;, which in turn shows no speed difference between the two
locales.&lt;/p&gt;

&lt;p&gt;Now some might make the case that one shouldn't bother with
&lt;tt&gt;ack&lt;/tt&gt; since it's so slow. Well, I prefer the 17x penalty if I
don't have to muck around with my locale every time I use &lt;tt&gt;grep&lt;/tt&gt;
or &lt;tt&gt;ack&lt;/tt&gt; on the command lines. In scripts, things are a bit
different, but &lt;tt&gt;ack&lt;/tt&gt; is not aimed at that. Additionally,
&lt;tt&gt;ack&lt;/tt&gt;'s performance advantage is also generated by not even
looking at uninteresting files. For example, searching for &quot;klausman&quot; in
a cvs checkout of the Gentoo portage tree takes 8 seconds with
&lt;tt&gt;ack&lt;/tt&gt;, but over thirty seconds with &lt;tt&gt;grep&lt;/tt&gt; (locale set to
C).&lt;/p&gt;

&lt;p&gt;All this said, &lt;tt&gt;ack&lt;/tt&gt; is one of the few tools that &lt;i&gt;look&lt;/i&gt; like
they're intended for use &quot;just like &lt;tt&gt;grep&lt;/tt&gt;&quot; but are actually meant for
humans (or programmers ;)).&lt;/p&gt;

&lt;p&gt;So the final verdict is: both &lt;tt&gt;grep&lt;/tt&gt; and &lt;tt&gt;ack&lt;/tt&gt; have
their places, but &lt;tt&gt;ack&lt;/tt&gt; sure eats some of &lt;tt&gt;grep&lt;/tt&gt;'s
pie.&lt;/p&gt;

&lt;p&gt;As a side note, the developers of grep might want to look into
optimizing their program for multibyte encodings. Not to the detriment
of the &quot;classic&quot; encodings, but I &lt;i&gt;think&lt;/i&gt; there's some untapped
potential.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; The grep devs &lt;a href=&quot;http://savannah.gnu.org/bugs/index.php?14472&quot;&gt;already know&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Wed, 07 May 2008 19:31:43 +0000</pubDate>
	<dc:creator>Tobias Klausmann (klausman)</dc:creator>
</item>
<item>
	<title>Zack Medico: Using Blockers to Automatically Uninstall Unwanted Packages</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1519@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/zmedico/2008/05/06/blocker_conflict_automatic_uninstall</link>
	<description>&lt;p&gt;A while ago I wrote a blog entry about
&lt;a href=&quot;http://planet.gentoo.org/developers/zmedico/2007/08/19/using_blockers_to_adjust_merge_order&quot;&gt;
using blockers to adjust merge order&lt;/a&gt;. Now, in
&lt;a href=&quot;http://packages.gentoo.org/package/sys-apps/portage&quot;&gt;portage-2.1.5&lt;/a&gt;,
blockers are also resolved automatically in cases when it makes
sense to uninstall a conflicting package (&lt;a href=&quot;http://bugs.gentoo.org/show_bug.cgi?id=172812&quot;&gt;bug #172812&lt;/a&gt;).
This feature should allow automatic resolution of
&lt;a href=&quot;http://dev.gentoo.org/~zmedico/portage/doc/portage.html#dependency-resolution-package-modeling-blocker-conflicts&quot;&gt;
blocker conflicts&lt;/a&gt; in many more cases than previously possible, so Gentoo
users won't be inconvenienced with the task of resolving them manually.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;gtk-doc-am vs. gtk-doc-1.8-r2&lt;/strong&gt;
&lt;/p&gt;&lt;pre&gt;
These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[nomerge      ] x11-libs/gtk+-2.12.9-r2  USE=&quot;X cups jpeg tiff xinerama -debug -doc -vim-syntax&quot;
[ebuild  N    ]  dev-util/gtk-doc-am-1.10-r1  0 kB
[blocks b     ] dev-util/gtk-doc-am (is blocking dev-util/gtk-doc-1.8-r2)
[uninstall    ]  dev-util/gtk-doc-1.8-r2  USE=&quot;emacs -debug -doc&quot;

Total: 1 package (1 new, 1 uninstall), Size of downloads: 0 kB
Conflict: 1 block
&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;coreutils vs. mktemp&lt;/strong&gt;
&lt;/p&gt;&lt;pre&gt;
These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U ] sys-apps/coreutils-6.11 [6.9-r1] USE=&quot;acl nls xattr (-selinux) -static -vanilla%&quot; 0 kB
[blocks b     ]  sys-apps/mktemp (is blocking sys-apps/coreutils-6.11)
[blocks b     ] &gt;=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)
[uninstall    ]  sys-apps/mktemp-1.5

Total: 1 package (1 upgrade, 1 uninstall), Size of downloads: 0 kB
Conflict: 2 blocks
&lt;/pre&gt;</description>
	<pubDate>Tue, 06 May 2008 18:29:58 +0000</pubDate>
	<dc:creator>Zack Medico (zmedico)</dc:creator>
</item>
<item>
	<title>Tobias Klausmann: ack! (thpppt!)</title>
	<guid isPermaLink="false">http://blog.i-no.de//archives/2008/05/06/index.html#e2008-05-06T16_44_51.txt</guid>
	<link>http://blog.i-no.de//archives/2008/05/06/index.html#e2008-05-06T16_44_51.txt</link>
	<description>&lt;p&gt;There are some tools that look like you will never replace them. One of
those (for me) is &lt;tt&gt;grep&lt;/tt&gt;. It does what it does very well (remarks about
the shortcomings of regexen in general aside). It works reasonably well with
Unicode/UTF-8 (a great opportunity to Fail Miserably for any tool, viz.
&lt;tt&gt;a2ps&lt;/tt&gt;).&lt;/p&gt;

&lt;p&gt;Yet, the other day I &lt;a href=&quot;http://plasmasturm.org/&quot;&gt;read&lt;/a&gt; about &lt;a href=&quot;http://petdance.com/ack/&quot;&gt;ack&lt;/a&gt;, which claims to be &quot;better than grep,
a search tool for programmers&quot;. Woo. Better than grep? In what way?&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://petdance.com/ack/&quot;&gt;ack homepage&lt;/a&gt; lists the top ten reasons
why one should use it instead of grep. Actually, it's thirteen reasons but
then some are dupes. So I'd say &quot;about ten reasons&quot;. Let's look at them in order.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;h3&gt;It's blazingly fast because it only searches the stuff you want
searched.&lt;/h3&gt;
&lt;p&gt;Wait, how does it know what I want? A &lt;a href=&quot;http://en.wikipedia.org/wiki/DWIM&quot;&gt;DWIM&lt;/a&gt;-Interface at last? Not
quite. First off, &lt;tt&gt;ack&lt;/tt&gt; &lt;i&gt;is&lt;/i&gt; faster than &lt;tt&gt;grep&lt;/tt&gt; for simple searches. Here's
an example:&lt;/p&gt;

&lt;pre&gt;
$ time ack 1Jsztn-000647-SL exim_main.log &amp;gt;/dev/null
real    0m3.463s
user    0m3.280s
sys     0m0.180s
$ time grep -F 1Jsztn-000647-SL exim_main.log &amp;gt;/dev/null
real    0m14.957s
user    0m14.770s
sys     0m0.160s
&lt;/pre&gt;

&lt;p&gt;Two notes: first, yes, the file was in the page cache before I ran ack;
second, I even made it easy for &lt;tt&gt;grep&lt;/tt&gt; by telling it explicitly I was
looking for a fixed string (not that it helped much, the same command without
&lt;tt&gt;-F&lt;/tt&gt; was faster by about 0.1s). Oh and for completeness, the exim
logfile I searched has about two million lines and is 250M. I've run those
tests ten times for each, the times shown above are typical.&lt;/p&gt;

&lt;p&gt;So yes, for simple searches, &lt;tt&gt;ack&lt;/tt&gt; is faster than grep. Let's try
with a more complicated pattern, then. This time, let's use the pattern
&lt;tt&gt;(klausman|gentoo)&lt;/tt&gt; on the same file. Note that we have to use
&lt;tt&gt;-E&lt;/tt&gt; for &lt;tt&gt;grep&lt;/tt&gt; to use extended regexen, which &lt;tt&gt;ack&lt;/tt&gt; in
turn does not need, since it (almost) always uses them. Here, &lt;tt&gt;grep&lt;/tt&gt;
takes its sweet time: 3:56, nearly four minutes. In contrast, &lt;tt&gt;ack&lt;/tt&gt;
accomplished the same task in 49 seconds (all times averaged over ten runs,
then rounded to integer seconds).&lt;/p&gt;

&lt;p&gt;As for the &quot;being clever&quot; side of speed, see below, points 5 and 6&lt;/p&gt;

&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;ack is pure Perl, so it runs on Windows just fine.&lt;/h3&gt;
&lt;p&gt;This isn't relevant to me, since I don't use windows for anything where I
might need grep. That said, it might be a killer feature for others.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;h3&gt;The standalone version uses no non-standard modules, so you can put it in your
~/bin without fear.&lt;/h3&gt;

&lt;p&gt;Ok, this is not so much of a feature than a hard criterion. If I needed
extra modules for the whole thing to run, that'd be a deal breaker. I already
have tons of libraries, I don't need more undergrowth around my dependency
tree.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;h3&gt;Searches recursively through directories by default, while ignoring
.svn, CVS and other VCS directories.&lt;/h3&gt;

&lt;p&gt;This is a feature, yet one that wouldn't pry me away from grep: &lt;tt&gt;-r&lt;/tt&gt;
is there (though it distinctly feels like an afterthought). Since &lt;tt&gt;ack&lt;/tt&gt;
ignores a certain set of files and directories, its recursive capabilities
where there from the start, making it feel more seamless.&lt;/p&gt; &lt;/li&gt;

&lt;li&gt;&lt;h3&gt;ack ignores most of the crap you don't want to search&lt;/h3&gt;
&lt;p&gt;To be precise:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;VCS directories&lt;/li&gt;
&lt;li&gt;blib, the Perl build directory&lt;/li&gt;
&lt;li&gt;backup files like foo~ and #foo#&lt;/li&gt;
&lt;li&gt;binary files, core dumps, etc. &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most of the time, I don't want to search those (and have to exclude them
with &lt;tt&gt;grep -v&lt;/tt&gt; from &lt;tt&gt;find&lt;/tt&gt; results). Of course, this ignore-mode
can be switched off with &lt;tt&gt;ack&lt;/tt&gt; (&lt;tt&gt;-u&lt;/tt&gt;). All that said, it sure
makes command lines shorter (and easier to read and construct). Also, this is
the first spot where ack's Perl-centricism shows. I don't mind, even though I
prefer that &lt;a href=&quot;http://python.org/&quot;&gt;other language with P&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt;

&lt;li&gt;&lt;h3&gt;Ignoring .svn directories means that ack is faster than grep for
searching through trees.&lt;/h3&gt;
&lt;p&gt;Dupe. See Point 5&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;h3&gt;Lets you specify file types to search, as in --perl or --nohtml.&lt;/h3&gt;

&lt;p&gt;While at first glance, this may seem limited, &lt;tt&gt;ack&lt;/tt&gt; comes with a
plethora of definitions (45 if I counted correctly), so it's not as
perl-centric as it may seem from the example. This feature saves command-line
space (if there's such a thing), since it avoids wild find-constructs. The
docs mention that &lt;tt&gt;--perl&lt;/tt&gt; also checks the shebang line of files that
don't have a suffix, but make no mention of the other &quot;shipped&quot; file type
recognizers doing so.&lt;/p&gt; &lt;/li&gt;

&lt;li&gt;&lt;h3&gt;File-filtering capabilities usable without searching with ack -f. This
lets you create lists of files of a given type.&lt;/h3&gt;
&lt;p&gt;This mostly is a consequence of the feature above. Even if it weren't
there, you could simply search for &quot;.&quot;&lt;/p&gt; &lt;/li&gt;

&lt;li&gt;&lt;h3&gt;Color highlighting of search results.&lt;/h3&gt; &lt;p&gt;While I've looked upon
color in shells as kinda childish for a while, I wouldn't want to miss syntax
highlighting in vim, colors for ls (if they're not as sucky as the defaults we
had for years) or match highlighting for grep. It's really neat to see that
yes, the pattern you grepped for indeed matches what you think it does.
Especially during evolutionary construction of command lines and shell
scripts.&lt;/p&gt; &lt;/li&gt;

&lt;li&gt;&lt;h3&gt;Uses real Perl regular expressions, not a GNU subset&lt;/h3&gt; &lt;p&gt;Again,
this doesn't bother me much. I use &lt;tt&gt;egrep&lt;/tt&gt;/&lt;tt&gt;grep -E&lt;/tt&gt; all the
time, anyway. And I'm no Perl programmer, so I don't get withdrawal symptoms
every time I use another regex engine.&lt;/p&gt; &lt;/li&gt;

&lt;li&gt;&lt;h3&gt;Allows you to specify output using Perl's special variables&lt;/h3&gt;
&lt;p&gt;This &lt;i&gt;sounds&lt;/i&gt; neat, yet I don't really have a use case for it. Also,
my perl-fu is weak, so I probably won't use it anyway. Still, might be a
killer feature for you.&lt;/p&gt;
&lt;p&gt; The docs have an example:&lt;/p&gt;
&lt;blockquote&gt;
ack '(Mr|Mr?s)\. (Smith|Jones)' --output='$&amp;amp;'
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;Many command-line switches are the same as in GNU grep:&lt;/h3&gt;
&lt;p&gt;Specifically mentioned are &lt;tt&gt;-w&lt;/tt&gt;, &lt;tt&gt;-c&lt;/tt&gt; and &lt;tt&gt;-l&lt;/tt&gt;. It's
always nice if you don't have to look up all the flags every time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;Command name is 25% fewer characters to type! Save days of free-time!
Heck, it's 50% shorter compared to grep -r&lt;/h3&gt;
&lt;p&gt;Okay, now we have proof that not only the &lt;tt&gt;ack&lt;/tt&gt; webmaster can't
count, he's also making up reasons for fun. Works for me.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bottom line: yes, &lt;tt&gt;ack&lt;/tt&gt; is an exciting new tool which partly
replaces grep. That said, a drop-in replacement it ain't. While the standalone
version of ack needs nothing but a perl interpreter and its standard modules,
for embedded systems that may not work out (vs. the binary with no deps beside
a libc). This might also be an issue if you need &lt;tt&gt;grep&lt;/tt&gt; early on during
boot and /usr (where your perl resides) isn't mounted yet. Also, default
behaviour is divergent enough that it might yield nasty surprises if you just
drop in ack instead of grep. Still, I recommend giving &lt;tt&gt;ack&lt;/tt&gt; a try if
you ever use &lt;tt&gt;grep&lt;/tt&gt; on the command line. If you're a coder who often
needs to search through working copies/checkouts, even more so.&lt;/p&gt; 

&lt;h3&gt;Update&lt;/h3&gt;
&lt;p&gt;I've written &lt;a href=&quot;http://blog.i-no.de/archives/2008/05/07/index.html#e2008-05-07T21_31_43.txt&quot;&gt;a
followup&lt;/a&gt; on this, including some tips for day-to-day usage (and an
explanation of &lt;tt&gt;grep&lt;/tt&gt;'s sucky performance).&lt;/p&gt;

&lt;h2&gt;Comments&lt;/h2&gt;

&lt;p&gt;&lt;i&gt;René &quot;Necoro&quot; Neumann&lt;/i&gt; writes (in German, translation by me):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Stumbled across your blog entry about &quot;ack&quot; today. I tried it and found it
to be cool :). So I created two ebuilds for it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href=&quot;http://bugs.gentoo.org/show_bug.cgi?id=220645&quot;&gt;sys-apps/ack&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;http://bugs.gentoo.org/show_bug.cgi?id=220639&quot;&gt;dev-perl/File-Next&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just wanted to let you know (there is no comment function on your
blog).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;'Tis well appreciated. Can't speak for the ebuilds' quality (yet), but I'm
sure something will be worked out.&lt;/p&gt;</description>
	<pubDate>Tue, 06 May 2008 14:44:51 +0000</pubDate>
	<dc:creator>Tobias Klausmann (klausman)</dc:creator>
</item>
<item>
	<title>Daniel Drake: Fingerprint scanning project report published</title>
	<guid isPermaLink="false">http://www.reactivated.net/weblog/?p=183</guid>
	<link>http://www.reactivated.net/weblog/archives/2008/05/fingerprint-scanning-project-report-published/</link>
	<description>&lt;p&gt;My &lt;a href=&quot;http://www.reactivated.net/fprint/wiki/&quot;&gt;fprint fingerprint scanning efforts&lt;/a&gt; formed my final year Computer Science project at &lt;a href=&quot;http://www.cs.manchester.ac.uk&quot;&gt;The University of Manchester&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The source code for this project has been &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=208521&quot;&gt;available on SourceForge&lt;/a&gt; from early on (GPL-2/LGPL-2 licenses). I&amp;#8217;ve now completed and submitted a comprehensive project report (similar to a dissertation) for academic assessment, and I&amp;#8217;m making this available under a Creative Commons license. You can find the report &lt;a href=&quot;http://www.reactivated.net/fprint/academic-project/fprint_report.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/uk/&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; src=&quot;http://i.creativecommons.org/l/by-nc-nd/2.0/uk/88x31.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://www.reactivated.net/fprint/academic-project/fprint_report.pdf&quot;&gt;The report&lt;/a&gt; is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-nd/2.0/uk/&quot;&gt;Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 UK: England &amp;#038; Wales License&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The academic project is now complete, but I plan to continue development as time permits. There is a lot to be done, and I have already made some good progress on moving &lt;a href=&quot;http://libusb.wiki.sourceforge.net/Libusb1.0&quot;&gt;libusb-1.0&lt;/a&gt; closer to release.&lt;/p&gt;</description>
	<pubDate>Tue, 06 May 2008 10:30:20 +0000</pubDate>
	<dc:creator>Daniel Drake (dsd)</dc:creator>
</item>
<item>
	<title>Joshua Nichols: Managing RubyGems on Gentoo</title>
	<guid isPermaLink="false">tag:technicalpickles.com:Post69</guid>
	<link>http://feeds.feedburner.com/~r/TechnicalPicklesGentoo/~3/283649460/managing-rubygems-on-gentoo</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/nichoj.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;For Ruby on Gentoo, it has been asked how one should go about managing &lt;a href=&quot;http://www.rubygems.org/&quot;&gt;RubyGems&lt;/a&gt;. You have a few options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use Gentoo packages exclusively&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;gem&lt;/code&gt; exclusively&lt;/li&gt;
&lt;li&gt;Mix and match and pray&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Mix and match&lt;/h2&gt;

&lt;p&gt;Offhand, mixing and matching seems like a bad idea.&lt;/p&gt;

&lt;p&gt;Doing so, you might install a gem using portage, but then you could use &lt;code&gt;gem update&lt;/code&gt; to update it. Then you update it with portage...&lt;/p&gt;

&lt;p&gt;Overall, seems like it could be problematic in the long run.&lt;/p&gt;

&lt;h2&gt;Gentoo packages exclusively&lt;/h2&gt;

&lt;p&gt;Being a Gentoo packager, my first take is that using packages is the way to go.&lt;/p&gt;

&lt;p&gt;Some pluses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One stop for installing/updating packages, ruby or otherwise&lt;/li&gt;
&lt;li&gt;For gems with native extensions, can have dependencies on the things the native extensions use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, there are a number of disadvantages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There are tons of gems out there&lt;/li&gt;
&lt;li&gt;Some update frequently&lt;/li&gt;
&lt;li&gt;Lot of packages to be keeping up with stable keywords&lt;/li&gt;
&lt;li&gt;Despite gem ebuilds being pretty straightforward, there is a bit of grunt work involved on to verify dependencies are accurate&lt;/li&gt;
&lt;li&gt;Lots of gems are unpackaged, because they are usually packaged as requested or as developers need them&lt;/li&gt;
&lt;li&gt;Despite being able to install multiple gems at once, packages usually aren't slotted that way&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Gems exclusively&lt;/h2&gt;

&lt;p&gt;If you're a Ruby developer, the most natural way would be using RubyGem directly. Some nice things include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most direct way to have the latest and greatest gems&lt;/li&gt;
&lt;li&gt;Can have as many versions installed as you want&lt;/li&gt;
&lt;li&gt;Zero maintenance for Gentoo packagers (sweet!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, not without their drawbacks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a gem uses native extensions, it can be tricky to determine what the it's dependencies are&lt;/li&gt;
&lt;li&gt;Problematic when other (non-ruby) packages need to depend on gems&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;My current practices&lt;/h2&gt;

&lt;p&gt;So where does that bring us?&lt;/p&gt;

&lt;p&gt;Here are the practices I've taken to using for my Ruby and Rails development and deployment needs.&lt;/p&gt;

&lt;h3&gt;In development&lt;/h3&gt;

&lt;p&gt;On my development machine (4 MacBook running Leopard with Gentoo/Prefix), I've using RubyGems directly.&lt;/p&gt;

&lt;p&gt;If I'm working on a Rails app, and it needs any gems, I've taken to &lt;a href=&quot;http://errtheblog.com/posts/50-vendor-everything&quot;&gt;vendoring everything&lt;/a&gt;. This type of thing will be &lt;a href=&quot;http://ryandaigle.com/articles/2008/4/1/what-s-new-in-edge-rails-gem-dependencies&quot;&gt;supported out of the box for Rails 2.1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Of course, this wouldn't work so well for things with native extensions, like &lt;a href=&quot;http://code.whytheluckystiff.net/hpricot/&quot;&gt;hpricot&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;In production&lt;/h3&gt;

&lt;p&gt;I avoid installing any gems in production as much as possible. If an app needs something, it should be vendored, like I just described.&lt;/p&gt;

&lt;p&gt;For gems needed by my apps that have native extensions, or are otherwise needed in production (like &lt;a href=&quot;http://rake.rubyforge.org/&quot;&gt;rake&lt;/a&gt; and the mysql gem), again, I'm using RubyGem directly.&lt;/p&gt;</description>
	<pubDate>Mon, 05 May 2008 03:04:16 +0000</pubDate>
	<dc:creator>Joshua Nichols (nichoj)</dc:creator>
</item>
<item>
	<title>Fernando J. Pereda: On cooperating and paludis vulnerability</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1518@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/ferdy/2008/05/03/on_cooperating_and_paludis_vulnerability</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/ferdy.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;A serious security issue in paludis was brought to my attention recently, and I feel I should make you all aware. Apparently someone, with root access to a machine, can gain root access by installing or editing paludis config files.&lt;/p&gt;

&lt;p&gt;For those interested, this is how it happened (times are GMT+1):&lt;/p&gt;

&lt;pre&gt;22:34 &amp;lt;@ferdy&amp;gt; bonsaikitten: can you give me any details regarding that
 security bug in paludis?
22:35 &amp;lt;+bonsaikitten&amp;gt; ferdy: it's so obvious you should have found it already
22:37 &amp;lt;@ferdy&amp;gt; bonsaikitten: I should, but I probably haven't
22:37 &amp;lt;+bonsaikitten&amp;gt; ferdy: well, as I am a moron I'm unable to coherently explain :)
22:37 &amp;lt;@ferdy&amp;gt; bonsaikitten: I mean, depends on whether we are talking about
a real security issue or about something we should document to avoid people
shooting themselves in the foot
22:39 &amp;lt;@ferdy&amp;gt; bonsaikitten: is that all you are going to tell me?
22:39 &amp;lt;+bonsaikitten&amp;gt; ferdy: come on, it's obvious. You're supposed to be smart ...
22:39 * bonsaikitten is not in a mood to explain
22:40 &amp;lt;@ferdy&amp;gt; bonsaikitten: you aren't really talking about the paludisbuild issue, are you?
22:41 &amp;lt;+bonsaikitten&amp;gt; mmh no, that's a different one
22:41 &amp;lt;@ferdy&amp;gt; k
22:41 &amp;lt;@ferdy&amp;gt; bonsaikitten: what are we talking about?
22:42 &amp;lt;@ferdy&amp;gt; bonsaikitten: you don't need to explain it... just say, in general 
terms, what the issue is
22:50 &amp;lt;@ferdy&amp;gt; bonsaikitten: so? care to give any useful hint?
22:50 &amp;lt;+bonsaikitten&amp;gt; ferdy: doesn't happen in portage compatibility mode
22:51 &amp;lt;+bonsaikitten&amp;gt; but I blame the vodka, hard to explain when *burp* *giggle*
22:52 &amp;lt;@ferdy&amp;gt; bonsaikitten: what's the impact?
22:53 &amp;lt;+bonsaikitten&amp;gt; ferdy: depends on how annoying the other person is
22:54 &amp;lt;+bonsaikitten&amp;gt; ferdy: worst case random file modification
22:58 &amp;lt;@ferdy&amp;gt; bonsaikitten: and we already agreed that we aren't talking about
the paludisbuild issue, right?
22:59 &amp;lt;@ferdy&amp;gt; bonsaikitten: if we aren't, I'll need more hints....
23:05 &amp;lt;@ferdy&amp;gt; bonsaikitten: can I get an attack vector?
23:05 &amp;lt;@ferdy&amp;gt; that shouldn't need lots of explaining... I can figure out that
part myself
23:19 &amp;lt;@ferdy&amp;gt; bonsaikitten: have you got that attack vector for me?
23:24 &amp;lt;+bonsaikitten&amp;gt; ferdy: look at configuration files, maybe you notice that
there's some exquisit code execution possible there
23:29 &amp;lt;@ferdy&amp;gt; bonsaikitten: you mean those config files that only root can
edit? I must be missing something here
23:29 &amp;lt;+bonsaikitten&amp;gt; ferdy: you are :)
23:29 &amp;lt;+bonsaikitten&amp;gt; not much, and it's basically the same flaw bashrc is
for portage
23:29 &amp;lt;+bonsaikitten&amp;gt; only that bashrc is config_protect'ed ...
23:30 &amp;lt;@ferdy&amp;gt; bonsaikitten: but for a package to clover those files, it must be
in a repo root added, right?
23:31 &amp;lt;+bonsaikitten&amp;gt; someone in the package mangler group, but yes
23:35 &amp;lt;@ferdy&amp;gt; bonsaikitten: but if you can change those files in the first place,
why clover them by adding a malicious repo with a malicious package that changes
those files?
23:35 &amp;lt;+bonsaikitten&amp;gt; ferdy: because it's very subtle
23:36 &amp;lt;@ferdy&amp;gt; moreover, if you can already do that, why not just make the
package install whatever backdoor you want?
23:37 &amp;lt;@ferdy&amp;gt; I mean, it is subtle, but why would anyone go the 'convoluted'
route? he is already able to edit those files (since he had to add that repo)
23:38 &amp;lt;+bonsaikitten&amp;gt; 'cause only paludis is affected and you will find it very
hard to trace
23:38 &amp;lt;+bonsaikitten&amp;gt; that makes it so tempting ...
23:40 &amp;lt;+bonsaikitten&amp;gt; just don't be surprised if it suddenly unmerges itself :)
23:41 &amp;lt;@ferdy&amp;gt; yeah... well...
23:41 &amp;lt;@ferdy&amp;gt; bonsaikitten: mind if I disclose this vulnerability in
 planet.gentoo.org?
23:42 &amp;lt;+bonsaikitten&amp;gt; go ahead
23:42 &amp;lt;@ferdy&amp;gt; ta
23:42 &amp;lt;+bonsaikitten&amp;gt; 't is even on the features page of the package mangler :)&lt;/pre&gt;

&lt;p&gt;This is a good lesson to learn today:&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;If you can edit files owned by root in a machine, you can get root access to that machine.&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;So the bottom line is: There is no vulnerability, if you can mangle paludis config files, you are already root so you don't need to edit a file to run any command you want. Another lesson one can learn by reading that log is how to be really cooperative.&lt;/p&gt;

&lt;p&gt;Ah, and before someone with a need to use cheap psychology asks, the intention of this blag post is to stop the &lt;a href=&quot;http://gentooexperimental.org/~patrick/weblog/archives/2008-05.html#e2008-05-03T21_04_56.txt&quot;&gt;FUD&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;- ferdy&lt;/p&gt;</description>
	<pubDate>Sat, 03 May 2008 22:24:10 +0000</pubDate>
	<dc:creator>Fernando J. Pereda (ferdy)</dc:creator>
</item>
<item>
	<title>Remi Cardona</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1517@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/remi/2008/05/02/title_20</link>
	<description>&lt;p&gt;Replying to &lt;a href=&quot;http://psykil.livejournal.com/325241.html&quot;&gt;Ryan's post&lt;/a&gt;...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=384090#c41&quot;&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=384090#c41&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And I'll just quote that comment here:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Firefox-3 (now that the patch is applied) will behave like Gtk, i.e. it will read the font dpi from any standards-compliant XSETTINGS manager. If Gtk programs have the right font dpi on your system, then so will firefox.&lt;/p&gt;

&lt;p&gt;As for the gconf key, it won't help you unless you are also running gnome-settings-daemon (the default XSETTINGS manager for the Gnome desktop).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Let's not spread unnecessary false information, shall we? &lt;img src=&quot;http://planet.gentoo.org/developers/rsc/smilies/icon_wink.gif&quot; alt=&quot;&amp;#59;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 02 May 2008 15:31:05 +0000</pubDate>
	<dc:creator>Remi Cardona (remi)</dc:creator>
</item>
<item>
	<title>Christian Faulhammer: Better late than sorry</title>
	<guid isPermaLink="false">http://www.faulhammer.org/index.php?option=com_content&amp;task=view&amp;id=247&amp;Itemid=99999999</guid>
	<link>http://www.faulhammer.org/index.php?option=com_content&amp;task=view&amp;id=247&amp;Itemid=99999999</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/opfer.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Or whatever the proverb was...anyway, here is my meme list:&lt;/p&gt;&lt;p&gt;Desktop user:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;77 cd&lt;br /&gt;75 l&lt;br /&gt;59 grep&lt;br /&gt;48 ebuild&lt;br /&gt;33 less&lt;br /&gt;21 exit&lt;br /&gt;21 cvs&lt;br /&gt;16 repoman&lt;br /&gt;15 $EDITOR&lt;br /&gt;12 /bin/su&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Chroot (for architecture work):&lt;/p&gt;&lt;pre&gt;118 gatt&lt;br /&gt;53 emerge&lt;br /&gt;46 exit&lt;br /&gt;24 rm&lt;br /&gt;24 FEATURES=&amp;quot;test&lt;br /&gt;21 USE=&amp;quot;doc&lt;br /&gt;19 l&lt;br /&gt;17 emacs&lt;br /&gt;15 eix&lt;br /&gt;15 dispatch-conf&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Yes, I use Gatt a lot for arch work and so should all testers and stabilisers. :)&lt;/p&gt;</description>
	<pubDate>Fri, 02 May 2008 09:12:04 +0000</pubDate>
	<dc:creator>Christian Faulhammer (opfer)</dc:creator>
</item>
<item>
	<title>Donnie Berkholz: Updated xorg-server and mesa live-git packages</title>
	<guid isPermaLink="false">http://dberkholz.wordpress.com/?p=415</guid>
	<link>http://dberkholz.wordpress.com/2008/05/02/updated-xorg-server-and-mesa-live-git-packages/</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/dberkholz.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;Today I reworked the mesa and xorg-server ebuilds to do things the cool way with the latest git sources. Mesa added an autoconf build, thanks to Dan Nicholson, which makes the ebuild a lot simpler and less error-prone by being more standardized. There&amp;#8217;s no XCB support yet&amp;#8211;if nobody else adds it, I&amp;#8217;ll probably do it eventually. It&amp;#8217;s just autoconf, no automake, so the installation side of the ebuild stayed pretty complex. There&amp;#8217;s a few strange things going on with what headers mesa installs that I haven&amp;#8217;t looked into besides just deleting them.&lt;/p&gt;
&lt;p&gt;Also, these updates incorporate the first major step to removing the extra copy of the mesa source code used to build xorg-server. The GLcore module is now built within mesa instead of xorg-server, thanks to George Sapountzis. This created a circular dependency between xorg-server and mesa, so I made a new ebuild called mesa-glcore. Unfortunately this means that libmesa.a still gets built twice. The other half of getting the mesa source out of the xorg-server build is libglx, and I&amp;#8217;m hoping someone does it soon (hint, hint!).&lt;/p&gt;
&lt;p&gt;This work is all available in the &lt;a title=&quot;x11 overlay&quot; href=&quot;http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=summary&quot; target=&quot;_blank&quot;&gt;Gentoo x11 overlay&lt;/a&gt;, which you can add with the simple command `layman -a x11`.&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/dberkholz.wordpress.com/415/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/dberkholz.wordpress.com/415/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/dberkholz.wordpress.com/415/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/dberkholz.wordpress.com/415/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/dberkholz.wordpress.com/415/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/dberkholz.wordpress.com/415/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/dberkholz.wordpress.com/415/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/dberkholz.wordpress.com/415/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/dberkholz.wordpress.com/415/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/dberkholz.wordpress.com/415/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/dberkholz.wordpress.com/415/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/dberkholz.wordpress.com/415/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=dberkholz.wordpress.com&amp;amp;blog=2962469&amp;amp;post=415&amp;amp;subd=dberkholz&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 02 May 2008 08:31:48 +0000</pubDate>
	<dc:creator>Donnie Berkholz (dberkholz)</dc:creator>
</item>
<item>
	<title>Luis Francisco Araujo: Himerge 0.20 release</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-6913397465984649777.post-6511923913202073296</guid>
	<link>http://araujoluis.blogspot.com/2008/05/himerge-020-release.html</link>
	<description>&lt;a href=&quot;http://bp3.blogger.com/_E1hiFQxvTWk/SBqPKMK3VYI/AAAAAAAAAA8/948hOoGji_8/s1600-h/himerge.png&quot;&gt;&lt;img src=&quot;http://bp3.blogger.com/_E1hiFQxvTWk/SBqPKMK3VYI/AAAAAAAAAA8/948hOoGji_8/s200/himerge.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5195622525353547138&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;After almost a year since the first Himerge version was released (May, 03, 2007) , the application has reached its version 0.20 as of today , introducing the following important changes for this release (from its Changelog):&lt;br /&gt;&lt;br /&gt;&lt;span&gt;1 - The queue operation 'add' is now available through a right-click from the browser version view for each package.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will allow to move packages easier to any package queue located inside the down-right control panel.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;2 - The queue operations 'remove/clear' are now available from each of the&lt;br /&gt;control panel package queue through a right-click.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You only right-click on any package queue , and a popup-menu will let you choose between removing the selected package inside the queue or clear the whole queue.&lt;br /&gt;&lt;br /&gt;With these two changes, which are ones of the most noticeable changes in the general &lt;span&gt;feel&amp;amp;look&lt;/span&gt; since Himerge was released almost a year ago; it is intended to increase usability and improves the user experience around the different packages queues ; so now you don't have to move the mouse click over the whole window but instead you have the operations at hand for each package in the specific visual context.&lt;br /&gt;&lt;span&gt;&lt;br /&gt;3 - A backup of all the system files used by himerge will be created inside&lt;br /&gt;the ~/.himerge/ directory.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This feature will keep those important configuration files used by Himerge saved inside ~/.himerge/. The application will read and copy these files every time you run a Himerge browser instance, so we don't miss any change.&lt;br /&gt;&lt;span&gt;&lt;br /&gt;4 - The USE flag browser is highly-improved. A new browser construction&lt;br /&gt;mechanism speeds up the launch of the browser and shows a more organized and&lt;br /&gt;coherent framework, listing only the necessary flags boxes available for a&lt;br /&gt;given entity (a package or the whole system use flags).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other words , now the integrated Himerge USE Flag browser will &lt;span&gt;*only*&lt;/span&gt; show the flags boxes alphabetically ordered for the existing USE flags of a specific package. There won't exist USE flags categories with empty content.&lt;br /&gt;&lt;br /&gt;Some code has been refactored for supporting this feature and the USE flag browser speed has greatly improved.&lt;br /&gt;&lt;br /&gt;Himerge is an application written entirely in Haskell that it only acts like a front-end and it uses several other applications written in different languages for some operations; nevertheless , some users seem to have problems or not willing to compile many keyworded/masked Haskell packages for it and I have been creating binaries for x86/amd64 for some Himerge versions lately ; you can get the ebuilds from: &lt;a href=&quot;http://dev.gentoo.org/%7Earaujo/stuff/ebuilds/&quot;&gt;http://dev.gentoo.org/~araujo/stuff/ebuilds/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Be aware that these binaries will be usually out-of-dated and they are currently in testing stage (some runtime dependencies could be missing here and there) , so if you receive an error , please try to compile and use the source version of the package instead before reporting.&lt;br /&gt;&lt;br /&gt;If you want to know more about Himerge , please visit its official web-site at &lt;a href=&quot;http://www.haskell.org/himerge&quot;&gt;http://www.haskell.org/himerge&lt;/a&gt;. You can also stop by #gentoo-guis@irc.freenode.net where some of us who believe in graphical interfaces inside Gentoo use to idle ;-).&lt;br /&gt;&lt;br /&gt;Himerge is a program developed by one-man , which means, one-man ideas too, but comments and bugs reports are welcome , and much more if they come with a patch ;-)&lt;br /&gt;&lt;br /&gt;Regards,</description>
	<pubDate>Thu, 01 May 2008 21:10:20 +0000</pubDate>
	<dc:creator>Luis Francisco Araujo (araujo)</dc:creator>
</item>
<item>
	<title>Steve Dibb: mplayer + dvdnav svn ebuilds</title>
	<guid isPermaLink="false">http://wonkabar.org/archives/424</guid>
	<link>http://wonkabar.org/archives/424</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/beandog.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;There has been some recent activity again on the &lt;a href=&quot;http://dir.gmane.org/gmane.comp.video.dvdnav.general&quot;&gt;libdvdnav&lt;/a&gt; front, and so I&amp;#8217;ve been playing around with it again.  I finally created an SVN ebuild for MPlayer which I can use myself instead of just manually updating and reconfiguring the repo myself.&lt;/p&gt;
&lt;p&gt;Generally speaking, I don&amp;#8217;t like the idea of ebuilds that hit upstream&amp;#8217;s SVN servers directly, so please be kind and don&amp;#8217;t do anything asinine like upgrade every single day or something.&lt;/p&gt;
&lt;p&gt;So now I have live subversion &lt;a href=&quot;http://overlays.gentoo.org/dev/beandog/browser&quot;&gt;ebuilds for both libdvdnav and mplayer&lt;/a&gt;.  This is the important thing to know about the libdvdnav ebuild: it has some changes to libdvdread so you will have to unmerge the one that is already uninstalled.  On top of that, since it is a new API version, everything you previously compiled against libdvdread (k3b, etc.) will have to be re-emerged &amp;#8230; and even then, there are zero guarantees that it will work at all.&lt;/p&gt;
&lt;p&gt;In short, these ebuilds are only designed for a select few: those people who are using mplayer exclusively and want to have dvdnav support at the risk of breaking anything else that needs DVD access.  Obviously, that scenario fits for someone with a media frontend, but doesn&amp;#8217;t make sense for general desktop usage.&lt;/p&gt;
&lt;p&gt;Also worth noting is that these are the only two ebuilds that will work together.  Previously, the mplayer in the tree would have detected and worked with the libdvdnav ebuild, but that&amp;#8217;s not the case anymore.  It&amp;#8217;s these two in the overlay, or the mplayer in the tree.  Pick one set and choose.&lt;/p&gt;
&lt;p&gt;If you have problems with the ebuilds, let me know.  I&amp;#8217;m still not an expert at layman so I can&amp;#8217;t go about giving you instructions on how to install this stuff directly.  Have fun, though.&lt;/p&gt;
&lt;p&gt;Oh, and last but not least &amp;#8212; I tested them, and it works for me. :)  Just emerge libdvdread first, then mplayer.&lt;/p&gt;</description>
	<pubDate>Thu, 01 May 2008 16:57:30 +0000</pubDate>
	<dc:creator>Steve Dibb (beandog)</dc:creator>
</item>
<item>
	<title>Christian Faulhammer: Security on Gentoo</title>
	<guid isPermaLink="false">http://www.faulhammer.org/index.php?option=com_content&amp;task=view&amp;id=246&amp;Itemid=99999999</guid>
	<link>http://www.faulhammer.org/index.php?option=com_content&amp;task=view&amp;id=246&amp;Itemid=99999999</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/opfer.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;A task of the Gentoo security team is to provide Gentoo Linux Security Advisories (GLSA). Some months ago we just lagged behind there, but now I must admit that the current members do a good job in getting the bugs done on time. Backpadding is wanted by everyone, so here is yours, security monkeys.</description>
	<pubDate>Thu, 01 May 2008 14:55:58 +0000</pubDate>
	<dc:creator>Christian Faulhammer (opfer)</dc:creator>
</item>
<item>
	<title>Ryan Hill: Why mozilla needs a freedesktop.org liason</title>
	<guid isPermaLink="false">http://psykil.livejournal.com/325241.html</guid>
	<link>http://psykil.livejournal.com/325241.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/dirtyepic.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;So I finally got fed up with fonts on half the sites i visit (including LJ) being gargantuan in Firefox 3.  I managed to track it down to this bug [&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=384090&quot;&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=384090&lt;/a&gt;].&lt;br /&gt;&lt;br /&gt;Yay, it's fixed!&lt;br /&gt;&lt;br /&gt;Then I read this gem:&lt;br /&gt;&lt;br /&gt;&quot;Well, the correct way to set font DPI on the Linux desktop is with the &lt;br /&gt;/desktop/gnome/font_rendering/dpi gconf key.&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*sigh*</description>
	<pubDate>Wed, 30 Apr 2008 17:38:51 +0000</pubDate>
	<dc:creator>Ryan Hill (dirtyepic)</dc:creator>
</item>
<item>
	<title>Gunnar Wrobel: Virtual servers get converted to Gentoo</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-998418780028044861.post-4952598897394107496</guid>
	<link>http://log.onthebrink.de/2006/09/virtual-servers-get-converted-to-gentoo.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/wrobel.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;a href=&quot;http://flickr.com/photos/wrobel/229904945/&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/69/229904945_2b04aadcfe_m_d.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;p&gt;
It looks like a number of people are not too happy about running SuSE
on their virtual servers. I got a good deal of feedback on my &lt;a href=&quot;http://log.onthebrink.de/2008/04/gentoo-on-1-vserver.html&quot;&gt;HowTo&lt;/a&gt;
that describes the conversion of a virtual server preinstalled with
SuSE. I integrated all fixes and improvements that I received from
various contributors. Thanks a lot to all of them!
&lt;/p&gt;
&lt;p&gt;
While the instructions were initially targeted at the servers provided
by &lt;a href=&quot;http://1und1.de&quot;&gt;1 and 1&lt;/a&gt; it definitely also works for the servers of &lt;a href=&quot;http://strato.de&quot;&gt;Strato&lt;/a&gt;. Anyone
with a success story on the servers of other companies?
&lt;/p&gt;</description>
	<pubDate>Wed, 30 Apr 2008 12:40:15 +0000</pubDate>
	<dc:creator>Gunnar Wrobel (wrobel)</dc:creator>
</item>
<item>
	<title>Gunnar Wrobel: Gentoo on a 1&amp;amp;1 vServer</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-998418780028044861.post-6790041445241786513</guid>
	<link>http://log.onthebrink.de/2008/04/gentoo-on-1-vserver.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/wrobel.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;a href=&quot;http://flickr.com/photos/wrobel/229904945/&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/69/229904945_2b04aadcfe_m_d.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;h5&gt;Last update: 2008/04/30&lt;/h5&gt;                                                                                                                                                                  
                                                                                                                                                                             &lt;p&gt;
Companies like &lt;a href=&quot;http://www.1und1.de&quot;&gt;1and1&lt;/a&gt; and &lt;a href=&quot;http://strato.de/&quot;&gt;Strato&lt;/a&gt; offer virtual                               
servers based on the &lt;a href=&quot;http://www.swsoft.com&quot;&gt;Virtuozzo&lt;/a&gt; virtualization technology. While these                                                                          
machines are quite cheap and provide a full linux work environment                                                                                                                 
they run &lt;a href=&quot;http://www.suse.de&quot;&gt;SUSE&lt;/a&gt; by default. Not my favorite linux distribution...
&lt;/p&gt;                                                                               
&lt;p&gt;
I was pretty certain that I could also switch the server to &lt;a href=&quot;http://www.gentoo.org&quot;&gt;Gentoo&lt;/a&gt;.                                                                         
But when I asked the customer support they told me that they have no                                                                                                               
one running Gentoo on any of these machines. And that they would have                                                                                                              
no clue if that could work.
&lt;/p&gt;                                                                                                                                                    
                                                                                                                                                                                  &lt;p&gt;
So I tried and it is definitely possible. Just in case there are                                                                                                                
others who would like to have a Gentoo vserver on a Virtuozzo system                                                                                                               
this HowTo will provide some instructions on how to achieve that.
&lt;/p&gt;                                                                                                              
                                                                                                                                                                                  &lt;p&gt;
Do I need to give the usual warnings? You'll completely wipe the old                                                                                                            
system and if something does not work, you will have to reinitialize                                                                                                               
the server. If you don't want to take that risk, &lt;strong&gt;do not continue&lt;/strong&gt;.
&lt;/p&gt;

&lt;h4&gt;Cleaning up&lt;/h4&gt;                                                                                                                                                                  
                                                                                                                                                                                &lt;p&gt;
First you will have to log into your &amp;quot;Virtuozzo Power Panel&amp;quot; in order                                                                                   
to switch the system into repair mode. The original system now                                                                                                                     
resides in &lt;em&gt;/repair&lt;/em&gt; and you work in a safety mode.
&lt;/p&gt;                                                                                                                     
                                                                                                                                                                                  &lt;p&gt;
Now log into your system via &lt;em&gt;ssh&lt;/em&gt; and make a backup copy the old                                                                                                        
&lt;em&gt;/etc/mtab&lt;/em&gt; (this helps to have a working &lt;em&gt;df&lt;/em&gt; command at a later time                                                                                               
point, reported by Gian):
&lt;/p&gt;                                                                                                                                                      
                                                                                                                                                                                   
&lt;pre&gt;     
cp /repair/etc/mtab /root/mtab.old                                                                                                                                                 
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                  
&lt;p&gt;
Now remove the old suse system:
&lt;/p&gt;                                                                                                                                             
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
cd /repair                                                                                                                                                                         
rm -rf *                                                                                                                                                                           
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;
In case this results in a failure your repair directory might be                                                                                                                
mounted as read-only (reported by Ulrich):
&lt;/p&gt;                                                                                                                                     
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
mount -o remount,rw /repair                                                                                                                                                        
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
                                                                                                                                                                                   
&lt;h4&gt;Install the basic Gentoo system&lt;/h4&gt;                                                                                                                                               
                                                                                                                                                                                  
&lt;p&gt;
Now (still in &lt;em&gt;/repair&lt;/em&gt;) start to download the stage and a portage                                                                                         
snapshot from your nearest &lt;a href=&quot;http://www.gentoo.org/main/en/mirrors.xml&quot;&gt;mirror&lt;/a&gt;:
&lt;/p&gt;                                                                                     
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
wget ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/experimental/x86/vserver/stage3-i686-20060317.tar.bz2
wget ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/snapshots/portage-latest.tar.bz2
tar xvjpf stage3-*.tar.bz2                                                                                                                                                         
tar xvjf portage-*.tar.bz2 -C /repair/usr                                                                                                                                          
rm stage3-*.tar.bz2 portage-*.tar.bz2                                                                                                                                              
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;The basic tools are now in place. Next we need the original network                                                                                                             
information:&lt;/p&gt;                                                                                                                                                                   
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
cp /etc/resolv.conf /repair/etc/                                                                                                                                                   
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;In addition copy the original mtab back into place:&lt;/p&gt;                                                                                                                         
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
cp /root/mtab.old /repair/etc/mtab
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;And now we can &lt;em&gt;chroot&lt;/em&gt; into the new Gentoo environment:&lt;/p&gt;                                                                                                             
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
mount -t proc proc /repair/proc/
mount -o bind /dev /repair/dev
chroot /repair                                                                                                                                                                     
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;Time to fix the timezone information and sync the portage tree:&lt;/p&gt;                                                                                                             
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
env-update                                                                                                                                                                         
source /etc/profile                                                                                                                                                                
export PS1=&amp;quot;(chroot) $PS1&amp;quot;                                                                                                                                               
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime                                                                                                                                
emerge --sync                                                                                                                                                                      
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;Set a root password:&lt;/p&gt;                                                                                                                                                        
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
passwd                                                                                                                                                                             
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;
&lt;strong&gt;Please note that this password becomes your new master password for                                                                                                     
the server!&lt;/strong&gt;
&lt;/p&gt;                                                                                                                                                           

&lt;h4&gt;Optional: Configure a build host&lt;/h4&gt;                                                                                                                                          

&lt;p&gt;
The vServers are not the most powerful machines and they definitely benefit from pulling packages from a central build host. If you have such a machine you should complete your &lt;span&gt;/etc/make.conf&lt;/span&gt; with the following variables:
&lt;/p&gt;

&lt;pre&gt;
PORTAGE_BINHOST=&quot;http://buildhost.example.com/packages/i686/All&quot;
SYNC=&quot;rsync://buildhost.example.com/portage&quot;
EMERGE_DEFAULT_OPTS=&quot; --usepkg --getbinpkg --getbinpkgonly&quot;
&lt;/pre&gt;
                                                                                                                                                                                 &lt;h4&gt;Move to baselayout2&lt;/h4&gt;                                                                                                                                          

&lt;p&gt;
The old &lt;span&gt;baselayout-vserver&lt;/span&gt; probably still works but the newer baselayout2 also copes for vServers and I recommend to use it.
&lt;/p&gt;

&lt;p&gt;
First we should ensure that we link to the current Gentoo profile:
&lt;/p&gt;

&lt;pre&gt;                                                                                                                                                              
rm /etc/make.profile
ln -s ../usr/portage/profiles/default-linux/x86/2007.0 /etc/make.profile
&lt;/pre&gt;                                                                                                                                                                             

&lt;p&gt;
Now we unmask the newer baselayout and the OpenRC package:
&lt;/p&gt;
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
echo &quot;sys-apps/baselayout ~x86&quot; &gt;&gt; /etc/portage/package.keywords
echo &quot;sys-apps/openrc ~x86&quot; &gt;&gt; /etc/portage/package.keywords
&lt;/pre&gt;                                                                                                                                                                             

&lt;p&gt;In case the kernel of the system underlying your virtual server is                                                                                                              
somewhat older, you should also ensure that you do not use the newer                                                                                                                 
glibc-2.4 and that &lt;span&gt;nptl&lt;/span&gt; is disabled:&lt;/p&gt;                                                                                                                                              

&lt;pre&gt;                                                                                                                                                              
echo &quot;&gt;sys-libs/glibc-2.5-r4&quot; &gt;&gt; /etc/portage/package.mask
echo &quot;sys-libs/glibc -nptl -nptlonly&quot; &gt;&gt; /etc/portage/package.use
&lt;/pre&gt;                                                                                                                                                                             

Time to update the system:

&lt;pre&gt;
emerge -uND world
&lt;/pre&gt;
                                                                                                                                                                                   
&lt;h4&gt;Configure Gentoo as a virtual server&lt;/h4&gt;                                                                                                                                          
                                                                                                                                                                                   
&lt;p&gt;
Now you can configure the network:
&lt;/p&gt;                                                                                                                            
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
emerge iproute2                                                                                                                                                                    
cd /etc/init.d                                                                                                                                                                     
rm net.eth0                                                                                                                                                                        
ln -s net.lo net.venet0                                                                                                                                                            
rc-update add net.venet0 default                                                                                                                                                   
rc-update add net.lo default                                                                                                                                                       
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;
You will need to provide a static definition of your network                                                                                                                    
parameters in &lt;em&gt;/etc/conf.d/net&lt;/em&gt;. In order to determine the necessary                                                                                                        
parameters, follow the steps below:
&lt;/p&gt;                                                                                                                                            
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
# ip addr                                                                                                                                                                          
326: lo: &amp;lt;LOOPBACK,UP&amp;gt; mtu 16436 qdisc noqueue                                                                                                                               
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00                                                                                                                          
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo                                                                                                                             
327: venet0: &amp;lt;BROADCAST,POINTOPOINT,NOARP,UP&amp;gt; mtu 1500 qdisc noqueue                                                                                                         
    link/void                                                                                                                                                                      
    inet 127.0.0.1/32 scope host venet0                                                                                                                                            
    inet 87.123.45.123/32 scope global venet0:0                                                                                                                                    
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;
From the output note the ip of the &lt;em&gt;venet0&lt;/em&gt; adapter. Here it is &lt;strong&gt;87.123.45.123&lt;/strong&gt;.
&lt;/p&gt;                                                                      
                                                                                                                                                                                   
&lt;p&gt;
Now you need the routing information:
&lt;/p&gt;                                                                                                                                       
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
# ip route                                                                                                                                                                         
191.255.255.0/24 dev venet0  scope link                                                                                                                                            
127.0.0.0/8 dev lo  scope link                                                                                                                                                     
default via 191.255.255.1 dev venet0                                                                                                                                               
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;
The necessary parameters are the first netmask and the default gateway                                                                                                          
(&lt;strong&gt;191.255.255.0/24&lt;/strong&gt; and &lt;strong&gt;191.255.255.1&lt;/strong&gt;).
&lt;/p&gt;                                                                                                        
                                                                                                                                                                                   
&lt;p&gt;
Adapt the following settings to your specific parameters and echo it                                                                                                            
into your network configuration file:
&lt;/p&gt;                                                                                                                                          
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
echo '                                                                                                                                                                             
modules=&quot;iproute2&quot;
modules=&quot;!ifconfig&quot;

config_venet0=&quot;87.123.45.123 netmask 255.255.255.0 broadcast 0.0.0.0&quot;

routes_venet0=&quot;191.255.255.0/24 scope link
               default via 191.255.255.1&quot;

' &amp;gt;&amp;gt; /etc/conf.d/net                                                                                                                                                         
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
&lt;p&gt;
I am not an expert on the network settings and the proper routing on a                                                                                                          
vserver but these settings did work for me. Please send me a mail if                                                                                                               
you have suggestions on how to improve the configuration.
&lt;/p&gt;                                                                                                                      
                                                                                                                                                                                   
&lt;p&gt;
&lt;span&gt;Another comment by Ulrich:&lt;/span&gt;
&lt;/p&gt;                                                                                                 
                                                                                                                                                                                   
&lt;blockquote&gt;                                                                                                                                                                       
I did put spaces between the config_venet0, routes_venet0 and the                                                                                                
equal sign. It's not allowed to do so. Adding this as a &lt;strong&gt;don't&lt;/strong&gt; to your                                                                                             
explanation might save an hour or two to some guys out there.                                                                                                               
&lt;/blockquote&gt;                                                                                  

                                                                                                                                                                                   
&lt;p&gt;
Finally you need to add the ssh server to the default services so that                                                                                                          
you will be able to log into the system:
&lt;/p&gt;                                                                                                                                       
                                                                                                                                                                                   
&lt;pre&gt;                                                                                                                                                              
rc-update add sshd default                                                                                                                                                         
&lt;/pre&gt;                                                                                                                                                                             
                                                                                                                                                                                   
                                                                                                                                                                                   
&lt;h4&gt;Reboot into Gentoo&lt;/h4&gt;                                                                                                                                                            
                                                                                                                                                                                   
&lt;p&gt;
Now you should be able to end the repair mode. Log into your Virtuozzo                                                                                            
Power Panel, select &amp;quot;Finish repair&amp;quot; and try to log into your vserver                                                                                                     
via ssh a short while later.
&lt;/p&gt;                                                                                                                                                   

&lt;h4&gt;ChangeLog&lt;/h4&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;2008/04/30&lt;/span&gt;: Included moving to baselayout2&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;</description>
	<pubDate>Wed, 30 Apr 2008 12:32:19 +0000</pubDate>
	<dc:creator>Gunnar Wrobel (wrobel)</dc:creator>
</item>
<item>
	<title>Gentoo News: 2008.0_beta2 released</title>
	<guid isPermaLink="false">http://www.gentoo.org/news/20080429-release-beta2.xml</guid>
	<link>http://www.gentoo.org/news/20080429-release-beta2.xml</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/larry_the_cow.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;b&gt;2008.0_beta2 is here.&lt;/b&gt; Thanks to you, our community, for testing
      beta1 and filing &lt;a href=&quot;http://bugs.gentoo.org/buglist.cgi?query_format=advanced&amp;amp;product=Gentoo+Release+Media&amp;amp;version=2008.0_beta1&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED&quot;&gt;many
      bugs&lt;/a&gt;. &lt;b&gt;You can help&lt;/b&gt; make 2008.0 amazing! Test out this beta
      and &lt;a href=&quot;https://bugs.gentoo.org/&quot;&gt;report any functionality
      issues&lt;/a&gt; you encounter. Since this is still a beta, we're looking
      only for bugs in functionality, not bugs in appearance such as desktop
      backgrounds or other artwork.
    &lt;/p&gt;&lt;p&gt;
      This should be the last beta and will be followed by the final 2008.0
      release after further bug fixing.
    &lt;/p&gt;&lt;p&gt;&lt;b&gt;Get 2008.0_beta2 from the &lt;a href=&quot;http://www.gentoo.org/main/en/where.xml&quot;&gt;usual
      places&lt;/a&gt;&lt;/b&gt;.
    &lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://forums.gentoo.org/viewtopic-t-690347.html&quot;&gt;Discuss
      this!&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 29 Apr 2008 22:02:09 +0000</pubDate>
	<dc:creator>Gentoo News ()</dc:creator>
</item>
<item>
	<title>Gunnar Wrobel: Moving to baselayout2</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-998418780028044861.post-8764321264018519278</guid>
	<link>http://log.onthebrink.de/2008/04/moving-to-baselayout2.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/wrobel.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;
I finally took the time to move my configuration to &lt;a href=&quot;http://www.gentoo.org/doc/en/openrc-migration.xml&quot;&gt;baselayout2 and openrc&lt;/a&gt;. It was about time since I was still using the old baselayout-vserver packages on my vservers. I admit I was afraid the move would hurt so I waited for a while.
&lt;/p&gt;
&lt;p&gt;
But it was really, really smooth.
&lt;/p&gt;
&lt;p&gt;
I made only one mistake and did not notice that my link to net.lo vanished in the upgrade process. So I was subsequently wondering why ping responded with &lt;span&gt;connect: invalid argument&lt;/span&gt; when pinging my own machine. Easy enough to fix.
&lt;/p&gt;
&lt;p&gt;
Excellent work from the baselayout and OpenRC devs. Nice.
&lt;/p&gt;</description>
	<pubDate>Tue, 29 Apr 2008 19:36:42 +0000</pubDate>
	<dc:creator>Gunnar Wrobel (wrobel)</dc:creator>
</item>
<item>
	<title>Ryan Hill: note to self...</title>
	<guid isPermaLink="false">http://psykil.livejournal.com/324936.html</guid>
	<link>http://psykil.livejournal.com/324936.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/dirtyepic.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;...posting to mailing lists while on significant doses of painkillers is not always the best idea.</description>
	<pubDate>Tue, 29 Apr 2008 18:04:00 +0000</pubDate>
	<dc:creator>Ryan Hill (dirtyepic)</dc:creator>
</item>
<item>
	<title>Diego Pettenò: I consider AC_CHECK_LIB harmful</title>
	<guid isPermaLink="false">urn:uuid:7aa314e6-1d7e-4e05-866c-9bdc845293df</guid>
	<link>http://blog.flameeyes.eu/articles/2008/04/29/i-consider-ac_check_lib-harmful</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/flameeyes.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;You know I always stress the point that it&amp;#8217;s not autoconf (and automake) to be bad per-se, but rather the fact that it&amp;#8217;s poorly documented and most people get the worst examples on how to do stuff.&lt;/p&gt;


	&lt;p&gt;One thing that I find totally misdesigned in autoconf though is the &lt;code&gt;AC_CHECK_LIB&lt;/code&gt; macro. This macro is supposedly designed to look for certain functions in a library, to make sure that it&amp;#8217;s linked upon if needed. The most simple case for this is using&lt;/p&gt;


	&lt;p&gt;&lt;code&gt;AC_CHECK_LIB([dl], [dlopen])&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;to gather if the &lt;code&gt;dlopen()&lt;/code&gt; function is in libdl or would be available directly from the C library. (Actually you usually use something more complex than this, but that&amp;#8217;s another story).&lt;/p&gt;


	&lt;p&gt;What is the problem of this macro? Well, the problem comes when you check non-generic functions, because it has a side effect: if the function is found on the library, it is added to the &lt;code&gt;LIBS&lt;/code&gt; variable, that is appended to &lt;em&gt;every&lt;/em&gt; link line, causing the library to be linked in every target. This is fine when you only have one target, but it&amp;#8217;s nasty in every other case.&lt;/p&gt;


	&lt;p&gt;This is one of the main cause of extra libraries being linked in on other libraries and executables, which are worked around with &lt;code&gt;--as-needed&lt;/code&gt; (at least &lt;span class=&quot;caps&quot;&gt;ELF&lt;/span&gt; side, as &lt;code&gt;--as-needed&lt;/code&gt; does not help with &lt;a href=&quot;http://blog.flameeyes.eu/articles/2008/04/14/what-about-those-la-files&quot;&gt;libtool archives&lt;/a&gt; at all). It should really be avoided.&lt;/p&gt;


	&lt;p&gt;The easy way to avoid this is to reset the &lt;code&gt;LIBS&lt;/code&gt; variable after &lt;code&gt;AC_CHECK_LIB&lt;/code&gt; to the value it had before, it also helps if you set a new variable with the library you just detected, to use just where needed. A better way to handle this is to push on using &lt;code&gt;pkg-config&lt;/code&gt;, which might not be the solution to all problems, but makes this problem quite easier to handle.&lt;/p&gt;


	&lt;p&gt;I know most people doing this mistake won&amp;#8217;t be reading this, but at least I have it documented somewhere so that I can just point people at this post without repeating the reasoning. And yes, it&amp;#8217;s problem like these that makes neon link against pam for no good reason.&lt;/p&gt;</description>
	<pubDate>Tue, 29 Apr 2008 16:55:00 +0000</pubDate>
	<dc:creator>Diego Pettenò (flameeyes)</dc:creator>
</item>
<item>
	<title>Zhang Le: Old story</title>
	<guid isPermaLink="false">tag:blogger.com,1999:blog-12574936.post-2266052332284709844</guid>
	<link>http://feeds.feedburner.com/~r/r0bertz/~3/279886695/old-story.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/r0bertz.png&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;Although I don't know the direct cause of council's decision this time, it reminds me of an old story.&lt;br /&gt;&lt;a href=&quot;http://r0bertz.blogspot.com/2007/01/be-careful-when-you-are-on-paludis.html&quot;&gt;http://r0bertz.blogspot.com/2007/01/be-careful-when-you-are-on-paludis.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quote some Diego's words:&lt;br /&gt;&lt;blockquote&gt;Don’t think we woke up this morning and decided to get rid of any developer. We considered this for a quite long time. Over all, I think the decision was took after a too long time.&lt;br /&gt;&lt;br /&gt;You can criticise, you can joke, but if the people you joke upon don’t laugh with you at the joke, then apologise and stop it!&lt;/blockquote&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/r0bertz?a=w1S4JG&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/r0bertz?i=w1S4JG&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/r0bertz?a=UvgvYg&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/r0bertz?i=UvgvYg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/r0bertz?a=zx4VBg&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/r0bertz?i=zx4VBg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 29 Apr 2008 14:30:15 +0000</pubDate>
	<dc:creator>Zhang Le (r0bertz)</dc:creator>
</item>
<item>
	<title>Remi Cardona: Shiny new Intel gfx drivers (2.3.0)</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1516@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/remi/2008/04/29/shiny_new_intel_gfx_drivers_2_3_0</link>
	<description>&lt;p&gt;As it has been announced on several mailing lists, Intel released version 2.3.0 of their X driver. Being back from vacation and all, I've only just committed it to portage. Here are a few things Gentoo users might want to know about it.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;This version is definitely not as disruptive as 2.2.0 (which will probably be remembered as one of the worst driver releases in all of Xorg history). Overall, it really is an incremental release on top of 2.2 with all the bug fixes.&lt;/li&gt;
  &lt;li&gt;Laptop users of i915 chipsets and newer should enjoy new xrandr options to control how the image is displayed on the LCD when not using its native resolution: the old behavior was to stretch the image in both X and Y directions, now the driver supports stretching with aspect ration constraints and not stretching the image at all to keep a 1:1 ratio.&lt;/li&gt;
  &lt;li&gt;i965 &lt;em&gt;does&lt;/em&gt; have a video overlay and I think it's enabled by default now.&lt;/li&gt;
  &lt;li&gt;XvMC support should be much better now on i945 and newer. As I can't test XvMC (and I don't really need it anyway), some testing might be interesting. Please let me know how it works on your systems, I'd like to hear from you &lt;img src=&quot;http://planet.gentoo.org/developers/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;Not really technical but very important IMHO: the new release process is now much much smoother. Intel decided to release a new driver every quarter and that's a great improvement. &quot;Release early, release often&quot;. Intel now also releases beta versions of the driver. It might not seem like much, but it does make my job a lot easier and it really helps to get real users to test drivers on their systems. And it shows: only hours after each beta, bugs get reported and fixed. If only more FOSS projects could work like that...&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;As a whole, it's a good release that shows that even big companies such as Intel can successfully build communities that are committed to quality and openness. Big props to all who worked on it.&lt;/p&gt;

&lt;p&gt;On the Gentoo side of things, here are some additional notes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;As it looks today, 2.3.0 is a prime candidate for stabilization. As such, I encourage all stable users to unmask it and try it on their systems. It should work properly with xorg-server-1.3. If not, please don't hesitate to open a bug.&lt;/li&gt;
  &lt;li&gt;I'd also like to remind everyone that opening a bug in Gentoo's bugzilla is a great step to get your problems solved. But in the case of the Intel driver, there's very little I can actually do to fix bugs: I don't work for Intel, I don't know their code nor how the hardware works, I just know about bugs and patches. So if I ask you to open a bug in FreeDesktop's bugzilla, it's not because I don't want to fix the bug, it's just that I can't do it myself. Users who actually take the time to do so are usually rewarded by having their issue fixed in a matter of days. So please, take the time to report bugs upstream, it's in your best interest.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Now, off to work.&lt;/p&gt;</description>
	<pubDate>Tue, 29 Apr 2008 08:30:42 +0000</pubDate>
	<dc:creator>Remi Cardona (remi)</dc:creator>
</item>
<item>
	<title>Ryan Hill: mail</title>
	<guid isPermaLink="false">http://psykil.livejournal.com/324667.html</guid>
	<link>http://psykil.livejournal.com/324667.html</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/dirtyepic.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;after about three weeks without email, i gave up on setting up a dedicated router/firewall/web/mail/media server set up and just installed getmail and dovecot on one of my machines for now.  at least then i can still get email access, and i can work on getting everything else set up as i learn more.&lt;br /&gt;&lt;br /&gt;i've installed claws-mail again and am giving it another spin.  i can't remember exactly what was the showstopper last time i used it, but that was in the days where i was frequently offline for a week or two at a time and so it was probably some annoyance i had with with the offline mode.  i've been happy with it so far, except for the fact that to display html messages i get to choose from two plugins - dillo, with a pantload of gtk-1 dependences, or gtkhtml, which pulls in half of gnome.  *sigh*&lt;br /&gt;&lt;br /&gt;i tried kmail again last week and it went all funky on my maildir - showing me a subjectline that when i click gives me a completely different message body.  thunderbird, which is what i've used the last couple years finally accumulated enough pain in the ass annoyances (not remembering folder setting when you leave the folder, not removing newsgroup data (which is significantly large on some mailing lists i'm on) when unsubscribing, leaving me at one point with nearly a gig of useless data my profile.  but the straw that finally broke TB's back was when random email and news messages would display nothing but a blank page when i opened them.  To read the message i would have to save it to disk and then open it in an external editor.  Doing this for every third message got old fast.&lt;br /&gt;&lt;br /&gt;Yes, I should be using mutt.  I like mutt, it seems great.  It has a learning curve however, and it seems every time i start up it i end up sliding back down.  Maybe a bit later.</description>
	<pubDate>Tue, 29 Apr 2008 07:06:59 +0000</pubDate>
	<dc:creator>Ryan Hill (dirtyepic)</dc:creator>
</item>
<item>
	<title>Josh Saddler: Increasing Decibels</title>
	<guid isPermaLink="false">http://planet.gentoo.org/developers/xmlsrv/1515@http://planet.gentoo.org/developers/</guid>
	<link>http://planet.gentoo.org/developers/nightmorph/2008/04/29/increasing_decibels</link>
	<description>&lt;img src=&quot;http://planet.gentoo.org/images/nightmorph.jpg&quot; width=&quot;&quot; height=&quot;&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;More hacking and progress made on &lt;a href=&quot;http://decibel.silent-blade.org/&quot;&gt;Decibel&lt;/a&gt;; I've finished (for now) ironing out the dependencies. I dropped some USE flags in favor of the latest gst-plugins-meta, which already has the same flags. The updated &lt;a href=&quot;http://bugs.gentoo.org/show_bug.cgi?id=219329&quot;&gt;ebuild&lt;/a&gt; is available &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/decibel/files/&quot;&gt;here&lt;/a&gt;. I also uploaded a &lt;strong&gt;&lt;a href=&quot;http://dev.gentoo.org/~nightmorph/decibel/files/decibel1.png&quot;&gt;screenshot&lt;/a&gt;&lt;/strong&gt; for the curious. (You can download the album itself &lt;a href=&quot;http://kahvi.org/155.php&quot;&gt;here&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;I got in touch with Decibel upstream to let them know of my efforts to bring it to Gentoo, so they kindly &lt;a href=&quot;http://decibel.silent-blade.org/index.php?n=Main.Download&quot;&gt;linked back&lt;/a&gt; to &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/decibel/&quot;&gt;my page&lt;/a&gt; on it.&lt;/p&gt;

&lt;p&gt;Go on, try it out. So far it's only been tested on amd64 and x86. I want to hear back from folks using it on other architectures. If gtk+ and gstreamer are available for your arch, you should be able to run it.&lt;/p&gt;

&lt;p&gt;The only thing thing Decibel doesn't do -- &lt;em&gt;&lt;strong&gt;&lt;a href=&quot;https://bugs.launchpad.net/decibel-audio-player/+bug/179099&quot;&gt;yet&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt; -- is display album covers. That's the only feature I want that I can think of.&lt;/p&gt;

&lt;p&gt;It's simple, clean, and awesome, so &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/decibel/&quot;&gt;try it&lt;/a&gt;. Lemme know what you think, and especially let me know if it runs on other architectures. PPC? Sparc? HPPA? Come one, come all.&lt;/p&gt;</description>
	<pubDate>Tue, 29 Apr 2008 06:37:40 +0000</pubDate>
	<dc:creator>Josh Saddler (nightm