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

<channel>
	<title>Rassie&#039;s Doghouse &#187; ubuntu</title>
	<atom:link href="http://rassie.org/archives/tag/ubuntu/feed" rel="self" type="application/rss+xml" />
	<link>http://rassie.org</link>
	<description>Barking at technology</description>
	<lastBuildDate>Wed, 28 Jul 2010 00:14:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Taming cpan2dist on Ubuntu 8.10</title>
		<link>http://rassie.org/archives/218</link>
		<comments>http://rassie.org/archives/218#comments</comments>
		<pubDate>Sun, 04 Jan 2009 03:49:02 +0000</pubDate>
		<dc:creator>rassie</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[cpan2dist]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://rassie.org/?p=218</guid>
		<description><![CDATA[cpan2dist is great. Easily one of the examples why people at Debian (and its derivates) absolutely love Perl and CPAN. However, it requires some fiddling to get right and since I&#8217;ve just done that today I&#8217;d like to write this stuff down for generations to come. A quick introduction for those who are unfamiliar with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://search.cpan.org/~kane/CPANPLUS-0.84/bin/cpan2dist"><code>cpan2dist</code></a> is great. Easily one of the examples why people at Debian (and its derivates) absolutely love Perl and CPAN. However, it requires some fiddling to get right and since I&#8217;ve just done that today I&#8217;d like to write this stuff down for generations to come.</p>

<p>A quick introduction for those who are unfamiliar with <code>cpan2dist</code>: it fetches a Perl package from CPAN and installs it into your system using distribution&#8217;s tools. Thus you can resolve possible distribution upgrades painlessly, since every Perl package is also shown in your package management. It&#8217;s part of Perl 5.10 distribution and makes native package installation easy.</p>

<p>There are however some catches and the first hurdle comes at the very beginning: distribution-specific packaging is done with plugins and sadly Intrepid does not include the Debian plugin for <code>cpan2dist</code>, <a href="http://search.cpan.org/dist/CPANPLUS-Dist-Deb/"><code>CPANPLUS::Dist::Deb</code></a>. Since you can&#8217;t install that one from packages yet (due to lack of <code>CPANPLUS::Dist::Deb</code>, welcome to recursion), you&#8217;d have to install it manually &#8212; the good thing is, it will be the only package installed manually and it also can be replaced with a packaged one after bootstrapping the whole system. Just run</p>

<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cpanp install CPANPLUS::Dist::Deb</div></td></tr></tbody></table></div>

<p>and the first step is done!</p>

<p>Now <code>cpan2dist</code> can be used. Let&#8217;s reinstall CPANPLUS::Dist::Deb, this time as a Debian package!</p>

<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cpan2dist <span style="color: #660033;">--format</span> CPANPLUS::Dist::Deb <span style="color: #660033;">--buildprereq</span> <span style="color: #660033;">--install</span> <span style="color: #660033;">--skiptest</span> CPANPLUS::Dist::Deb</div></td></tr></tbody></table></div>

<p>It should give you a <code>sudo</code> prompt at some point, this is because it installs the Debian package already, so you should be done in a couple of seconds.</p>

<p>The options&#8217; meanings (in this order): the desired format of the packages, pre-requisites should be all built, packages should be installed, tests should not be executed before build (time saver) and module CPANPLUS::Dist::Deb is being built.</p>

<p>However, we are not done yet. You&#8217;d notice that cpan2dist tries to resolve some dependencies which are provided by basic Perl packages <code>perl</code>, <code>perl-base</code> and <code>perl-modules</code>. These might, but in most cases should not be downloaded and built from CPAN. Luckily, cpan2dist can be provided with an &#8220;ignore list&#8221;, the downside is that the default one is tiny und thus mostly useless. We&#8217;d have to recreate this list from our system:</p>

<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">dpkg -L perl perl-base perl-modules | grep \.pm$ | sed 's/^\/usr\/\(share\|lib\)\/perl\/[.0123456789]*\/\(.*\)\.pm$/^\2$/g' | sed 's/\//::/g' &gt; ignorelist</div></td></tr></tbody></table></div>

<p>This is my recipe. I get the list of all <code>*.pm</code> files from <code>perl</code>, <code>perl-base</code> and <code>perl-modules</code> and re-create the module name from its path. Every entry becomes a pattern (e.g. <code>^Test::Simple$</code>) so that module names wouldn&#8217;t match as substrings and the whole list is dumped to <code>ignorelist</code>. Now we have to add an <code>--ignorelist ignorelist</code> option to the cpan2dist command line.</p>

<p>This should round it up &#8212; if you are lucky, everything goes well and you&#8217;d have an installed module as a Debian package. If you have some bad karma on a particular day, you&#8217;d end up with some errors, all of which can be solved with some manual package installation and careful reading.</p>

<p>One problem remains though: <code>cpan2dist</code> doesn&#8217;t seem to check whether a particular package is available from the archive. But that&#8217;s only a small nuisance in an otherwise really useful package.</p>
]]></content:encoded>
			<wfw:commentRss>http://rassie.org/archives/218/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu Hardy, Qt4.3 and anti-anti-aliased fonts</title>
		<link>http://rassie.org/archives/165</link>
		<comments>http://rassie.org/archives/165#comments</comments>
		<pubDate>Tue, 18 Dec 2007 23:55:25 +0000</pubDate>
		<dc:creator>rassie</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://rassie.org/archives/165</guid>
		<description><![CDATA[Just for the record: ugly fonts in all of Qt4-applications in the current Ubuntu development release Hardy Heron result from a bug in Qt and this bug is triggered by the ttf-arphic-uming package. Remove it and you are ready to go again. Otherwise, you&#8217;d have to re-enable anti-aliasing for these fonts somewhere in /etc/fonts/conf.d/70-ttf-arphic-uming.conf.]]></description>
			<content:encoded><![CDATA[<p>Just for the record: ugly fonts in all of Qt4-applications in the current Ubuntu development release Hardy Heron result from a <a href="http://trolltech.com/developer/task-tracker/index_html?id=175502&#038;method=entry">bug</a> in Qt and this bug is triggered by the <em>ttf-arphic-uming</em> package. Remove it and you are ready to go again. Otherwise, you&#8217;d have to re-enable anti-aliasing for these fonts somewhere in <tt>/etc/fonts/conf.d/70-ttf-arphic-uming.conf</tt>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rassie.org/archives/165/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
