<?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>Martin Pitt &#187; development</title>
	<atom:link href="http://www.piware.de/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.piware.de</link>
	<description>addicted to Ubuntu development</description>
	<lastBuildDate>Mon, 19 Jul 2010 13:55:24 +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>Apport crash processing now enabled for Maverick</title>
		<link>http://www.piware.de/2010/07/apport-crash-processing-now-enabled-for-maverick/</link>
		<comments>http://www.piware.de/2010/07/apport-crash-processing-now-enabled-for-maverick/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 13:46:06 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Apport]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=346</guid>
		<description><![CDATA[The Debian import freeze is settled, the first rush of major changes went into Maverick, and the dust now has settled a bit. Thus it&#8217;s time to turn back some attention to crashes and quality in general. This morning I created maverick chroots for the Apport retracers, and they are currently processing the backlog. I [...]]]></description>
			<content:encoded><![CDATA[<p>The Debian import freeze is settled, the first rush of major changes went into Maverick, and the dust now has settled a bit. Thus it&#8217;s time to turn back some attention to crashes and quality in general.</p>
<p>This morning I created maverick chroots for the <a href="https://wiki.ubuntu.com/Apport#Launchpad-based auto-retracer">Apport retracers</a>, and they are currently processing the backlog. I also uploaded a new Apport package which now enables crash reporting by default again.</p>
<p>Happy segfaulting!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2010/07/apport-crash-processing-now-enabled-for-maverick/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>gudev Vala bindings</title>
		<link>http://www.piware.de/2010/06/gudev-vala-bindings/</link>
		<comments>http://www.piware.de/2010/06/gudev-vala-bindings/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 22:53:32 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[udev]]></category>
		<category><![CDATA[vala]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=337</guid>
		<description><![CDATA[I just learned about vapigen to build a Vala .vapi interface from gobject introspection. Unfortunately it seems that through the way of g-ir-scanner some information gets lost and gir cannot transmit information such as the semantics of arrays (null-terminated or with length, etc.). I played with a &#8220;metadata&#8221; file for an hour (as described upstream), [...]]]></description>
			<content:encoded><![CDATA[<p>I just learned about <code>vapigen</code> to build a Vala .vapi interface from gobject introspection. Unfortunately it seems that through the way of g-ir-scanner some information gets lost and gir cannot transmit information such as the semantics of arrays (null-terminated or with length, etc.). I played with a &#8220;metadata&#8221; file for an hour (as <a href="http://live.gnome.org/Vala/Bindings">described upstream</a>), but it seems to be ignored entirely.</p>
<p>So for now I committed a <a href="http://git.kernel.org/?p=linux/hotplug/udev.git;a=commitdiff;h=3d3e0960a7fbb673b7d445d8ed131fcdeb7c2700">manually adjusted vapi</a> for <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/gudev/ref-API.html">gudev</a>. This now makes it easy to write code that queries and listens to udev in Vala.</p>
<p>Small example:</p>
<pre>
using GUdev;

void
print_device(GUdev.Device d)
{
    stdout.printf("%s → %s\n", d.get_device_file(), d.get_sysfs_path());
    foreach (string s in d.get_device_file_symlinks())
        stdout.printf("  link: %s\n", s);
}

void
on_uevent(GUdev.Client client, string action, GUdev.Device dev)
{
    stdout.printf("[%s] ", action);
    print_device(dev);
}

int main(string[] args)
{
    var uc = new GUdev.Client({"usb"});

    print_device(uc.query_by_device_file(args[1]));

    stdout.printf("---- all block devices ---\n");
    GLib.List<GUdev.Device> devs = uc.query_by_subsystem("block");
    foreach (GUdev.Device d in devs)
        print_device(d);

    stdout.printf("---- usb events ---\n");
    uc.uevent.connect(on_uevent);
    new GLib.MainLoop().run();
    return 0;
}
</pre>
<p>Build with <code>valac --pkg gudev-1.0 udev.vala</code>, and perhaps specify <code>--vapidir</code> if you keep the <code>gudev-1.0.vapi</code> file somewhere locally.</p>
<p><strong>Update:</strong> I reverted the commit upstream for now, since Vala 0.8 already ships a gudev vapi. I must have overlooked that when I played with vapigen.. In the long run it&#8217;s probably better to generate vapis in the projects themselves to avoid API skew, but as long as the vapi can&#8217;t be generated automatically it does not make sense to have it in udev. Above code was updated for the vala provided one (which is lacking a return type specification for <code>query_by_subsystem()</code>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2010/06/gudev-vala-bindings/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Celebrating the 1000th postgresql-common commit</title>
		<link>http://www.piware.de/2010/05/celebrating-the-1000th-postgresql-common-commit/</link>
		<comments>http://www.piware.de/2010/05/celebrating-the-1000th-postgresql-common-commit/#comments</comments>
		<pubDate>Mon, 03 May 2010 15:58:28 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=331</guid>
		<description><![CDATA[I just did the 1000th commit of postgresql-common, the Debian/Ubuntu PostgreSQL management utilities. Wow, what started as a small hack in December 2004 to be able to install several major PostgreSQL versions in parallel has turned out to be a > 600 kB project providing a comprehensive tool set for uniformly setting up, upgrading, and [...]]]></description>
			<content:encoded><![CDATA[<p>I just did the <a href="http://bazaar.launchpad.net/~pitti/postgresql/common/revision/1000">1000th commit</a> of <a href="http://people.debian.org/~mpitt/architecture.html">postgresql-common</a>, the Debian/Ubuntu PostgreSQL management utilities. Wow, what started as a small hack in December 2004 to be able to install several major PostgreSQL versions in parallel has turned out to be a > 600 kB project providing a comprehensive tool set for uniformly setting up, upgrading, and maintaining PostgreSQL database instances from version 7.4 up to the just announced <a href="http://www.postgresql.org/about/news.1198">9.0 beta-1</a>, with a comprehensive test suite that I&#8217;m really proud of (it tests just about every aspect, option, and corner case of the installation, integration, upgrade, locale support, and error handling, and takes about half an hour on my system).</p>
<p>The actual commit is rather dull though, it&#8217;s just the release/upload tag for version 107 which I just uploaded to Debian unstable (it will hit Ubuntu maverick and backports soon). 107 introduces support for PostgreSQL 9.0, and I fixed up the scripts and tests enough so that all the tests pass now, and thus it&#8217;s good for public release.</p>
<p>I also uploaded the 9.0 beta 1 server itself now. It&#8217;ll be in <a href="http://ftp-master.debian.org/new.html">Debian&#8217;s NEW queue</a> for a bit, and hit experimental in a few days (or hours; recently the ftpmasters have been awesome!) It has a few cool new features (see <a href="http://www.postgresql.org/about/news.1198">the announcement</a>), and upstream really appreciates testing and feedback. So, bug reports appreciated!</p>
<p>In particular, if you have existing 8.4 clusters you can just try to <code>pg_upgradecluster</code> them to 9.0 beta 1. Remember, if anything goes wrong, the cluster of the previous version is still intact and untouched, so you can run upgrades as many times as you like and only pg_dropcluster the old one when you’re completely satisfied with the upgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2010/05/celebrating-the-1000th-postgresql-common-commit/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ubuntu-bug audio</title>
		<link>http://www.piware.de/2010/02/ubuntu-bug-audio/</link>
		<comments>http://www.piware.de/2010/02/ubuntu-bug-audio/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:58:15 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Apport]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[reporting]]></category>
		<category><![CDATA[symptom]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=284</guid>
		<description><![CDATA[Thanks to the work of David Henningsson, we now have a proper Apport symptom for audio bugs. It just got updated again to set default bug titles, which include the card/codec name and the problem, so that Launchpad&#8217;s suggested duplicates should work much more reliably. So from now on you are strongly encouraged to report [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to the work of David Henningsson, we now have a proper Apport symptom for audio bugs. It just got updated again to set default bug titles, which include the card/codec name and the problem, so that Launchpad&#8217;s suggested duplicates should work much more reliably.</p>
<p>So from now on you are strongly encouraged to report sound problems with</p>
<pre>$ ubuntu-bug audio</pre>
<p>instead of trying to guess the package right.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2010/02/ubuntu-bug-audio/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>GNOME commit powers</title>
		<link>http://www.piware.de/2010/01/gnome-commit-powers/</link>
		<comments>http://www.piware.de/2010/01/gnome-commit-powers/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 23:29:39 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[upstream]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=275</guid>
		<description><![CDATA[I finally listened to Sebastien Bacher and applied for GNOME commit rights yesterday, after hassling Seb once more about committing an approved patch for me. Surprisingly, it only took some 4 hours until my application was approved and my account created, wow! Apparently 71 patches are enough. With my new powers, I fixed a crash [...]]]></description>
			<content:encoded><![CDATA[<p>I finally listened to Sebastien Bacher and applied for GNOME commit rights yesterday, after hassling Seb once more about committing an approved patch for me. Surprisingly, it only took some 4 hours until my application was approved and my account created, wow! Apparently <a href="http://tinyurl.com/martinpitt-gnomepatches">71 patches</a> are enough. <img src='http://www.piware.de/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>With my new powers, I fixed a <a href="http://git.gnome.org/browse/gdm/commit/?id=51669cb03613b36b0b1798b1f8d2bba85b3e2a49">crash in gdm</a>, and applied <a href="http://bugzilla.gnome.org/show_bug.cgi?id=586410">two stragglers</a> into gvfs&#8217; build system today.</p>
<p>More to come!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2010/01/gnome-commit-powers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>lpshell &#8211; convenient launchpadlib script</title>
		<link>http://www.piware.de/2010/01/lpshell-convenient-launchpadlib-script/</link>
		<comments>http://www.piware.de/2010/01/lpshell-convenient-launchpadlib-script/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 21:48:01 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=270</guid>
		<description><![CDATA[These days I often use launchpadlib in my projects for scripting access/modifications in Launchpad. While launchpadlib has quite a good API documentation, this only covers the method calls, not the attributes or collections. So it often takes some poking and trying until you figure out how to access/change things. I found myself typing the same [...]]]></description>
			<content:encoded><![CDATA[<p>These days I often use <a href="https://launchpad.net/launchpadlib">launchpadlib</a> in my projects for scripting access/modifications in Launchpad. While launchpadlib has quite a good <a href="https://launchpad.net/+apidoc/">API documentation</a>, this only covers the method calls, not the attributes or collections. So it often takes some poking and trying until you figure out how to access/change things.</p>
<p>I found myself typing the same things over and over, so I finally wrote a little script called <code>lpshell</code>:</p>
<blockquote><pre>
#!/usr/bin/python -i
import code, os, sys
from launchpadlib.launchpad import Launchpad, STAGING_SERVICE_ROOT, EDGE_SERVICE_ROOT
lp = Launchpad.login_with('test', STAGING_SERVICE_ROOT)
</pre>
</blockquote>
<p>This logs into Launchpad and gives you an interactive Python shell with an &#8220;lp&#8221; object:</p>
<blockquote><pre>
$ lpshell
>>> lp.bugs[439482].duplicate_of
<bug at https://api.staging.launchpad.net/beta/bugs/432598>
</pre>
</blockquote>
<p><strong>Update:</strong> I committed this to ubuntu-dev-tools now, renamed to <code>lp-shell</code> for consistency with the other <code>lp-*</code> commands.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2010/01/lpshell-convenient-launchpadlib-script/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>sudo dpkg -P hal</title>
		<link>http://www.piware.de/2009/11/sudo-dpkg-p-hal/</link>
		<comments>http://www.piware.de/2009/11/sudo-dpkg-p-hal/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 08:53:55 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[deprecation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[hal]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=238</guid>
		<description><![CDATA[The day has come! Yesterday I dropped the superfluous hal dependency from gparted, today I uploaded gdm to stop using hal for getting the keyboard layout and use libxklavier instead. I also applied Julian Cristau&#8217;s udevified X.org branch to our xorg-edgers packages into my halsectomy PPA, created some udev rules for udev-based X.org input detection [...]]]></description>
			<content:encoded><![CDATA[<p>The day has come! </p>
<p>Yesterday I dropped the superfluous hal dependency from gparted, today I uploaded gdm to stop using hal for getting the keyboard layout and <a href="https://bugzilla.gnome.org/show_bug.cgi?id=572765">use libxklavier</a> instead. </p>
<p>I also applied Julian Cristau&#8217;s <a href="http://cgit.freedesktop.org/~jcristau/xserver/">udevified X.org branch</a> to our xorg-edgers packages into my <a href="https://launchpad.net/~pitti/+archive/halsectomy">halsectomy PPA</a>, created some udev rules for udev-based X.org input detection (<a href="http://people.canonical.com/~pitti/tmp/65-xorg-evdev.rules">[1]</a>, <a href="http://people.canonical.com/~pitti/tmp/66-xorg-synaptics.rules">[2]</a>), and off we go: that was the last hal reverse dependency. My system now fully boots and works without hal.</p>
<p><a href="https://wiki.ubuntu.com/Halsectomy">Hooray!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2009/11/sudo-dpkg-p-hal/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Automated release tarball upload to Launchpad</title>
		<link>http://www.piware.de/2009/09/automated-release-tarball-upload-to-launchpad/</link>
		<comments>http://www.piware.de/2009/09/automated-release-tarball-upload-to-launchpad/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 14:50:57 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tarball]]></category>

		<guid isPermaLink="false">http://martinpitt.wordpress.com/?p=99</guid>
		<description><![CDATA[I often do upstream releases of my upstream projects that I do on Launchpad, mostly for Apport and jockey. But doing this has been quite tedious until now: You have to go to the project page, pick the series (usually &#8220;trunk&#8221;), create a new release, create a new milestone along the way, then go to [...]]]></description>
			<content:encoded><![CDATA[<p>I often do upstream releases of my upstream projects that I do on Launchpad, mostly for <a href="https://launchpad.net/apport">Apport</a> and <a href="https://launchpad.net/jockey">jockey</a>. But doing this has been quite tedious until now: You have to go to the project page, pick the series (usually &#8220;trunk&#8221;), create a new release, create a new milestone along the way, then go to &#8220;add download file&#8221;, and upload your .tar.gz and .tar.gz.asc.</p>
<p>Because this is rather inconvenient, I don&#8217;t do as many upstream releases as I should. But thanks to our tireless launchpadlib developers it is now possible to automate all that, so I wrote a new script <a href="http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/lp-project-upload">lp-project-upload</a> which does all that in a simple command:</p>
<pre>
  $ lp-project-upload apport 1.8.2 apport-1.8.2.tar.gz
  Release 1.8.2 could not be found for project. Create it? (Y/n) y
 </pre>
<p>The script is based on Brad Crittenden&#8217;s <a href="http://blog.launchpad.net/api/recipe-for-uploading-files-via-the-api">recipe for uploading project files</a>, and I added the creation of milestones and releases.</p>
<p>The script is contained in current Karmic&#8217;s <code>ubuntu-dev-tools</code> package now. Enjoy, and of course feel free to extend it for changelogs, release notes, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2009/09/automated-release-tarball-upload-to-launchpad/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Interrogation with Apport hooks / Qt developer needed</title>
		<link>http://www.piware.de/2009/06/interrogation-with-apport-hooks-qt-developer-needed/</link>
		<comments>http://www.piware.de/2009/06/interrogation-with-apport-hooks-qt-developer-needed/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:04:01 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Apport]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://martinpitt.wordpress.com/?p=85</guid>
		<description><![CDATA[So far, Apport package hooks were limited to collecting data from the local system. However, a lot of debugging recipes and standard bug triage ping pong involves asking the reporter further questions which need reponses from a human. This can range from a very simple information message box &#8220;Now, please plug in the camera which [...]]]></description>
			<content:encoded><![CDATA[<p>So far, <a href="https://wiki.ubuntu.com/Apport/DeveloperHowTo">Apport package hooks</a> were limited to collecting data from the local system. However, a lot of debugging recipes and standard bug triage ping pong involves asking the reporter further questions which need reponses from a human. This can range from a very simple information message box &#8220;Now, please plug in the camera which is not detected&#8221; until a complex decision tree based on the symptoms the user sees.</p>
<p>As <a href="https://wiki.ubuntu.com/DesktopTeam/Specs/Karmic/SymptomBasedBugReporting">discussed at UDS Barcelona</a>, Apport will grow this functionality in Karmic. A first preview is available in <a href="https://launchpad.net/~pitti/+archive/ppa">my PPA</a>. The GUI looks horrible, but the API for hooks won&#8217;t change any more, so you can now begin to develop your interactive hooks.</p>
<p>Example:</p>
<pre>
import apport.hookutils

def add_info(report, ui):
    apport.hookutils.attach_alsa(report)

    ui.information('Now playing test sound...')

    report['AplayOut'] = apport.hookutils.command_output(['aplay',
            '/usr/share/sounds/question.wav'])

    response = ui.yesno('Did you hear the sound?')
    if response == None: # user cancelled
        raise StopIteration
    report['SoundAudible'] = str(response)
</pre>
<p>Please see the <a href="http://bazaar.launchpad.net/%7Epitti/apport/interactive-hooks/annotate/head%3A/doc/package-hooks.txt">package-hooks.txt documentation</a> for details.</p>
<p>I implemented all currently existing UI functions (information, yes/no question, file selector, multiple choice dialog) for GTK and CLI, and all except the multiple choice dialog for Qt. Anyone willing to hack on an implementation of <code>ui_question_choice()</code> similar to what the <a href="http://bazaar.launchpad.net/%7Epitti/apport/interactive-hooks/annotate/head%3A/gtk/apport-gtk">GTK frontend</a> is doing?</p>
<p><strong>Update:</strong>I merged Richard Johnson&#8217;s branch (thanks!) and uploaded a new package into my PPA. apport-qt is now fully functional.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2009/06/interrogation-with-apport-hooks-qt-developer-needed/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>hal-sectomy continues</title>
		<link>http://www.piware.de/2009/06/hal-sectomy-continues/</link>
		<comments>http://www.piware.de/2009/06/hal-sectomy-continues/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 11:00:03 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[deprecation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[hal]]></category>

		<guid isPermaLink="false">http://martinpitt.wordpress.com/?p=81</guid>
		<description><![CDATA[The migration away from hal continues. Yesterday I uploaded new udev-extras and hal packages which move the handling of local device access from hal to /lib/udev/rules.d/70-acl.rules. Note that this temporarily breaks device access to old cameras which don&#8217;t speak the standard PTP protocol yet (and aren&#8217;t mass-storage). Most devices should work fine, though, please let [...]]]></description>
			<content:encoded><![CDATA[<p>The migration away from hal continues. Yesterday I uploaded new udev-extras and hal packages which move the handling of local device access from hal to <code>/lib/udev/rules.d/70-acl.rules</code>. Note that this temporarily breaks device access to old cameras which don&#8217;t speak the standard PTP protocol yet (and aren&#8217;t mass-storage). Most devices should work fine, though, please let me know if something fails (<code>ubuntu-bug udev-extras</code>).</p>
<p>I started a <a href="http://lists.freedesktop.org/archives/devkit-devel/2009-June/000191.html">discussion with upstream</a> about how to migrate the libgphoto bits away from hal to udev rules. It shoulnd&#8217;t actually be hard to do, and I&#8217;m keen on working on it, but it needs agreement between the libgphoto, udev-extras, and gvfs/KDE upstreams, so some coordination work is in order.</p>
<p>I also created a <a href="https://wiki.ubuntu.com/Halsectomy">wiki page of the current migration status</a>. Please edit if I forgot something. If you feel inclined to work on a particular bit, the Linux world will heavily appreciate this! It&#8217;s still a major Karmic goal to push the transition as far as possible, to avoid intrusive system changes for Ubuntu 10.04 (which is likely to become an LTS).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2009/06/hal-sectomy-continues/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
