<?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; announcement</title>
	<atom:link href="http://www.piware.de/tag/announcement/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.piware.de</link>
	<description>addicted to Ubuntu development</description>
	<lastBuildDate>Fri, 03 Feb 2012 07:03:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>PackageKit/aptdaemon &#8220;what-provides&#8221; plugin support</title>
		<link>http://www.piware.de/2012/02/packagekitaptdaemon-what-provides-plugin-support/</link>
		<comments>http://www.piware.de/2012/02/packagekitaptdaemon-what-provides-plugin-support/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 07:03:48 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[packagekit]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=586</guid>
		<description><![CDATA[PackageKit has a &#8220;WhatProvides&#8221; API for mapping distribution independent concepts to particular package names. For example, you could ask &#8220;which packages provide a decoder for AC3 audio files? $ pkcon what-provides "gstreamer0.10(decoder-audio/ac3)" [...] Installed gstreamer0.10-plugins-good-0.10.30.2-2ubuntu2.amd64 GStreamer plugins from the "good" set Available gstreamer0.10-plugins-ugly-0.10.18-3ubuntu4.amd64 GStreamer plugins from the "ugly" set This is the kind of question [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packagekit.org/">PackageKit</a> has a &#8220;WhatProvides&#8221; API for mapping distribution independent concepts to particular package names. For example, you could ask &#8220;which packages provide a decoder for AC3 audio files?</p>
<pre>
$ pkcon what-provides  "gstreamer0.10(decoder-audio/ac3)"
[...]
Installed   	gstreamer0.10-plugins-good-0.10.30.2-2ubuntu2.amd64	GStreamer plugins from the "good" set
Available  	gstreamer0.10-plugins-ugly-0.10.18-3ubuntu4.amd64	GStreamer plugins from the "ugly" set
</pre>
<p>This is the kind of question your video player would ask the system if it encounters a video it cannot play. In reality they of course use the D-BUS or the library API, but it&#8217;s easier to demonstrate with the PackageKit command line client.</p>
<p>PackageKit <a href="https://gitorious.org/packagekit/packagekit/blobs/master/docs/provides-component-naming.txt">provides a fair number of those concepts</a>; I recently added <a href="https://gitorious.org/packagekit/packagekit/commit/0c6db3f2118dbb723529b24af11a136d19900244">LANGUAGE_SUPPORT</a> for packages which provide dictionaries, spell checkers, and other language support for a given language or locale code.</p>
<p>However, PackageKit&#8217;s apt backend does not actually implement a lot of these (only CODEC and MODALIAS), and aptdaemons&#8217;s PackageKit compatibility API does not implement any. That might be because their upstreams do not know enough how to do the mapping for a particular distro/backend, because doing so involves distro specific code which should not go into upstreams, or simply because of the usual chicken-egg problem of app developers rather doing their own thing instead of using generic APIs.</p>
<p>So this got discussed between Sebastian Heinlein and me, and voila, <a href="https://gitorious.org/packagekit/packagekit/commit/b516f18e28c708d31f0a85b35ca3ec47fb3bd16c">there it is</a>: it is now very easy to provide Python plugins for &#8220;what-provides&#8221; to implement any of the existing types. For example, <a href="https://launchpad.net/ubuntu/+source/language-selector/+changelog">language-selector</a> now ships a plugin which implements LANGUAGE_SUPPORT, so you can ask &#8220;which packages do I need for Chinese in China&#8221; (i. e. simplified Chinese)?</p>
<pre>
$ pkcon what-provides "locale(zh_CN)"
[...]
Available   	firefox-locale-zh-hans-10.0+build1-0ubuntu1.all	Simplified Chinese language pack for Firefox
Available   	ibus-sunpinyin-2.0.3-2.amd64            	sunpinyin engine for ibus
Available   	language-pack-gnome-zh-hans-1:12.04+20120130.all	GNOME translation updates for language Simplified Chinese
Available   	ttf-arphic-ukai-0.2.20080216.1-1.all    	"AR PL UKai" Chinese Unicode TrueType font collection Kaiti style
[...]
</pre>
<p><a href="http://blogs.gnome.org/rodrigo/">Rodrigo Moya</a> is currently working on implementing the <a href="https://live.gnome.org/Design/SystemSettings/RegionAndLanguage">control-center region panel redesign</a> in a <a href="http://git.gnome.org/browse/gnome-control-center/log/?h=wip/install-languages">branch</a>. This uses exactly this feature.</p>
<p>In Ubuntu we usually do not use PackageKit itself, but aptdaemon and its PackageKit API compatibility shim <code>python-aptdaemon.pkcompat</code>. So I <a href="http://bazaar.launchpad.net/~aptdaemon-developers/aptdaemon/main/revision/769">ported that plugin support</a> for aptdaemon-pkcompat as well, so plugins work with either now. Ubuntu Precise got the new aptdaemon (0.43+bzr769-0ubuntu1) and language-selector (0.63) versions today, so you can start playing around with this now.</p>
<p>So how can you write your own plugins? This is a trivial, although rather nonsense example:</p>
<pre>
from packagekit import enums

def my_what_provides(apt_cache, provides_type, search):
    if provides_type in (enums.PROVIDES_CODEC, enums.PROVIDES_ANY):
        return [apt_cache["gstreamer-moo"]]
    else:
        raise NotImplementedError('cannot handle type ' + str(provides_type))
</pre>
<p>The function gets an <code>apt.Cache</code> object, one of <code>enums.PROVIDES_*</code> and the actual search type as described <a href="https://gitorious.org/packagekit/packagekit/blobs/master/docs/provides-component-naming.txt">in the documentation</a> (above dummy example does not actually use it). It then decides whether it can handle the request and return a list of <code>apt.package.Package</code> objects (i. e. values in an <code>apt.Cache</code> map), or raise a <code>NotImplementedError</code> otherwise.</p>
<p>You register the plugin through Python pkg-resources in your setup.py (this needs setuptools):</p>
<pre>
   setup(
       [....]

       entry_points="""[packagekit.apt.plugins]
what_provides=my_plugin_module_name:my_what_provides
""",
       [...])
</pre>
<p>You can register arbitrarily many plugins, they will be all called and their resulting package lists joined.</p>
<p>All this will hopefully help a bit to push distro specifics to the lowest possible levels, and use upstream friendly and distribution agnostic APIs in your applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2012/02/packagekitaptdaemon-what-provides-plugin-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>software-center now installs language support automatically</title>
		<link>http://www.piware.de/2012/01/software-center-now-installs-language-support-automatically/</link>
		<comments>http://www.piware.de/2012/01/software-center-now-installs-language-support-automatically/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:52:34 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[aptdaemon]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[language support]]></category>
		<category><![CDATA[translations]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=581</guid>
		<description><![CDATA[Suppose you install Ubuntu and select a language other than English (it&#8217;s known to happen!). This will install the general and the GNOME language packs, translated LibreOffice help, and so on. Now, install a KDE package or GIMP. You&#8217;ll notice that the new application is not translated and has no help available for your language. [...]]]></description>
			<content:encoded><![CDATA[<p>Suppose you install Ubuntu and select a language other than English (it&#8217;s known to happen!). This will install the general and the GNOME language packs, translated LibreOffice help, and so on. Now, install a KDE package or GIMP. You&#8217;ll notice that the new application is not translated and has no help available for your language. The next time you open the language selector from control-center it would tell you that you miss some language support and offer to install it, but this has been pretty indiscoverable, and we really can do better.</p>
<p>Today&#8217;s <a href="https://launchpad.net/ubuntu/+source/language-selector/0.62">language-selector</a> upload provides an <a href="http://packages.python.org/aptdaemon/plugins.html">aptdaemon plugin</a> which automatically marks corresponding language support packages (translated help, dictionaries, spell checker modules, and translations themselves) for installation for any newly installed package, for all languages that are configured on your system.</p>
<p>For example, I have German and English locales on my system, and no KDE packages. Before, installing GIMP got me just that:</p>
<p><code>$ aptdcon -i gimp<br />
The following NEW package will be installed (1):<br />
  gimp<br />
</code></p>
<p>Now it automatically installs the corresponding localized help:</p>
<p><code><br />
$ aptdcon -i gimp<br />
The following NEW packages will be installed (4):<br />
  gimp gimp-help-common gimp-help-de gimp-help-en<br />
</code></p>
<p>I am using <code>aptdcon</code> here as it points out the effect better than software-center doing all this in the background, but both use aptdaemon, so the effect will be the same.</p>
<p>Likewise, installing the first KDE-ish package will automatically install the KDE language packs:</p>
<p><code><br />
$ aptdcon -i kate<br />
The following NEW packages will be installed (71):<br />
  kate kate-data [...] kdelibs5-data [...] language-pack-kde-de language-pack-kde-en [...]<br />
</code></p>
<p>This is now possible because I rewrote the <a href="http://manpages.ubuntu.com/check-language-support">check-language-support</a> logic from scratch; the old code was very slow, hard to read and a nightmare to maintain, and also depended on a lot of data files. The <a href="http://bazaar.launchpad.net/~ubuntu-core-dev/language-selector/ubuntu/view/head:/language_support_pkgs.py">new code</a> is very fast (figuring out all missing language support packages for all installed packages for all available locales takes 8 ms on my system), and has <a href="http://bazaar.launchpad.net/~ubuntu-core-dev/language-selector/ubuntu/view/head:/tests/test_language_support_pkgs.py">full test coverage</a>. </p>
<p>While the <code>check-language-support</code> program still works (I rewrote it using the new API), it is easier and probably a lot faster to just use the new API now, e. g. in our Ubiquity installer.</p>
<p>Say goodbye to this <a href="https://launchpad.net/bugs/396414">2.5 year old bug</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2012/01/software-center-now-installs-language-support-automatically/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>libxklavier is now introspectable</title>
		<link>http://www.piware.de/2012/01/libxklavier-is-now-introspectable/</link>
		<comments>http://www.piware.de/2012/01/libxklavier-is-now-introspectable/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 21:07:34 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gobject-introspection]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=577</guid>
		<description><![CDATA[On my 8 hour train ride to Budapest last Sunday I finally worked on making libxklavier introspectable. Thanks to Sergey&#8217;s fast review the code now landed in trunk. I sent a couple of refinements to the bug report still, but those are mostly just icing on the cake, the main functionality of getting and setting [...]]]></description>
			<content:encoded><![CDATA[<p>On my 8 hour train ride to Budapest last Sunday I finally worked on making <a href="http://freedesktop.org/wiki/Software/LibXklavier">libxklavier</a> <a href="https://live.gnome.org/GObjectIntrospection">introspectable</a>. Thanks to Sergey&#8217;s fast review the code now <a href="http://cgit.freedesktop.org/libxklavier/">landed in trunk</a>. I sent a couple of refinements to the <a href="https://bugs.freedesktop.org/show_bug.cgi?id=44581">bug report</a> still, but those are mostly just icing on the cake, the main functionality of getting and setting keyboard layouts is working nicely now (see the <a href="http://cgit.freedesktop.org/libxklavier/tree/tests/test_gi.py">example script</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2012/01/libxklavier-is-now-introspectable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apport 1.90: Client-side duplicate checking</title>
		<link>http://www.piware.de/2011/11/apport-1-90-client-side-duplicate-checking/</link>
		<comments>http://www.piware.de/2011/11/apport-1-90-client-side-duplicate-checking/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 15:55:33 +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[gnome]]></category>
		<category><![CDATA[QA]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=561</guid>
		<description><![CDATA[Apport and the retracer bot in the Canonical data center have provided server-side automatic closing of duplicate crash report bugs for quite a long time. As we have only kept Apport crash detection enabled in the development release, we got away with this as bugs usually did not get so many duplicates that they became [...]]]></description>
			<content:encoded><![CDATA[<p>Apport and the retracer bot in the Canonical data center have provided server-side automatic closing of duplicate crash report bugs for quite a long time. As we have only kept Apport crash detection enabled in the development release, we got away with this as bugs usually did not get so many duplicates that they became unmanageable. Also, the number of duplicates provided a nice hint to how urgent and widespread a crash actually was.</p>
<p>However, it&#8217;s time to end that era and provide something better now:</p>
<ul>
<li>This probably caused a lot of frustration when a reporter of the crash spent time, bandwidth, and creativity to upload the crash data and create a description for it, only to find that it got closed as a duplicate 20 minutes later.</li>
<li>Some highly visible crashes sometimes generated up to a hundred duplicates in Launchpad, which was prone to timeouts, and needless catch-up by the retracers.</li>
<li>We plan to have a <a href="https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-crash-database">real crash database soon</a>, and eventually want to keep Apport enabled in stable releases. This will raise the number of duplicates that we get by several magnitudes.</li>
<li>For common crashes we had to write manual bug patterns to avoid getting even more duplicates.
</ul>
<p>So with the just released <a href="https://launchpad.net/apport/trunk/1.90">Apport 1.90</a> we introduce client-side duplicate checking. So from now, when you report a crash, you are likely to see &#8220;We already know about this&#8221; right away, without having to upload or type anything, and you will get directed to the bug page. You should mark yourself as affected and/or subscribe to the bug, both to get a notification when it gets fixed, and also to properly raise the &#8220;hotness&#8221; of the bug to bubble up to developer attention.</p>
<p>For the technically interested, this is how we detect duplicates for the &#8220;signal&#8221; crashes like SIGSEGV (as opposed to e. g. Python crashes, where we always have a fully symbolic stack trace):<br />
As we cannot rely on symbolic stack traces, and do not want to force every user to download tons of debug symbols, Apport now falls back to generating a &#8220;crash address signature&#8221; which combines the absolute addresses of the (non-symbolic) stack trace and the <code>/proc/</code><em>pid</em><code>/maps</code> mapping to a stack of libraries and the relative offsets within those, which is stable under <a href="http://en.wikipedia.org/wiki/Address_space_layout_randomization">ASLR</a> for a given set of dependency versions. As the offsets are specific to the architecture, we form the signature as combination of the executable name, the signal number, the architecture, and the offset list. For example, the i386 signature of bug <a href="https://launchpad.net/bugs/893386"></a> looks like this:</p>
<p><code>/usr/bin/rhythmbox:11:i686:/usr/lib/libgstpbutils-0.10.so.0.24.0+c284:/usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3000.0+3337a:/usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3000.0+8e0</code></p>
<p>As library dependencies can change, we have more than one architecture, and the faulty function can be called from different entry points, there can be many address signatures for a bug, so the database maintains an N:1 mapping. In its current form the signatures are taken as-is, which is much more strict than it needs to be. Once this works in principle, we can refine the matching to also detect duplicates from different entry points by reducing the part that needs to match to the common prefix of several signatures which were proven to be a duplicate by the retracer (which gets a fully symbolic stack trace).</p>
<p>The retracer bots now exports the current duplicate/address signature database to <a href="http://people.canonical.com/~ubuntu-archive/apport-duplicates">http://people.canonical.com/~ubuntu-archive/apport-duplicates</a> in an indexed text format from where Apport clients can quickly check whether a bug is known.</p>
<p>For the Launchpad crash database implementation we actually check if the bug is readable by the reporter, i. e. it is private and the reporter is in a subscribed team, or the bug is public; if not, we let him report the bug anyway and duplicate it later through the existing server-side retracer, so that the reporter has a chance of getting subscribed to the bug. We also let the bug be filed if the currently existing symbolic stack trace is bad (tagged as <a href="https://bugs.launchpad.net/ubuntu/+bugs?field.tag=apport-failed-retrace">apport-failed-retrace</a>) or if a developer wants a new symbolic stack trace with the current libraries (tagged as <a href="https://bugs.launchpad.net/ubuntu/+bugs?field.tag=apport-request-retrace">apport-request-retrace</a>).</p>
<p>As this is a major new feature, I decided that it&#8217;s time to call this Apport 2.0. This is the first public beta towards it, thus called 1.90. With Apport&#8217;s test driven and agile development the version numbers do not mean much anyway (the retracer bots in the data center always just run trunk, for example), so this is as good time as any to reset the rather large &#8220;.26&#8243; minor version that we are at right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/11/apport-1-90-client-side-duplicate-checking/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apport: debug symbol retrieval now in GUI</title>
		<link>http://www.piware.de/2011/10/apport-debug-symbol-retrieval-now-in-gui/</link>
		<comments>http://www.piware.de/2011/10/apport-debug-symbol-retrieval-now-in-gui/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 11:18:49 +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[gnome]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[symbolic stack trace]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=534</guid>
		<description><![CDATA[On a rather calm ten-hour flight to Orlando I once again did some pygobject, udisks, and Apport hacking (It&#8217;s scary how productive one can be when not constantly being interrupted by IRC, email, etc). One more visible change amongst these was finally fixing a five year old five-digit bug to integrate apport-retrace into the GUI, [...]]]></description>
			<content:encoded><![CDATA[<p>On a rather calm ten-hour flight to Orlando I once again did some pygobject, udisks, and Apport hacking (It&#8217;s scary how productive one can be when not constantly being interrupted by IRC, email, etc). One more visible change amongst these was finally fixing a <a href="https://launchpad.net/bugs/75901">five year old five-digit bug</a> to integrate <a href="manpages.ubuntu.com/apport-retrace">apport-retrace</a> into the GUI, now that it <a href="http://www.piware.de/2011/08/apport-retrace-made-useful/">does not potentially wreck your installation any more</a>.</p>
<p>If the <code>apport-retrace</code> package is installed, the crash detail dialog will show a new &#8220;Examine locally&#8221; button:</p>
<p><img src="http://piware.de/wp-uploads/2011/10/crash-details.png" alt="Apport crash detail dialog" title="Apport crash detail dialog" /></p>
<p>After clicking this, you can choose what do do exactly:</p>
<p><img src="http://piware.de/wp-uploads/2011/10/retrace-dialog.png" alt="Retrace action dialog" title="Retrace action dialog"  /></p>
<p>I know this dialog is not a beauty, as it&#8217;s implemented using the <code>ui_question_choice()</code> API which is used by package hooks. That makes it work for all available UIs (GTK, KDE, CLI), though, and can easily be extended to have more actions. And if you get this far and want to stack traces, you are used to looking at eye-bleeding gibberish anyway..</p>
<p>Presumably the most useful (and default) action is to download all the debug symbols, open a Terminal, and put you into a GDB session with all these, and the core dump loaded, so that you can poke around the crashed program state with all symbols available.</p>
<p>But you can also run gdb without downloading debug symbols, or just update the .crash report file with a fully symbolic stack trace.</p>
<p>This works just as well in <code>apport-cli</code>, but not yet in the KDE version: Someone needs to implement the equivalent of <a href="http://bazaar.launchpad.net/~apport-hackers/apport/trunk/revision/2007">the apport-gtk implementation</a> to <code>apport-kde</code> and <code>kde/bugreport.ui</code>, i. e. show an &#8220;Examine locally&#8221; button if <code>self.can_examine_locally()</code> is true, and add an appropriate <code>ui_run_terminal()</code> method (which should be fairly similar to the GTK one, just with Qt/KDEish terminal emulators). But as Kubuntu does not currently use Apport (and also because I didn&#8217;t have all the dependencies installed on my laptop) I did not yet do this. Please catch me on IRC/mail/merge proposal if you want to work on this. If you look at above commit, the changes to the GtkBuilder file look huge, but that&#8217;s only because I haven&#8217;t touched it for ages and the current Glade shuffled the elements quite a bit; it just adds the button to the dialog.</p>
<p>For now this is all sitting in trunk, I&#8217;ll do a new upstream release and Ubuntu precise upload soon.</p>
<p>Happy debugging!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/10/apport-debug-symbol-retrieval-now-in-gui/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PostgreSQL 9.1 final packages available for Debian/Ubuntu</title>
		<link>http://www.piware.de/2011/09/postgresql-9-1-final-packages-available-for-debianubuntu/</link>
		<comments>http://www.piware.de/2011/09/postgresql-9-1-final-packages-available-for-debianubuntu/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 04:19:20 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=519</guid>
		<description><![CDATA[Hot on the heels of the PostgreSQL 9.1.0 release I am happy to announce that the final version is now packaged for Debian unstable, the current Ubuntu development version &#8220;Oneiric&#8221;, and also in my Ubuntu backports PPA for Ubuntu 10.04 LTS, 10.10, and 11.04. Enjoy trying out all the cool new features like builtin synchronous [...]]]></description>
			<content:encoded><![CDATA[<p>Hot on the heels of the <a href="http://www.postgresql.org/about/news.1349">PostgreSQL 9.1.0 release</a> I am happy to announce that the final version is now packaged for <a href="http://packages.qa.debian.org/p/postgresql-9.1/news/20110912T144932Z.html">Debian unstable</a>, the <a href="https://launchpad.net/ubuntu/+source/postgresql-9.1/9.1.0-1">current Ubuntu development version &#8220;Oneiric&#8221;</a>, and also in my <a href="https://launchpad.net/~pitti/+archive/postgresql">Ubuntu backports PPA</a> for Ubuntu 10.04 LTS, 10.10, and 11.04.</p>
<p>Enjoy trying out all the cool new features like builtin synchronous replication or per-column collation settings for correctly handling international strings, or an even finer-grained access control for large environments. Please see <a href="http://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.1">the detailled explanation</a> of the new features.</p>
<p>As already <a href="http://www.piware.de/2011/09/dropping-postgresql-9-0-packages-for-debianubuntubackports/">announced a few days ago</a>, 9.0 is gone from Ubuntu 11.10, as it is still only a development version and not an LTS. 9.1 will be the version which the next 12.04 LTS will support, so this slightly reduces the number of major upgrades Ubuntu users will need to do. However, 9.0 will still be available in Debian unstable and backports, and the Ubuntu backports PPA for a couple of months to give DB administrators some time to migrate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/09/postgresql-9-1-final-packages-available-for-debianubuntu/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Dropping PostgreSQL 9.0 packages for Debian/Ubuntu/backports</title>
		<link>http://www.piware.de/2011/09/dropping-postgresql-9-0-packages-for-debianubuntubackports/</link>
		<comments>http://www.piware.de/2011/09/dropping-postgresql-9-0-packages-for-debianubuntubackports/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 14:28:06 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[backports]]></category>
		<category><![CDATA[deprecation]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=513</guid>
		<description><![CDATA[PostgreSQL 9.1 has had its first release candidate out for some two weeks without major problem reports, so it&#8217;s time to promote this more heavily. If you use PostgreSQL, now is the time to try it out and report problems. We always strive to minimize the number of major versions which we have to support. [...]]]></description>
			<content:encoded><![CDATA[<p>PostgreSQL 9.1 has had its first release candidate out for some two weeks without major problem reports, so it&#8217;s time to promote this more heavily. If you use PostgreSQL, now is the time to try it out and report problems.</p>
<p>We always strive to minimize the number of major versions which we have to support. They not only mean more maintenance for developers, but also more upgrade cycles for the users.</p>
<p>9.0 has not been in any stable Debian or Ubuntu release, and 9.1 final will be released soon. So we recently updated the current Ubuntu development release for 11.10 (&#8220;oneiric&#8221;) <a href="https://launchpad.net/bugs/833684">to 9.1</a>. In Debian, the <a href="http://lists.alioth.debian.org/pipermail/pkg-postgresql-public/2011-August/000570.html">migration from 8.4/9.0 to 9.1</a> is making good progress, and there is not much which is left until <a href="http://bugs.debian.org/639465">postgresql-9.0 can be removed</a>.</p>
<p>Consequently, I also removed 9.0 from my <a href="https://launchpad.net/~pitti/+archive/postgresql">PostgreSQL backports PPA</a>, as there is nothing any more to backport it from. However, that mostly means that people will now set up installations with 9.1 instead of 9.0, and won&#8217;t magically make your already installed 9.0 packages go away. They will just be marked as obsolete in the postgresql-common debconf note.</p>
<p>If you want to build future 9.0 packages yourself, you can do this based on the current branch: <code>bzr branch lp:~pitti/postgresql/debian-9.0</code>, get a the new upstream tarball, name it accordingly, add a new changelog with a new upstream version number, and run <code>bzr bd</code> to build the package (you need to install the <code>bzr-builddeb</code> package for this).</p>
<p><strong>Update 2011-09-09:</strong> As I got a ton of pleas to continue the 9.0 backports for a couple of months, and to keep it in Debian unstable for a while longer, I put them back now. I also updated the removal request in Debian to point out that I&#8217;m mainly interested in getting 9.0 out of testing. I don&#8217;t mind much maintaining it for a couple of more months in unstable. My dear, I had no idea that my backports PPA was <em>that</em> popular!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/09/dropping-postgresql-9-0-packages-for-debianubuntubackports/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>apport-retrace made useful</title>
		<link>http://www.piware.de/2011/08/apport-retrace-made-useful/</link>
		<comments>http://www.piware.de/2011/08/apport-retrace-made-useful/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 15:20:58 +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[QA]]></category>
		<category><![CDATA[stacktrace]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=508</guid>
		<description><![CDATA[The tool to reprocess an Apport crash report to produce a symbolic stack trace, apport-retrace, has been pretty hard to use on a developer system so far: It either installed the packages from the crash report, plus its debug symbol packages (&#8220;ddebs&#8221;) into the running system (which frequently caused problems like broken dependencies), or it [...]]]></description>
			<content:encoded><![CDATA[<p>The tool to reprocess an Apport crash report to produce a symbolic stack trace, <a href="http://manpages.ubuntu.com/apport-retrace">apport-retrace</a>, has been pretty hard to use on a developer system so far: It either installed the packages from the crash report, plus its debug symbol packages (&#8220;ddebs&#8221;) into the running system (which frequently caused problems like broken dependencies), or it required setting up a chroot and using apport-chroot with fakechroot and fakeroot.</p>
<p>I&#8217;m happy to announce that with Apport 1.22, which landed in Oneiric yesterday, this has now become much easier: In the default mode it just calls gdb on the report&#8217;s coredump, i. e. expects that all the necessary packages are already installed and will complain about the missing ones. But with the new <code>--sandbox</code>/<code>-S</code>mode, it will just create a temporary directory, download and unpack packages there, and run gdb with some magic options to consider that directory a &#8220;virtual root&#8221;. These options haven&#8217;t been available back when this stuff was written the first time, which is why it used to be so complicated with fakechroots, etc. Now this does not need any root privileges, <code>chroot()</code> calls, etc.</p>
<p>As it only downloads and installs the bare minimum, and does not involve any of the dpkg/apt overhead (maintainer scripts, etc.), it has also become quite a lot faster. That&#8217;s how the apport retracers were able to dig through a backlog of about a thousand bugs in just a couple of hours.</p>
<p>So now, if you locally want to retrace or investigate a crash, you can do</p>
<pre>
   $ apport-retrace -s -S system /var/crash/_usr_bin_gedit.1000.crash
</pre>
<p>to get the stack traces on stdout, or</p>
<pre>
   $ apport-retrace -g -S system /var/crash/_usr_bin_gedit.1000.crash
</pre>
<p>to be put into a gdb session.</p>
<p>If you do this regularly, it&#8217;s highly recommended to use a permanent cache dir, where apt can store its indexes and downloaded packages: Use <code>-C ~/.cache/apport-retrace</code> for this (or the long version <code>--cache</code>).</p>
<p>You can also use this to reprocess crashes for a different release than the one you are currently running, by creating a config directory with an appropriate apt <code>sources.list</code>.</p>
<p>The <a href="http://manpages.ubuntu.com/apport-retrace">manpage</a> has all the details. (Note that at the time of this writing, manpages.ubuntu.com still has the old version &#8212; use the local one instead.)</p>
<p>Enjoy, and let me know how this works for you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/08/apport-retrace-made-useful/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Debian/Ubuntu packages for PostgreSQL 9.1 Beta 2</title>
		<link>http://www.piware.de/2011/06/debianubuntu-packages-for-postgresql-9-1-beta-2/</link>
		<comments>http://www.piware.de/2011/06/debianubuntu-packages-for-postgresql-9-1-beta-2/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 08:29:53 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=498</guid>
		<description><![CDATA[Hot on the heels of the Announcement of the second 9.1 Beta release there are now packages for it in Debian experimental and backports for Ubuntu 10.04 LTS, 10.10. and 11.04 in my PostgreSQL backports for stable Ubuntu releases PPA. Warning for upgrades from Beta 1: The on-disk database format changed since Beta-1. So if [...]]]></description>
			<content:encoded><![CDATA[<p>Hot on the heels of the <a href="http://www.postgresql.org/about/news.1323">Announcement of the second 9.1 Beta release</a> there are now packages for it in <a href="http://packages.debian.org/source/experimental/postgresql-9.1">Debian experimental</a> and backports for Ubuntu 10.04 LTS, 10.10. and 11.04 in my <a href="https://launchpad.net/~pitti/+archive/postgresql">PostgreSQL backports for stable Ubuntu releases PPA</a>.</p>
<p><strong>Warning for upgrades from Beta 1:</strong> The on-disk database format changed since Beta-1. So if you already have the beta-1 packages installed, you need to <code>pg_dumpall</code> your 9.1 clusters (if you still need them), and <code>pg_dropcluster</code> all 9.1 clusters before the upgrade. I added a check to the pre-install script to make the <code>postgresql-9.1</code> package fail early to upgrade if you still have existing 9.1 clusters to avoid data loss.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/06/debianubuntu-packages-for-postgresql-9-1-beta-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Packages for PostgreSQL 9.1 Beta 1 now available</title>
		<link>http://www.piware.de/2011/05/packages-for-postgresql-9-1-beta-1-now-available/</link>
		<comments>http://www.piware.de/2011/05/packages-for-postgresql-9-1-beta-1-now-available/#comments</comments>
		<pubDate>Wed, 11 May 2011 10:51:48 +0000</pubDate>
		<dc:creator>pitti</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.piware.de/?p=493</guid>
		<description><![CDATA[Two weeks ago, PostgreSQL announced the first beta version of the new major 9.1 version, with a lot of anticipated new features like synchronous replication or better support for multilingual databases. Please see the release announcement for details. Due to my recent moving and the Ubuntu Developer Summit it took me a bit to package [...]]]></description>
			<content:encoded><![CDATA[<p>Two weeks ago, <a href="http://www.postgresql.org">PostgreSQL</a> announced the first beta version of the new major 9.1 version, with a lot of anticipated new features like synchronous replication or better support for multilingual databases. Please see the <a href="http://www.postgresql.org/about/news.1313">release announcement</a> for details.</p>
<p>Due to my recent moving and the Ubuntu Developer Summit it took me a bit to package them for Debian and Ubuntu, but here they are at last. I uploaded <a href="http://packages.qa.debian.org/p/postgresql-9.1.html">postgresql-9.1</a> to Debian experimental; currently they are sitting in the <a href="http://ftp-master.debian.org/new.html">NEW queue</a>, but I&#8217;m sure our restless Debian archive admins will get to it in a few days. I also provided builds for Ubuntu 10.04 LTS, 10.10. and 11.04 in my <a href="https://launchpad.net/~pitti/+archive/postgresql">PostgreSQL backports for stable Ubuntu releases PPA</a>.</p>
<p>I provided full <a href="http://people.debian.org/~mpitt/architecture.html">postgresql-common</a> integration, i. e. you can use all the usual tools like <code>pg_createcluster</code>, <code>pg_upgradecluster</code> etc. to install 9.1 side by side with your 8.4/9.0 instances, attempt an upgrade of your existing instances to 9.1 without endangering the running clusters, etc. Fortunately this time there were no deprecated configuration options, so <code>pg_upgradecluster</code> does not actually have to touch your <code>postgresql.conf</code> for the 9.0 →9.1 upgrade.</p>
<p>They pass upstream&#8217;s and postgresql-common&#8217;s integration test suite, so should be reasonably working. But please let me know about everything that doesn&#8217;t, so that we can get them in perfect shape in time for the final release.</p>
<p>I anticipate that 9.1 will be the default (and only supported) version in the next Debian release (wheezy), and will most likely be the one shipped in the next Ubuntu LTS (in 12.04). It might be that the next Ubuntu release 11.10 will still ship with 9.0, but that pretty much depends on how many extensions get ported to 9.1 by feature freeze.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.piware.de/2011/05/packages-for-postgresql-9-1-beta-1-now-available/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

