<?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>Bloggy &#187; KDE</title>
	<atom:link href="http://www.purinchu.net/wp/category/kde/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.purinchu.net/wp</link>
	<description>The answer to life, the universe, and everything</description>
	<lastBuildDate>Sat, 12 Nov 2011 01:19:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Vim tip: Finding differences without separate files</title>
		<link>http://www.purinchu.net/wp/2011/11/11/vim-tip-finding-differences-without-separate-files/</link>
		<comments>http://www.purinchu.net/wp/2011/11/11/vim-tip-finding-differences-without-separate-files/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 01:19:29 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[Computing Troubles]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Useful Tricks]]></category>
		<category><![CDATA[diff finding]]></category>
		<category><![CDATA[Test::More]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=722</guid>
		<description><![CDATA[While debugging a failure in the kdesrc-build test suite after a fairly extensive series of refactorings, I ended up with an object hierarchy which was different from a different hierarchy&#8230; but different where? The obvious solution is to use something like Test::More&#8217;s is_deeply test, which displays the places where the two structures are different. Unfortunately [...]]]></description>
			<content:encoded><![CDATA[<p>While debugging a failure in the kdesrc-build test suite after a fairly extensive series of refactorings, I ended up with an object hierarchy which was different from a different hierarchy&#8230; but different where?</p>
<p>The obvious solution is to use something like <a href="http://search.cpan.org/~mschwern/Test-Simple/lib/Test/More.pm#Complex_data_structures">Test::More&#8217;s is_deeply</a> test, which displays the places where the two structures are different.</p>
<p>Unfortunately it reported that the two structures were identical (although in fairness I checked just now and it&#8217;s an older version from 2009, there&#8217;s been several bugfixes in the function since which probably close this&#8230; assuming I was using the method right).</p>
<p>The other quick-and-dirty debugging method I use is to simply dump the structure to the output using something like <a href="http://search.cpan.org/~smueller/Data-Dumper-2.131/Dumper.pm">Data::Dumper</a>.</p>
<p>Unfortunately it&#8217;s not easy to &#8220;spot the difference&#8221; in two consecutive Data::Dumper outputs of nearly-identical structures. That is where Vim came in to save my day.</p>
<p>I think most Vim users already know about the <tt>vimdiff</tt> mode which helps significantly with applying patches to files, but what if you don&#8217;t have a file to work on? In my case I was dealing with Konsole output. Of course I could cut-and-paste that output to different files and then run vimdiff, but that&#8217;s annoying (what if I forget to unlink the files when I&#8217;m done, what to name them?, etc.).</p>
<p>Instead I dumped all of the output into a Vim window, then used <tt>:vnew</tt> to open a new buffer and window. Afterwards I moved the second output block to the new window and cleaned up the leading and trailing empty lines.</p>
<p>The only thing left to do is put Vim in its diff mode, and that is done using <tt>:diffthis</tt>, which gave me the following (click to enlarge):</p>
<p><center><a href="/images/vimdiffthis.png"><img src="/images/vimdiffthis-sm.png" width="480" height="225" alt="Screenshot of a vim window displaying only differences between two different buffers"/></a></center></p>
<p>This makes it <em>much</em> easier to find the bug, and is very easy to accomplish quickly. Perhaps you&#8217;ll find it useful at some point as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/11/11/vim-tip-finding-differences-without-separate-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tracking down a library bug</title>
		<link>http://www.purinchu.net/wp/2011/10/16/tracking-down-a-library-bug/</link>
		<comments>http://www.purinchu.net/wp/2011/10/16/tracking-down-a-library-bug/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 03:08:49 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[Computing Troubles]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Useful Tricks]]></category>
		<category><![CDATA[abi]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[kdesrc-build]]></category>
		<category><![CDATA[nm]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=715</guid>
		<description><![CDATA[So today I had noticed I had build failures in quite a few modules that were based on errors linking to libkipi, involving undefined references to KIPI::ImageInfoShared::~ImageInfoShared(). Normally fixing this is as easy as ensuring that the library which provides the symbol has been updated, built, and installed and then running kdesrc-build --refresh-build on the [...]]]></description>
			<content:encoded><![CDATA[<p>So today I had noticed I had build failures in quite a few modules that were based on errors linking to libkipi, involving undefined references to <code>KIPI::ImageInfoShared::~ImageInfoShared()</code>.</p>
<p>Normally fixing this is as easy as ensuring that the library which provides the symbol has been updated, built, and installed and then running <code>kdesrc-build --refresh-build</code> on the modules that had failed. In this case it didn&#8217;t work though. Hmm&#8230;</p>
<p>Looking at my <code>log/latest/gwenview/error.log</code> showed that it was the same build failure, so I went to the affected build directory and ran <code>make VERBOSE=1</code>, which shows the command line involved.</p>
<p>The output was a whole lot of something like:</p>
<pre>/usr/lib/ccache/bin/g++   -march=native -pipe <i>removed .o files</i>
/home/kde-svn/kde-4/lib/libkfile.so.4.7.0
../lib/libgwenviewlib.so.4.7.0 /home/kde-svn/kde-4/lib/libkio.so.5.7.0
/home/kde-svn/kde-4/lib64/libkipi.so <i>more removed stuff</i></pre>
<p>Had I been paying close attention I may have noticed the actual problem right here, but in the event I merely noticed that libkipi had no version number referenced, only the <code>libkipi.so</code>.</p>
<p>The next step for me was to try and figure out why the symbol wasn&#8217;t defined, but first I wanted to make sure that the symbol wasn&#8217;t defined, which can be accomplished using the <code>nm</code> tool.</p>
<p>The output of <code>nm lib64/libkipi.so</code> needs to be filtered to make it useful. I ended up just grepping for the mangled symbol name but you can unmangle the symbol names and grep for that as well. After running <code>nm lib64/libkipi.so | grep ImageInfoShared</code> I saw that the destructor was actually defined three times!</p>
<pre>$ nm  /home/kde-svn/kde-4/lib64/libkipi.so | grep _ZN4KIPI15ImageInfoSharedD
0000000000014728 t _ZN4KIPI15ImageInfoSharedD0Ev
00000000000146e0 t _ZN4KIPI15ImageInfoSharedD1Ev
00000000000146e0 t _ZN4KIPI15ImageInfoSharedD2Ev</pre>
<p>Two of the destructor names pointed to the same address so there was only two different functions, but why were there even 2? Looking into this further revealed that the different destructors are actually defined in the C++ ABI <a href="http://sourcery.mentor.com/public/cxx-abi/abi.html#mangling-special">implemented by gcc</a>, specifically that:</p>
<ul>
<li>The <code>D0</code> destructor is used as the <quote>deleting destructor</quote>.</li>
<li>The <code>D1</code> destructor is used as the <quote>complete object destructor</quote>
</li>
<li>The <code>D2</code> destructor is used as the <quote>base object destructor</quote>.</li>
</ul>
<p>The D1 destructor is presumably used as a shortcut when the compiler is able to determine the actual class hierarchy of a given object and can therefore inline the destructors together into a &#8220;full destructor&#8221;, which the D2 destructor would be used when the ancestry is unclear and therefore the full C++ destruction chain is run. Neither of these would deallocate memory though, which is why the separate D0 destructor is needed (which is presumably otherwise equivalent to D2, but that&#8217;s just me guessing).</p>
<p>Either way, the destructors were actually just normal operation of the compiler. All the bases appeared to be covered, <code>t</code> from the <code>nm</code> output means that the symbol is defined in the text section, which means it should be available, right?</p>
<p>As it turns out I had to read the <code>nm</code> manpage closer&#8230; <em>lowercase</em> symbol categories imply that the symbol is local to that library, or in other words that it does not participate in symbol linking amongst other shared objects. That would explain why <code>gcc</code> seemingly couldn&#8217;t find it.</p>
<p>But why was the symbol local instead of global? As far as this goes, I&#8217;m still honestly not sure. It turns out that <code>LIBKIPI_EXPORT</code> was defined to expand to <code>KDE_IMPORT</code> instead of <code>KDE_EXPORT</code>. But on Linux <em>both</em> of those change the visibility of the affected symbol to be exported (<code>KDE_IMPORT</code> makes more sense on the Windows platform, but is essentially the default on Linux already). So although this appeared to be the issue, it was actually not a concern.</p>
<p>However, playing around with that <code>#define</code> and recompiling libkipi made me realize that the affected library didn&#8217;t appear to have changed after I ran <code>make install</code>&#8230; which turned out to be due to my KDE libraries getting installed to <code>$HOME/kde-4/lib</code>, but libkipi was in <code>$HOME/kde-4/lib<b>64</b></code>, and was getting picked up by CMake and FindKipi.cmake somehow.</p>
<p>Perhaps I hit a transient buildsystem bug, perhaps it was something else. But removing the stray lib64 directory and rebuilding the affected modules appears to have fixed everything. At least I learned the reason there&#8217;s up to 3 different destructor symbol names for a C++ class, I guess. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/10/16/tracking-down-a-library-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15 years of KDE</title>
		<link>http://www.purinchu.net/wp/2011/10/14/15-years-of-kde/</link>
		<comments>http://www.purinchu.net/wp/2011/10/14/15-years-of-kde/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 01:59:28 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[anniversary]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=710</guid>
		<description><![CDATA[I&#8217;m almost late to the party, but then it&#8217;s never too late to commemorate something as notable as 15 years of development. I look forward to many more years of working with the best community of developers and users out there! Happy 15th Birthday KDE!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m almost late to the party, but then it&#8217;s never <em>too</em> late to commemorate something as notable as 15 years of development.</p>
<p>I look forward to many more years of working with the best community of developers and users out there! Happy 15<sup>th</sup> Birthday KDE!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/10/14/15-years-of-kde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2 new kdesrc-build releases</title>
		<link>http://www.purinchu.net/wp/2011/09/22/2-new-kdesrc-build-releases/</link>
		<comments>http://www.purinchu.net/wp/2011/09/22/2-new-kdesrc-build-releases/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 00:24:19 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[kdesvn-build]]></category>
		<category><![CDATA[kdesrc-build]]></category>
		<category><![CDATA[kdesrc-build release]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=702</guid>
		<description><![CDATA[So after 6 months of work I released kdesrc-build 1.14 with quite a few changes/fixes. 4 days later I released 1.14.1 (mostly to help mitigate an effect of a change in 1.14 which I&#8217;ll cover at the end). Without further ado, I&#8217;ll list some of the important changes. You&#8217;ve probably already noticed, but the &#8220;qt-kde&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>So after 6 months of work I released kdesrc-build 1.14 with quite a few changes/fixes. 4 days later I released <a href="http://kdesrc-build.kde.org/releases/kdesrc-build-1.14.1.php">1.14.1</a> (mostly to help mitigate an effect of a change in 1.14 which I&#8217;ll cover at the end). Without further ado, I&#8217;ll list some of the important changes.</p>
<ul>
<li>You&#8217;ve probably already noticed, but the &#8220;qt-kde&#8221; module on git.kde.org is no more, and has been moved to be &#8220;qt&#8221;, a simple clone of Nokia&#8217;s Qt 4.8 (and prior) codebase (there&#8217;s no mirror of the upcoming even-more-split Qt 5 in development yet). What this means for kdesrc-build users is that they need to adjust their qt-copy module. Unfortunately the module used to build Qt must still be called qt-copy to avoid breaking things.</li>
<li>
<p>The on-disk layout for source and build directories for modules that come from the KDE project database (i.e. <code>repository kde-projects</code>) has changed. Now the destination directory uses the same path that is present in the hierarchy on projects.kde.org. As an example, kdelibs would be in $src-or-builddir/kde/kdelibs, kdesrc-build would be in $src-or-builddir/extragear/utils/kdesrc-build, etc. This should make it easier to manage the increased number of modules resulting from the move to git.kde.org.</p>
<ul>
<li>To make this easier, kdesrc-build will move your old source and build directories (if they&#8217;re detected) when this happens, so you shouldn&#8217;t have to waste all your bandwidth or spend an inordinate amount of time rebuilding modules.</li>
<li>One problem that was noted with this new arrangement is that it&#8217;s possible to have git checkouts nested in other git checkouts (for instance, konsole fits in kde/kde-baseapps, but kde-baseapps is a separate git module). This is not a problem by itself, but can interfere with older checkouts of kde-baseapps. So 1.14.1 introduced the ability to delete existing source directories if they would be in the way of a git-clone. You must pass <code><em>--delete-my-patches</em></code> to enable this due to the obvious hazard of losing uncommitted work.</li>
</ul>
</li>
<li>A manpage was added, which might prove useful if you don&#8217;t have a web browser handy, Internet connection to docs.kde.org, etc. The catch is that the manpage is generated using the KDE docs infrastructure from kdelibs, which might not be present yet when you first run kdesrc-build! ;) Don&#8217;t forget to have your <tt>MANPATH</tt> set to include your KDE <tt>man</tt> directory.</li>
<li>As pointed out in an email by Aaron Seigo to kde-buildsystem some time ago, it really could be easier to setup kdesrc-build on initial run. To that end, a script called <code>kdesrc-build-setup</code> is included. It&#8217;s generated config is *very* simplistic at this point but it&#8217;s better than what was there before. To allow for bootstrapping a GUI without having KDE installed the setup script uses the console just like kdesrc-build.</li>
<li>kdesrc-build makes the <tt>kde:</tt> Git alias (which is <a href="http://community.kde.org/Sysadmin/GitKdeOrgManual#Let_Git_rewrite_URL_prefixes">recommended by git.kde.org</a> admins) available if you haven&#8217;t set it up yet.</li>
<li>The use of git snapshots is supported for git-clone now, but only for modules from the KDE project database. My understanding is that this should save CPU load on the git.kde.org infrastructure (although not much in the way of bandwidth). Resuming of aborted downloads is not supported yet unfortunately. If this causes problems use <tt>‑‑no‑snapshots</tt> to disable (as of 1.14.1, where that option works again&#8230;).</li>
<li>You can include other files in your configuration file, for those who actually use the kdesrc-build feature supporting different configurations depending on what your current directory is.</li>
<li>
<p>As a final excerpt, it is possible to ask for all modules <em>under</em> a given KDE project module to be built. This is actually required for kdegraphics (at least when I implemented this) since kdegraphics supports a SuperBuild-style repository which will check out all of its dependent submodules and build it for you. You can also build the submodules individually, so to keep people from accidentally building them both the kdegraphic base repo is marked as inactive in the database which prevents automated tools (including kdesrc-build) from processing it.</p>
<p>By using something like:</p>
<pre>module-set graphics
    repository kde-projects
    use-modules kdegraphics/libs kdegraphics/*
end module-set</pre>
<p>you can for kdesrc-build to build all &#8220;active&#8221; modules under kdegraphics, even if kdegraphics is itself marked inactive. (The <code>kdegraphics/libs</code> part is to force kdesrc-build to build that first, kdesrc-build will skip duplicate modules so you don&#8217;t need to worrk about <code>kdegraphics/*</code> trying to build <code>/libs</code> twice).</p>
</li>
<li>There&#8217;s actually a few more minor things but this post is already too long!</li>
</ul>
<p>There&#8217;s fewer &#8220;pure bugfixes&#8221; than I expected, but environment variable handling support is improved somewhat, and the KDE project database is actually downloaded in pretend mode when it&#8217;s needed (just like the prompt had been saying was happening&#8230;).</p>
<p>There has been a fairly substantial refactoring/code reorganization to get to this point. The test suite does pass, but if you&#8217;re a heavy user of the <code>kde-languages</code> option you may want to wait until I&#8217;ve verified that the l10n building still works (unfortunately cloning such modules makes testing that option more difficult than I&#8217;d like).</p>
<p>Other than that I hope you all will be happy with the capabilities of <a href="http://kdesrc-build.kde.org/releases/kdesrc-build-1.14.1.php">the latest version</a>. I&#8217;ll try to release more frequently than every 6 months in the future, that might be a bit easier to achieve at my new duty station near Washington, DC.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/09/22/2-new-kdesrc-build-releases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop Summit 2011</title>
		<link>http://www.purinchu.net/wp/2011/08/06/desktop-summit-2011/</link>
		<comments>http://www.purinchu.net/wp/2011/08/06/desktop-summit-2011/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 14:19:22 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[desktop summit]]></category>
		<category><![CDATA[juk]]></category>
		<category><![CDATA[kdesrc-build]]></category>
		<category><![CDATA[kshareddatacache]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=698</guid>
		<description><![CDATA[For what seems like the umpteenth year in a row, events have conspired to prevent my attending Desktop Summit/Akademy. :( However, I did want to pass on my well-wishes for a successful summit, and hopefully some constructive interaction with our GNOME counterparts and other guests. As for myself, work on KDE things has been slow [...]]]></description>
			<content:encoded><![CDATA[<p>For what seems like the umpteenth year in a row, events have conspired to prevent my attending Desktop Summit/Akademy. :( However, I did want to pass on my well-wishes for a successful summit, and hopefully some constructive interaction with our GNOME counterparts and other guests.</p>
<p>As for myself, work on KDE things has been slow of late, for the usual reasons: School, Work, and Kids/Family.</p>
<p>Even with that however, I&#8217;ve been reviewing a submitted patch for KSharedDataCache to add support for Mac OS X Lion, many JuK fixes have been contributed for KDE&#8217;s 4.7 compilation, and I have managed to get kdesrc-build into a more modular source code layout, which will allow me to eventually do things like decouple support for compiling Qt from the specific module name &#8216;qt-copy&#8217;, add support for other buildsystems for some KDE dependencies (e.g. autogen.sh-based) and more.</p>
<p>Luckily school will be over soon (perhaps for good, this time). I will also be moving to a different work location soon which may give me more time on an average day (though that is still to be determined!). Either way I&#8217;ll be continuing to plug along, even if I can&#8217;t meet up with everyone once a year!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/08/06/desktop-summit-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good job Aaron</title>
		<link>http://www.purinchu.net/wp/2011/05/07/good-job-aaron/</link>
		<comments>http://www.purinchu.net/wp/2011/05/07/good-job-aaron/#comments</comments>
		<pubDate>Sat, 07 May 2011 23:02:11 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[Computing Troubles]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[bug 258706]]></category>
		<category><![CDATA[evil bugs]]></category>
		<category><![CDATA[plasma]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=694</guid>
		<description><![CDATA[243 votes. 61 duplicated bugs (as of this post). 21 backtraces submitted as attachments. 5 months of troubleshooting. 1 detailed Valgrind log. And now, Aaron Seigo has figured out and fixed Bug 258706, a crash in Plasma related to the system tray (often but not always with Amarok). The problem? In basic terms, a QIcon [...]]]></description>
			<content:encoded><![CDATA[<p>243 votes. 61 duplicated bugs (as of this post). 21 backtraces submitted as attachments. 5 months of troubleshooting. 1 detailed Valgrind log. And now, Aaron Seigo has <a href="http://commits.kde.org/kdelibs/a8d16682c31ef523ffebba6e19283a19cd5f5627">figured out and fixed</a> <a href="https://bugs.kde.org/show_bug.cgi?id=258706">Bug 258706</a>, a crash in Plasma related to the system tray (often but not always with Amarok).</p>
<p>The problem? In basic terms, a QIcon was able to outlive the custom KIconLoader that was used to actually load the QIcon&#8217;s pixmap. It&#8217;s hard to properly share the underlying KIconLoader without breaking compatibility, but it&#8217;s not hard to figure out when the KIconLoader is deleted by using QWeakPointer. So, Aaron&#8217;s fix uses QWeakPointer to always have an up-to-date status of the KIconLoader used, and gives a fallback pixmap if the KIconLoader was deleted before the QIcon loaded the pixmap it needed.</p>
<p>If you&#8217;ve been hitting this bug, the fix will be in KDE Platform 4.6.4, although maybe your packagers will re-spin 4.6.3 packages to include this fix (hint hint ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/05/07/good-job-aaron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reminder of 4.7 soft feature freeze</title>
		<link>http://www.purinchu.net/wp/2011/04/26/reminder-of-4-7-soft-feature-freeze/</link>
		<comments>http://www.purinchu.net/wp/2011/04/26/reminder-of-4-7-soft-feature-freeze/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 01:48:32 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=690</guid>
		<description><![CDATA[Just as a heads-up for KDE developers, the current release plan for KDE SC 4.7 has Thursday 28 April as the deadline to have desired features added to the 4.7 Feature Plan, otherwise they have to wait for the next release. On the note, if you&#8217;ve implemented features for 4.7 already don&#8217;t forget to update [...]]]></description>
			<content:encoded><![CDATA[<p>Just as a heads-up for KDE developers, the current <a href="http://techbase.kde.org/Schedules/KDE4/4.7_Release_Schedule">release plan for KDE SC 4.7</a> has Thursday 28 April as the deadline to have desired features added to the <a href="http://techbase.kde.org/Schedules/KDE4/4.7_Feature_Plan">4.7 Feature Plan</a>, otherwise they have to wait for the next release.</p>
<p>On the note, if you&#8217;ve implemented features for 4.7 already don&#8217;t forget to update the Feature Plan!</p>
<p>Now that I have my call for administrivia out of the way feel free to get back to your normally scheduled activities. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/04/26/reminder-of-4-7-soft-feature-freeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kdesrc-build 1.13</title>
		<link>http://www.purinchu.net/wp/2011/02/28/kdesrc-build-1-13/</link>
		<comments>http://www.purinchu.net/wp/2011/02/28/kdesrc-build-1-13/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 05:23:46 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[kdesrc-build]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=681</guid>
		<description><![CDATA[I&#8217;m too tired to go too deep into the changes in the kdesrc-build 1.13 release, but the largest is that module data from projects.kde.org can now be used to build git modules. Obviously kdesrc-build was already perfectly capable of finding git modules, so this isn&#8217;t very useful if you&#8217;re already building everything you want to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m too tired to go too deep into the changes in the kdesrc-build <a href="http://kdesrc-build.kde.org/releases/kdesrc-build-1.13.php">1.13 release</a>, but the largest is that module data from projects.kde.org can now be used to build git modules.</p>
<p>Obviously kdesrc-build was already perfectly capable of finding git modules, so this isn&#8217;t very useful if you&#8217;re already building everything you want to be building. However, what the module database gives you is categorization and grouping (without git submodules, which kdesrc-build doesn&#8217;t support at all yet). e.g. if in theory you asked for extragear/graphics, which is not a real git module, kdesrc-build would figure out you wanted Digikam, kipi-plugins, Skanlite, and KGraphViewer.</p>
<p>The larger the groupings become, the more useful this feature becomes. There are many other minor fixes/changes/bugfixes to go with it (including the first release of a test suite, although it is still pitifully small). As always, please let me know if I&#8217;ve messed something up!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/02/28/kdesrc-build-1-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Library dependencies</title>
		<link>http://www.purinchu.net/wp/2011/02/21/library-dependencies/</link>
		<comments>http://www.purinchu.net/wp/2011/02/21/library-dependencies/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 00:57:58 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Useful Tricks]]></category>
		<category><![CDATA[elflibviewer]]></category>
		<category><![CDATA[me too]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=678</guid>
		<description><![CDATA[I noticed someone encountered an issue with trying to find out what library is introducing dependencies into their program, and didn&#8217;t immediately think of a tool I&#8217;d written to do that, so obviously I am not &#8220;marketing&#8221; effectively. ;) I wouldn&#8217;t bother trying to ride Robin&#8217;s coattails except that some of the issues he notes [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed someone encountered an issue with trying to find out <a href="http://blog.rburchell.com/2011/02/daily-hack-library-dependency-trees.html">what library is introducing dependencies into their program</a>, and didn&#8217;t immediately think of a tool I&#8217;d written to do that, so <i>obviously</i> I am not &#8220;marketing&#8221; effectively. ;)</p>
<p>I wouldn&#8217;t bother trying to ride Robin&#8217;s coattails except that some of the issues he notes (repeated dependencies, search paths) should be implemented already in mine. Oh, and mine is GUI driven in case you&#8217;re of that persuasion (not that there&#8217;s anything wrong with CLI!)</p>
<p>Without further ado, <a href="/software/elflibviewer.php">ELF Library Viewer</a>:</p>
<p><center><img src="/software/elflibviewer.png" width="548" height="573" alt="Screenshot of ELF Library Viewer"/></center></p>
<p>Please go easy on the screenshot, it&#8217;s been unchanged for a couple of years now. I&#8217;ve only just now confirmed that it even still builds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2011/02/21/library-dependencies/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Everyone is moving to git.kde.org</title>
		<link>http://www.purinchu.net/wp/2010/12/07/everyone-is-moving-to-git-kde-org/</link>
		<comments>http://www.purinchu.net/wp/2010/12/07/everyone-is-moving-to-git-kde-org/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 05:55:42 +0000</pubDate>
		<dc:creator>mpyne</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[kdesvn-build]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[kdesrc-build]]></category>
		<category><![CDATA[module-set]]></category>

		<guid isPermaLink="false">http://www.purinchu.net/wp/?p=670</guid>
		<description><![CDATA[Except me that is&#8230; but only due to lack of rule-writing time. But in the meantime, I&#8217;ve written some code to allow you to at least quickly declare KDE git modules to build. I&#8217;ve just committed it to trunk kdesrc-build (in kdesdk/scripts). This feature adds two options: git-repository-base, which declares an alias name for a [...]]]></description>
			<content:encoded><![CDATA[<p>Except me that is&#8230; but only due to lack of rule-writing time.</p>
<p>But in the meantime, I&#8217;ve written some code to allow you to at least quickly declare KDE git modules to build. I&#8217;ve just committed it to trunk kdesrc-build (in kdesdk/scripts). This feature adds two options:</p>
<ol>
<li>git-repository-base, which declares an alias name for a new git repository, and assigns it a URL. This is needed for a concept I&#8217;m calling &#8220;module-set&#8221; for now.</li>
<li>use-modules, which is used in a given module-set to name the git modules that you want to build at that point in the .kdesrc-buildrc, in order.</li>
</ol>
<p>Simple example:</p>
<p><code>global<br />
...<br />
   git-repository-base kde-git git://anongit.kde.org/<br />
end global</p>
<p>module qt-copy<br />
...<br />
end module</p>
<p>module-set kde-git # Note this is not the name of the module-set, but the repo to use<br />
    # 5 git module declarations in one line...<br />
    use-modules automoc attica soprano cagibi akonadi<br />
end module-set</p>
<p># Need to set options for attica? Just declare it manually and set the options after the<br />
# module-set. It still gets built before soprano though.<br />
module attica<br />
    cmake-options ....<br />
end module</code></p>
<p>Hopefully this makes managing the large numbers of individual git projects that are popping up much more reasonable. Another long-term measure is that some motivated git-transition types are working on a module-grouping XML format, which will be usable by kdesrc-build (among other software) to quickly group related git modules under a single name.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purinchu.net/wp/2010/12/07/everyone-is-moving-to-git-kde-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
