<?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>Straight from tha bloK &#187; Planet Gentoo</title>
	<atom:link href="http://blogs.gentoo.org/tampakrap/category/planets/planet-gentoo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gentoo.org/tampakrap</link>
	<description>cache rulez everything around me</description>
	<lastBuildDate>Tue, 31 Jan 2012 22:34:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>qting-edge overlay moved to qt</title>
		<link>http://blogs.gentoo.org/tampakrap/qting-edge-overlay-moved-to-qt/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/qting-edge-overlay-moved-to-qt/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 22:24:16 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet KDE]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=726</guid>
		<description><![CDATA[As discussed in the last Gentoo Qt meeting, we moved our overlay from gitorious to git.overlays.gentoo.org. This is going to be the final move, I promise Along with that, we decided to change the overlay from qting-edge to just qt. Layman list is alreay updated, so if you still have the old one, you should [...]]]></description>
			<content:encoded><![CDATA[<p>As discussed in the last Gentoo Qt meeting, we moved our overlay from gitorious to git.overlays.gentoo.org. This is going to be the final move, I promise <img src='http://blogs.gentoo.org/tampakrap/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Along with that, we decided to change the overlay from qting-edge to just qt. Layman list is alreay updated, so if you still have the old one, you should remove it and add the new one:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># layman -f</span>
<span style="color: #666666; font-style: italic;"># layman -d qting-edge</span>
<span style="color: #666666; font-style: italic;"># layman -a qt</span></pre></div></div>

<p>Keep in mind that this overlay contains mostly live ebuilds of Qt (branches 4.7 and master), so make sure that you really need it before blindly adding it (the same applies for the kde overlay). Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/qting-edge-overlay-moved-to-qt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo Qt Team January 2012 meeting</title>
		<link>http://blogs.gentoo.org/tampakrap/gentoo-qt-team-january-2012-meeting/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/gentoo-qt-team-january-2012-meeting/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 19:18:53 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet KDE]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=724</guid>
		<description><![CDATA[1. Roll call johu, hwoarang, pesa, tampakrap, wired 2. Qt 4.8 * cairo fails to build, patched ebuild available in qting-edge, #380013 Cairo build issue is fixed in qting-edge overlay, will be moved together with Qt 4.8.0 to tree. * qt now defaults to the raster graphicssystem, we should remove raster USE flag, #398283 Wired [...]]]></description>
			<content:encoded><![CDATA[<p><b>1. Roll call</b></p>
<p>johu, hwoarang, pesa, tampakrap, wired</p>
<p><b>2. Qt 4.8</b></p>
<p><i>* cairo fails to build, patched ebuild available in qting-edge, #<a href="https://bugs.gentoo.org/show_bug.cgi?id=380013">380013</a></i></p>
<p>Cairo build issue is fixed in qting-edge overlay, will be moved together with Qt 4.8.0 to tree.</p>
<p><i>* qt now defaults to the raster graphicssystem, we should remove raster USE flag, #<a href="https://bugs.gentoo.org/show_bug.cgi?id=398283">398283</a></i></p>
<p>Wired created a eselect module to choose the Qt graphicsystem. Raster is default, other selectable are opengl, openvg and native. Raster use flag is not needed anymore, qt-gui depends on the new eselect module.</p>
<p><i>* do we really want to keep qpa USE flag?</i></p>
<p>qpa and c++0x will be masked in tree.</p>
<p><i>* are we going to fix #<a href="https://bugs.gentoo.org/show_bug.cgi?id=363939">363939</a> for 4.8?</i></p>
<p>Wired fixed this bug in qt 4.8.0. Qt 4.8 will be moved to tree on next weekend. Dilfridge prepares kde-base/kstyles-4.7.4 to be rebuild together with Qt 4.8.0 to prevent crashes in KDE apps with Oxygen style.</p>
<p><b>3. Minor arches and Qt &gt;= 4.7</b></p>
<p>Upstream supports official amd64, arm and x86, but other arches also considered in configure script. Keep stable keywords for minor arches in Qt 4.6. Wait for minor arches arm, ppc, ppc64 in current stabilization in Qt 4.7.4. Drop sparc keywords in Qt 4.8.0.</p>
<p><b>4. Overlay migration to git.overlays.gentoo.org</b></p>
<p>Tampakrap will set up overlay on git.overlays.gentoo.org on next weekend. The new overlay will be renamed to qt instead of qting-edge.</p>
<p><b>5. Open bugs</b></p>
<p><i>* #<a href="https://bugs.gentoo.org/show_bug.cgi?id=398885">398885</a> qdoc3 broken on arm</i></p>
<p>We will ask the reporter if it works when he builds manually by providing him a configure command to make sure he tries the proper build.</p>
<p><i>* #<a href="https://bugs.gentoo.org/show_bug.cgi?id=394533">394533</a> Libreoffice crashes in qt on exit</i></p>
<p>Can&#8217;t be reproduced with Libreoffice 3.5.0.1, seems to be resolved by upstream.</p>
<p><i>* #<a href="https://bugs.gentoo.org/show_bug.cgi?id=392433">392433</a> desktop file name issues</i></p>
<p>Will be fixed in Qt 4.8.0, so that qt-gui and qt-assistant no longer pass absolute paths to make_desktop_entry().</p>
<p><i>* #<a href="https://bugs.gentoo.org/show_bug.cgi?id=388551">388551</a> qt-gui[gtkstyle] should depend on gnome-base/libgnomeui-2</i></p>
<p>We will add a elog message in qt-gui[gtkstyle] saying that for things to work you either need libgnomeui or that variable set properly in your env.</p>
<p><i>* #<a href="https://bugs.gentoo.org/show_bug.cgi?id=382559">382559</a> qt_mkspecs_dir() returns bad spec directory</i></p>
<p>The bug will be marked as RESOLVED WORKSFORME, because we can&#8217;t reproduce it. Additionally we change the eclass not to use LIBDIR in favor of get_libdir() after Qt 4.8 hits the portage tree.</p>
<p><i>* #<a href="https://bugs.gentoo.org/show_bug.cgi?id=359391">359391</a> qt4-build.eclass should check for —buildpkgonly before downgrade sanity check</i></p>
<p>Resolution will be RESOLVED WONTFIX. Sanity check is there for a reason. It&#8217;s not a matter of source or binary downgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/gentoo-qt-team-january-2012-meeting/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gentoo KDE Team January 2012 meeting</title>
		<link>http://blogs.gentoo.org/tampakrap/gentoo-kde-team-january-2012-meeting/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/gentoo-kde-team-january-2012-meeting/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 15:52:03 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet KDE]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[fosdem]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=720</guid>
		<description><![CDATA[1) Roll call alexxy, jmbsvicetto, dilfridge, johu, mschiff, tampakrap, Thev00d00 2) Electing a new team leader Since one year is not over yet, it will be skipped for the next meeting. 3) What shall we do with kdepim-4.4 KDEPIM 4.4 is not supported any more by upstream, but on the other hand KDEPIM2 is still [...]]]></description>
			<content:encoded><![CDATA[<p><b>1) Roll call</b></p>
<p>alexxy, jmbsvicetto, dilfridge, johu, mschiff, tampakrap, Thev00d00</p>
<p><b>2) Electing a new team leader</b></p>
<p>Since one year is not over yet, it will be skipped for the next meeting.</p>
<p><b>3) What shall we do with kdepim-4.4</b></p>
<p>KDEPIM 4.4 is not supported any more by upstream, but on the other hand KDEPIM2 is still too buggy. We had a discussion if we should remove it completely or if we should continue maintain it, despite the compatibility bugs that started to emerge with newer KDE versions. Final decision is that we will continue support it as long it works with newer KDE SC releases. We&#8217;ll keep the kdepim-l10n split package to provide the translations for it.</p>
<p><b>4) kdeenablefinal revisited</b></p>
<p>Since upstream doesn&#8217;t seem to care about it much, plus it doesn&#8217;t make much sense now that there are many split tarballs, we decided to remove it the next day after the meeting.</p>
<p><b>5) phonon-xine removal</b></p>
<p>KDE upstream acknowledged that this is not maintained anymore. It&#8217;s already masked since 2011/12/01. Will be last rited and removed 15 days afterwards.</p>
<p><b>6) Qt 4.8</b></p>
<p>We expect no big issues with it. Kdenlive is the only known application that does not build at the moment and will be patched. kde-base/kstyles-4.7.* needs to be rebuilt after the upgrade, which we&#8217;ll solve with a combination of revbump/dependencies (otherwise KDE apps using oxygen style crash).</p>
<p><b>7) Dropping RPATH from installed binaries</b></p>
<p>Postponed for next meeting, need more info from reavertm and/or hardened herd.</p>
<p><b> <img src='http://blogs.gentoo.org/tampakrap/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> To eselect Boost or not to eselect boost</b></p>
<p>No final decision was taken, discussion will be moved to -dev mailing list.</p>
<p><b>9) Bugs</b></p>
<p><b>* dev-util/cmake picks always the latest boost.</b><b>&nbsp;Fix in overlay since 13. Dec. Move to tree?&nbsp;</b><a href="https://bugs.gentoo.org/show_bug.cgi?id=335108">https://bugs.gentoo.org/show_bug.cgi?id=335108</a></p>
<p>see 8.</p>
<p><b>* cmake-utils.eclass PREFIX is not defined, any progress?</b> <a href="https://bugs.gentoo.org/show_bug.cgi?id=335108">https://bugs.gentoo.org/show_bug.cgi?id=358059</a></p>
<p>Postponed for next meeting</p>
<p><b>* Remove hard dep on media-libs/phonon from kde-base/kdelibs</b> <a href="https://bugs.gentoo.org/show_bug.cgi?id=356681">https://bugs.gentoo.org/show_bug.cgi?id=356681</a> <a href="https://bugs.gentoo.org/show_bug.cgi?id=388041">https://bugs.gentoo.org/show_bug.cgi?id=388041</a></p>
<p>Although it is possible to build kdelibs against qt-phonon, it is not recommended by upstream. Decision postponed for next meeting.</p>
<p><b>* Eclass problem with handbook without LINGUAS.</b> <a href="https://bugs.gentoo.org/show_bug.cgi?id=372457">https://bugs.gentoo.org/show_bug.cgi?id=372457</a></p>
<p>Needs more analysis. Postponed.</p>
<p><b>* MacOSX request for cmake-utils.eclass: Remove force of &nbsp;CMAKE_BUILD_WITH_INSTALL_RPATH=TRUE</b> <a href="https://bugs.gentoo.org/show_bug.cgi?id=398437">https://bugs.gentoo.org/show_bug.cgi?id=398437</a></p>
<p>That was a request by the Gentoo Prefix team, and got accepted</p>
<p><b>* Revise the change &#8220;semantic-desktop? -&gt; semantic-desktop=&#8221;. Why was the change needed.</b> <a href="https://bugs.gentoo.org/show_bug.cgi?id=396491">https://bugs.gentoo.org/show_bug.cgi?id=396491</a></p>
<p>We had split opinions on this. Skipped for next meeting, as we need reavertm&#8217;s input on this.</p>
<p><b>10) Open floor</b></p>
</p>
<ul>
<li>Tampakrap will make a KDE SC 4.8 release party in Prague, more info coming soon.</li>
<li>Qt meeting on Thursday 26th Jan.</li>
<li>See you at fosdem <img src='http://blogs.gentoo.org/tampakrap/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<div style="text-align: right;"><i>Meeting Log can be found <a href="http://www.gentoo.org/proj/en/desktop/kde/meeting-logs/kde-project-meeting-log-20120116.txt">here</a></i></div>
<div style="text-align: center;"><a href="http://www.fosdem.org"><img src="http://www.fosdem.org/promo/going-to" alt="I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting"></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/gentoo-kde-team-january-2012-meeting/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Okupy &#8211; Final Report</title>
		<link>http://blogs.gentoo.org/tampakrap/okupy-final-report/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/okupy-final-report/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 19:34:39 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[okupy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=718</guid>
		<description><![CDATA[Intro: Okupy is a Django CMS, with a full LDAP frontend, XML to HTML (and the opposite) converter and a WYSIWYG editor, Beacon, to edit the XML files. Ultimate goal is to fully replace current Gentoo website, and Gorg, the web server that does the XML to HTML convertion currently. In the future I&#8217;d like [...]]]></description>
			<content:encoded><![CDATA[<p>Intro:</p>
<p>Okupy is a Django CMS, with a full LDAP frontend, XML to HTML (and the opposite) converter and a WYSIWYG editor, Beacon, to edit the XML files. Ultimate goal is to fully replace current Gentoo website, and Gorg, the web server that does the XML to HTML convertion currently. In the future I&#8217;d like to see more gentoo websites being provided by Okupy.</p>
<p>Summary:</p>
<p>The application has a fully working and fully configurable LDAP backend. It can work with any LDAP configuration file, but it will need accordingly some setup in Okupy&#8217;s settings files. It currently supports:</p>
<ul>
<li>Creation of a new user, which means that the Gentoo LDAP server can now be enabled for non-developers</li>
<li>Log in of current users, using any of their verified emails</li>
<li>Adding new email, along with email verification</li>
<li>Password reset</li>
<li>View someone&#8217;s account data (based on the privileges, the according attributes will show up)</li>
<li>Edit own account data (again, based on privileges, the according attributes will be available for editing)</li>
<li>An addressbook</li>
</ul>
<p>In order to support all users and not only developers, I had to do some internal infra discussions about which OU will be used for them. Plus, a few new values were needed for the GentooAccess attribute, such as user.group, docs.group and other privileged groups. Most LDAP backends were using an administrator account for performing both queries and changes in the data, which could easily lead to a security issue. This problem was solved by using a secondary password for the user, which is encrypted and stored in the session variable. The secondary password is available for only one session, and gets destroyed by using itself. Django uses a database to store users, but it also supports other backends for the authentication part. When the user logs in for the first time, the data gets transfered in the database, which is a significant time improvement. Anonymous common LDAP Queries are performed either by using a minimal privileged (anon) account, or they should be available to anyone (which could lead to a security issue). I used some wrappers to cover that easily. The administrator can use a lot of options in the settings files, to cover the ACL part, the initial user creation and many other aspects.</p>
<p>As I said in my previous post,&nbsp;Beacon didn&#8217;t work out as expected. It became too complex, consisting of lots of JS and XSLT, for reading the XML files and printing them. It even stores accounts in its own DB to keep track of the documents that users edit. This was way out of our needs, we just need the WYSIWYG part only and plug it in in a separate web app. Obviously in its current state it is not a workable solution without significant additional effort. I tried to split some parts of its code, like the python scripts for converting XML to HTML and the opposite, but the time was not sufficient.</p>
<p>The future:</p>
<p>I am really happy to have such an interesting pet project now. I created an ebuild in my personal overlay, and an alias (okupy at gentoo dot org) to easily contact me for future issues. I plan to make it more accessible to some people soon, but not before Robin ACKs it first, since the LDAP server he gave me for testing is full of real data. I don&#8217;t feel very confident on working with that, and I&#8217;ll possibly request an empty one.</p>
<p>Before implementing, it will need too much work. Most importantly, people familiar with Web Design are very welcome to help on this. If we are going to redesign the current gentoo.org website, it is a huge step that has to be done very carefully. The LDAP part although finished will need too much testing, in order to assure we are not opening any security holes here. As for the Beacon part, it will need better approach, and most of the work has to be done upstream, which is what I intend to do from now on. It should become a single JS WYSIWYG editor that we should be able to plug in directly, since it currently is a full web application, which is using its own DB to store users and documents.</p>
<p>If you are interested in testing it, please contact me directly for now. The installation is not very easy at the moment, due to the need of both a database and an LDAP server, but it can work with minimal configuration for development purposes. I also added some config files in a separate branch for that reason.</p>
<p>Many thanks to my mentor, Matthew Summers, my co-mentor Robin Johnson, and the Gentoo GSoC admin Donnie Berkholz for all their help and support. Also, special thanks to Ben Cooksley, KDE Sysadmin, for his precious suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/okupy-final-report/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>KDE SC 4.7 Release Party in Thessaloniki, Greece</title>
		<link>http://blogs.gentoo.org/tampakrap/kde-sc-4-7-release-party-in-thessaloniki-greece/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/kde-sc-4-7-release-party-in-thessaloniki-greece/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 15:57:51 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet KDE]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gentoo-el]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[release party]]></category>
		<category><![CDATA[thessaloniki]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=713</guid>
		<description><![CDATA[Come celebrate with us the new releae of the graphical interface KDE SC 4.7&#160;on Friday, 19 August at 21:00 in Thessaloniki at Dolly&#8217;s (Map, KDE Community Wiki). We&#8217;re going to: Nerdy chit chat Distribute KDE SC 4.7 LiveCDs, stickers, pins Eat the Kake (KDE Cake) Drink beers Discuss about creating a greek KDE community Lottery!! [...]]]></description>
			<content:encoded><![CDATA[<p>Come celebrate with us the new releae of the graphical interface KDE SC 4.7&nbsp;on Friday, 19 August at 21:00 in Thessaloniki at Dolly&#8217;s (<a href="http://maps.google.com/maps/ms?msid=207920159064068657740.0004a8e88a55800103306&amp;msa=0&amp;ll=40.6262,22.951813&amp;spn=0.07296,0.154324">Map</a>, <a href="http://community.kde.org/Promo/Events/Release_Parties/4.7#Thessaloniki">KDE Community Wiki</a>).</p>
<p>We&#8217;re going to:</p>
<ul>
<li>Nerdy chit chat</li>
<li>Distribute KDE SC 4.7 LiveCDs, stickers, pins</li>
<li>Eat the Kake (KDE Cake)</li>
<li>Drink beers</li>
<li>Discuss about creating a greek KDE community</li>
<li>Lottery!! (Prizes include T-Shirts and USB sticks)</li>
</ul>
<p>And of course&#8230; Have lots of fun!!!</p>
<p style="text-align: center;"><a href="http://www.gentoo-el.org/sites/default/files/gallery_assist/2/gallery_assist56/kde47party.jpg"><img src="http://www.gentoo-el.org/sites/default/files/gallery_assist/2/gallery_assist56/prev/kde47party.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/kde-sc-4-7-release-party-in-thessaloniki-greece/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Okupy &#8211; Report #7</title>
		<link>http://blogs.gentoo.org/tampakrap/okupy-report-7/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/okupy-report-7/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 19:36:35 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[okupy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=711</guid>
		<description><![CDATA[Quick summary: I&#8217;m writing a CMS for the Gentoo website, that will offer an LDAP web interface, plus it will replace Gorg and provide Beacon as WYSIWYG editor to edit the XML file There were some serious bugs in the edit account page. The ACL is very complex there, since there are public attributes (accessed [...]]]></description>
			<content:encoded><![CDATA[<p>Quick summary:</p>
<p>I&#8217;m writing a CMS for the Gentoo website, that will offer an LDAP web interface, plus it will replace Gorg and provide Beacon as WYSIWYG editor to edit the XML file</p>
<p>There were some serious bugs in the edit account page. The ACL is very complex there, since there are public attributes (accessed by everyone), semi-private attributes (accessed by the user only and the admins (eg. birthday)), and private ones (accessed only by admins). Keep in mind that everything is configurable, but there is some duplication between the Django and LDAP ACL, since there is no easy way to parse the LDAP slapd.conf yet, we need to migrate our infra to cn=config first, which is a not easy long term task. The bug was not in the LDAP part, remember that the user changes his/others&#8217; (in case he has the right privs) attributes with his own account, not by using a global admin account. The bug was in the Django part, where the system expected to be able to change some data, and weird error messages/exceptions were thrown out. Unfortunately this is not complete yet, it needs more investigation in order to ensure we are not opening any security holes here. The good news is that I tested with our current official configuration, and various tweaks on it, and seems to perform fine. Plus, it seems ready for the improvements I intend to do (for adding regular users in LDAP etc).</p>
<p>I was also able to plug in some CSS/JS written by my mentor. It is just some preliminary work, nothing complete yet, we&#8217;ll need more help on this, especially from people with some experience in web design stuff.</p>
<p>Beacon didn&#8217;t work out as expected. It became too complex, consisting of lots of JS and XSLT, for reading the XML files and printing them. It even stores accounts in its own DB to keep track of the documents that users edit. This was way out of our needs, we just need the WYSIWYG part only and plug it in in a separate web app. Obviously in its current state it is not a workable solution without significant additional effort. What we could do for now is to split some parts of its code, like the python scripts for converting XML to HTML and the opposite, which is also not an easy task.</p>
<p>I must admit that I am really happy that the GSoC is coming to its end, and the real fun begins <img src='http://blogs.gentoo.org/tampakrap/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/okupy-report-7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bash on Balls</title>
		<link>http://blogs.gentoo.org/tampakrap/bash-on-balls/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/bash-on-balls/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 11:28:04 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=708</guid>
		<description><![CDATA[Yey! Finally, a web framework written in bash! Brilliant idea, along with a clever selection of words for its name! This is the description according to its authors: This is a fully-featured web platform for everyone&#8217;s favorite scripting language: bash. Because, you know, we can.Written using ADD (API driven development) While it is really cool [...]]]></description>
			<content:encoded><![CDATA[<p>Yey! Finally, <a href="https://github.com/jayferd/balls">a web framework written in bash</a>! Brilliant idea, along with a clever selection of words for its name! This is the description according to its authors:</p>
<p><i>This is a fully-featured web platform for everyone&#8217;s favorite scripting language: bash. Because, you know, we can.</i><br /><i>Written using ADD (API driven development)</i></p>
<p>While it is really cool and funny, the project is still taking its first steps, which means no documentation yet (at least there is a <a href="https://github.com/jayferd/balls/issues/2">ticket</a> for it though). I&#8217;ve also added a <a href="http://gitweb.gentoo-el.org/?p=ebuilds.git;a=tree;f=dev-bash/balls;h=a35a466fdb51807b1c9f1d28c408840255b07df1;hb=HEAD">live ebuild</a> in my overlay (gentoo-el in layman). Time to leave behind your favorite python/ruby/php framework. Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/bash-on-balls/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>KDE development environment in Gentoo</title>
		<link>http://blogs.gentoo.org/tampakrap/kde-development-environment-in-gentoo/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/kde-development-environment-in-gentoo/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 17:02:47 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet KDE]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[akademy]]></category>
		<category><![CDATA[akregator]]></category>
		<category><![CDATA[amarok]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[choqok]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[kaffeine]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=687</guid>
		<description><![CDATA[Introduction As a KDE packager, I usually have to write and test patches, especially build system related (Examples: Choqok, Amarok, Plasma and happy KStatusNotifierItem&#8217;d Akregator and Kaffeine, they don&#8217;t look ancient any more ). Gentoo, as a source based distro, has the ability to provide packages that clone/checkout the source from upstream&#8217;s SCM and compile [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><b><span class="Apple-style-span" style="font-size: x-large;">Introduction</span></b></p>
<p>As a KDE packager, I usually have to write and test patches, especially build system related (Examples: <a href="https://projects.kde.org/projects/extragear/network/choqok/repository/revisions/cc7199008dea3a8076471dc6e416fc10a8ae34e3">Choqok</a>, <a href="https://projects.kde.org/projects/extragear/multimedia/amarok/repository/revisions/8df0197616a3db7d661cb3556f87330dfa024a71/diff/src/CMakeLists.txt">Amarok</a>, Plasma and happy KStatusNotifierItem&#8217;d <a href="https://projects.kde.org/projects/kde/kdepim/repository/revisions/a014b9a20d1bc7c1f345ed5f449d422e47eedc7c">Akregator</a> and <a href="https://projects.kde.org/projects/extragear/multimedia/kaffeine/repository/revisions/2fe9157f5cf87d7a262edddd187d621a401eeaaf">Kaffeine</a>, they don&#8217;t look ancient any more <img src='http://blogs.gentoo.org/tampakrap/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Gentoo, as a source based distro, has the ability to provide packages that clone/checkout the source from upstream&#8217;s SCM and compile it directly (called live ebuilds). For KDE, it provides live ebuilds from KDE SC master/trunk and the branch(es) (currently 4.7), plus live ebuilds for many extragear/playground and other packages (all of the above are available in the kde overlay). Also, we provide Qt live ebuilds both from master and many branches, in the qting-edge overlay. I wanted to use our Gentoo live ebuilds in order to test patches, but there were multiple problems. Emerge downloads the sources in $DISTDIR and stores them as the portage user. Plus, the git eclass was using bare repos, and it would reset the repo to master before each emerge. In order to solve those problems, I created a few scripts and wrappers, and convinced <a href="http://blogs.gentoo.org/scarabeus">Tomas</a> to introduce two new variables in the new git-2 eclass to fit my needs (thanks a lot bro, you owe me a beer).</p>
<p style="text-align: center;"><span class="Apple-style-span" style="font-size: x-large;"><b>Define the needs</b></span></p>
<p>In short, what I want is:</p>
<ul>
<li>download the sources somewhere in my homedir</li>
<li>my everyday user to have write permissions to them</li>
<li>non-bare clones</li>
<li>url = anongit.kde.org AND pushUrl = git.kde.org, if possible directly on initial clone</li>
<li>if possible, have a live and a regular release side by side</li>
</ul>
<p>The last dot was solvable, but not any more. We used to provide a kdeprefix USE flag, that allowed us to do exactly this (install multiple KDE versions using different prefix (eg /usr/kde/4.7 /usr/kde/live). It had many problems though, that forced us to remove it. The problems it had were mostly in non-KDE packages, eg Sip, which also needed to be prefixed, which was too much workload. Anyway, a chroot could solve that issue.</p>
<p>As for the permission issue, I asked <a href="http://blogs.gentoo.org/zmedico">Zac</a> if portage itself could provide something like this (using my user instead of the portage user), and he suggested that creating a git wrapper would be a clean solution.</p>
<p>After a while I was able to extend the above for my gentoo overlays (unofficial ebuild git repositories), since I have write access to most of the ones I use in my system.</p>
<p style="text-align: center;"><span class="Apple-style-span" style="font-size: x-large;"><b>Configuration</b></span></p>
<p>All the scripts mentioned can be found <a href="http://gitweb.gentoo-el.org/?p=tampakrap/scripts.git;a=tree">here</a>. Although well tested here for the past few months, use them at your own risk. In the following examples I&#8217;m going to use the configurations for both the KDE and Gentoo git repos. Of course, you can ignore them (&#8220;Gentoo repos&#8221; blocks in the following scripts).</p>
<p>First, we need to set the following in /etc/make.conf:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Needed by the Git wrapper</span>
<span style="color: #007800;">KDE_DEVELOPER</span>=<span style="color: #000000;">1</span> <span style="color: #666666; font-style: italic;"># For the KDE repos</span>
<span style="color: #007800;">GENTOO_DEVELOPER</span>=<span style="color: #000000;">1</span> <span style="color: #666666; font-style: italic;"># For the Gentoo repos</span>
<span style="color: #007800;">EGIT_NONBARE</span>=<span style="color: #000000;">1</span> <span style="color: #666666; font-style: italic;"># This one sets the git-2 eclass to clone non-bare repos</span></pre></div></div>

<p>Next, we set up some git aliases in ~/.gitconfig, as suggested <a href="http://community.kde.org/Sysadmin/GitKdeOrgManual#Let_Git_rewrite_URL_prefixes">here</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># KDE Repos</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>url <span style="color: #ff0000;">&quot;git://anongit.kde.org/&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
    insteadOf = kde:
<span style="color: #7a0874; font-weight: bold;">&#91;</span>url <span style="color: #ff0000;">&quot;git@git.kde.org:&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
    pushInsteadOf = kde:
<span style="color: #666666; font-style: italic;"># Gentoo Repos</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>url <span style="color: #ff0000;">&quot;git://git.overlays.gentoo.org/&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
    insteadOf = gentoo:
<span style="color: #7a0874; font-weight: bold;">&#91;</span>url <span style="color: #ff0000;">&quot;git@git.overlays.gentoo.org:&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
    pushInsteadOf = gentoo:</pre></div></div>

<p>And the git wrapper, which should be put in /usr/local/sbin/git:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #7a0874; font-weight: bold;">source</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>make.conf
<span style="color: #007800;">USER</span>=<span style="color: #ff0000;">&quot;tampakrap&quot;</span>
<span style="color: #007800;">GROUP</span>=<span style="color: #ff0000;">&quot;tampakrap&quot;</span>
<span style="color: #007800;">GIT</span>=<span style="color: #ff0000;">&quot;/usr/bin/git&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$1</span> == <span style="color: #ff0000;">'clone'</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #666666; font-style: italic;"># KDE Repos</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$2</span> == <span style="color: #ff0000;">&quot;git://anongit.kde.org/&quot;</span><span style="color: #000000; font-weight: bold;">*</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$KDE_DEVELOPER</span> == <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #007800;">KDE_REPO</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s:git\://anongit.kde.org/::'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #007800;">$GIT</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
        <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> <span style="color: #007800;">$USER</span>:<span style="color: #007800;">$USER</span> <span style="color: #007800;">$DISTDIR</span><span style="color: #000000; font-weight: bold;">/</span>egit-src<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$KDE_REPO</span>
    <span style="color: #666666; font-style: italic;"># Gentoo Repos</span>
    <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$2</span> == <span style="color: #ff0000;">&quot;git://git.overlays.gentoo.org/&quot;</span><span style="color: #000000; font-weight: bold;">*</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$GENTOO_DEVELOPER</span> == <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>;<span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #007800;">GENTOO_REPO</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s:git\://git.overlays.gentoo.org/::'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #007800;">$GIT</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
        <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> <span style="color: #007800;">$USER</span>:<span style="color: #007800;">$GROUP</span> <span style="color: #007800;">$DISTDIR</span><span style="color: #000000; font-weight: bold;">/</span>egit-src<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$GENTOO_REPO</span>
    <span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #007800;">$GIT</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">else</span> 
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #800000;">${PWD%/*}</span> == <span style="color: #007800;">$DISTDIR</span><span style="color: #000000; font-weight: bold;">/</span>egit-src <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-s</span> <span style="color: #660033;">-q</span> gentoo .git<span style="color: #000000; font-weight: bold;">/</span>config <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-s</span> <span style="color: #660033;">-q</span> kde .git<span style="color: #000000; font-weight: bold;">/</span>config <span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #660033;">-u</span> <span style="color: #007800;">$USER</span> <span style="color: #007800;">$GIT</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
    <span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #007800;">$GIT</span> <span style="color: #ff0000;">&quot;$@&quot;</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>The above script consists of two parts: if the git argument is clone,&nbsp;it checks if the URL is a KDE or Gentoo one and&nbsp;chowns the repo after cloning. If it is something else (eg pull), it checks again if the URL is a KDE or Gentoo one, and uses sudo -u $USER:$GROUP to preserve the permissions of the repo. The repos are still in the $DISTDIR/egit-src dir ($DISTDIR is usually /usr/portage/distfiles, but it can be changed in /etc/make.conf), so the following script creates symlinks of those somewhere in the homedir (put it in /usr/local/bin/create_repolinks):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Headers</span>
<span style="color: #7a0874; font-weight: bold;">source</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>make.conf
. <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>functions.sh
&nbsp;
<span style="color: #666666; font-style: italic;"># Variables</span>
<span style="color: #007800;">REPO_DIR</span>=<span style="color: #ff0000;">&quot;/home/tampakrap/Source_Code/&quot;</span> <span style="color: #666666; font-style: italic;"># Where to store the symlinks of the repos</span>
<span style="color: #007800;">GENTOO_REPO_DIR</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${REPO_DIR}</span>gentoo/&quot;</span>  <span style="color: #666666; font-style: italic;"># Gentoo repos</span>
<span style="color: #007800;">KDE_REPO_DIR</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${REPO_DIR}</span>kde/&quot;</span> <span style="color: #666666; font-style: italic;"># KDE repos</span>
<span style="color: #007800;">OVERLAY_DIR</span>=<span style="color: #ff0000;">&quot;/var/lib/layman&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># No root</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$UID</span> == <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
	   eerror <span style="color: #ff0000;">'root is forbidden'</span>
	   <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Gentoo Overlays</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$OVERLAY_DIR</span>
<span style="color: #000000; font-weight: bold;">for</span> repo <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">*/`</span>
<span style="color: #000000; font-weight: bold;">do</span>
	   <span style="color: #7a0874; font-weight: bold;">pushd</span> <span style="color: #007800;">$repo</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
	   einfo <span style="color: #ff0000;">&quot;Checking <span style="color: #007800;">$repo</span> overlay&quot;</span>
	   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-z</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">grep</span> git.overlays.gentoo.org .git<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">`</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		      <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s:git\://git.overlays.gentoo.org/:gentoo\::'</span> .git<span style="color: #000000; font-weight: bold;">/</span>config
		      ewarn <span style="color: #ff0000;">&quot;gentoo git url corrected for <span style="color: #007800;">$repo</span> overlay&quot;</span>
	   <span style="color: #000000; font-weight: bold;">fi</span>
	   <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-L</span> <span style="color: #800000;">${GENTOO_REPO_DIR}</span><span style="color: #800000;">${repo%/*}</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>layman<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$repo</span> <span style="color: #800000;">${GENTOO_REPO_DIR}</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> ewarn <span style="color: #ff0000;">&quot;New symlink for <span style="color: #007800;">$repo</span> overlay&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
	   <span style="color: #7a0874; font-weight: bold;">popd</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># KDE Repositories</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$DISTDIR</span><span style="color: #000000; font-weight: bold;">/</span>egit-src
<span style="color: #000000; font-weight: bold;">for</span> repo <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">*/`</span>
<span style="color: #000000; font-weight: bold;">do</span>
	   <span style="color: #7a0874; font-weight: bold;">pushd</span> <span style="color: #007800;">$repo</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
	   einfo <span style="color: #ff0000;">&quot;Checking <span style="color: #007800;">$repo</span> repository&quot;</span>
	   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-z</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">grep</span> anongit.kde.org .git<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">`</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		      <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s:git\://anongit.kde.org:kde\::'</span> .git<span style="color: #000000; font-weight: bold;">/</span>config
		      ewarn <span style="color: #ff0000;">&quot;kde git url corrected for <span style="color: #007800;">$repo</span>&quot;</span>
	   <span style="color: #000000; font-weight: bold;">fi</span>
	   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-z</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">grep</span> kde: .git<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">`</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		      <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-L</span> <span style="color: #800000;">${KDE_REPO_DIR}</span><span style="color: #800000;">${repo%/*}</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #800000;">${DISTDIR}</span><span style="color: #000000; font-weight: bold;">/</span>egit-src<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$repo</span> <span style="color: #800000;">${KDE_REPO_DIR}</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> ewarn <span style="color: #ff0000;">&quot;New symlink for <span style="color: #007800;">$repo</span>&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
	   <span style="color: #000000; font-weight: bold;">fi</span>
	   <span style="color: #7a0874; font-weight: bold;">popd</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Last but not least, we need the kde overlay, to get the live ebuilds:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">layman <span style="color: #660033;">-f</span> <span style="color: #660033;">-a</span> kde</pre></div></div>

<p>For more information on this, take a look at the <a href="http://www.gentoo.org/proj/en/desktop/kde/kde4-guide.xml#live">Gentoo KDE Guide</a></p>
<p style="text-align: center;"><span class="Apple-style-span" style="font-size: x-large;"><b>Usage</b></span></p>
<p>With the above configuration, we can use:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">emerge <span style="color: #660033;">-av</span> =amarok-<span style="color: #000000;">9999</span>
create_repolinks</pre></div></div>

<p>and get the amarok repository in our homedir, ready to patch it. As I said, in case we modified the code and tried to re-emerge the ebuild to get our patch in action, emerge will reset our repo to master again. Thus, we need to use the following variable:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">EVCS_OFFLINE</span>=<span style="color: #000000;">1</span> emerge <span style="color: #660033;">-av1</span> amarok</pre></div></div>

<p>This will prevet the reset of the repo. In case we want to use a full live environment, we can even put that var in make.conf, but it is not recommended, better to use it in single emerge runs like the above.</p>
<p style="text-align: left;">That&#8217;s it. I plan to write a PyKDE UI for easy installation of the scripts, and maybe write a proper techbase article for it. Any feedback is appreciated.</p>
<p style="text-align: center;"><a href="https://desktopsummit.org"><img width="333" height="110" src="http://blogs.gentoo.org/tampakrap/files/2011/07/DS2011banner.png"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/kde-development-environment-in-gentoo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Okupy &#8211; Report #5</title>
		<link>http://blogs.gentoo.org/tampakrap/okupy-report-5/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/okupy-report-5/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 07:32:53 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet KDE]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[okupy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=684</guid>
		<description><![CDATA[Quick summary: I&#8217;m writing a CMS for the Gentoo website, that will offer an LDAP web interface, plus it will replace Gorg and provide Beacon as WYSIWYG editor to edit the XML file Two important things hapenned: 1) I passed the midterm (thanks to my mentor and everyone involved) 2) I graduated YEY! I&#8217;ve left [...]]]></description>
			<content:encoded><![CDATA[<p>Quick summary:</p>
<p>I&#8217;m writing a CMS for the Gentoo website, that will offer an LDAP web interface, plus it will replace Gorg and provide Beacon as WYSIWYG editor to edit the XML file</p>
<p>Two important things hapenned: 1) I passed the midterm (thanks to my mentor and everyone involved) 2) I graduated YEY!</p>
<p>I&#8217;ve left the LDAP bits behind for now (apart from bugfixing here and there). It is working fine, and supports:</p>
</p>
<ul>
<li>login (with any of user&#8217;s mail)</li>
<li>registration (the admin can specify which OU will be used for initial user creation) (for development purposes, it can even create top O and OU in an empty LDAP server)</li>
<li>map LDAP ACL to Django ACL</li>
<li>view some user&#8217;s data (in settings we can specify which attrs the user himself can see, and which ones privileged users can see)</li>
<li>edit own data (again, only specific attrs based on perms)</li>
<li>edit other user&#8217;s data (if the logged in user has the correct permissions for that)</li>
<li>An addressbook (list of users, separated in developers, exdevs, others (the lists are configurable))</li>
</ul>
<p>I&#8217;m still working on the UI, and started messing around with Beacon. It is a very interesting project, which is getting more love again, through a Fedora GSoC project (it even started as a GSoC project). It has two backends, a PHP and a Django one. I already talked to the upstream guys, they showed me their TODO list [1]. Some of those are needed for me as well, which is very nice, since my patches can go upstream directly. I was going to write a custom script to export the generated XML output, which is one of the things Beacon itself needs as well. Another important thing is to load external files in order to edit them. Finally, the git integration I was going to implement also sounded like a nice feature. Really glad to see that we are on the same road, my plan was to not fork the project but keep the changes there as possible. Matt, my mentor, was helping Beacon with the Django part since the beginning. I plan to work on those three features for the next week (weekend included).</p>
<p>Apart from the above, I&#8217;m working on our XSLT and Python&#8217;s decorators to create Django templates based on our XML files.</p>
<p>Okupy is deployed in the server, I need a final review from my mentor and will open it to some people for testing really soon (target: this weekend).</p>
<p>[1]&nbsp;<a href="http://tinyurl.com/3g4424o">http://tinyurl.com/3g4424o</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/okupy-report-5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Okupy &#8211; Report #4</title>
		<link>http://blogs.gentoo.org/tampakrap/okupy-report-4/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://blogs.gentoo.org/tampakrap/okupy-report-4/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 12:40:11 +0000</pubDate>
		<dc:creator>tampakrap</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gentoo]]></category>
		<category><![CDATA[Planet Hellug]]></category>
		<category><![CDATA[Planet ΕΛ/ΛΑΚ]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[okupy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://blogs.gentoo.org/tampakrap/?p=681</guid>
		<description><![CDATA[Quick summary: I&#8217;m writing a CMS for the Gentoo website, that will offer an LDAP web interface, plus it will replace Gorg and provide Beacon as WYSIWYG editor to edit the XML files. This is going to be small but really important. Robin set up for me an LDAP instance in vulture for me, plus [...]]]></description>
			<content:encoded><![CDATA[<p>Quick summary:</p>
<p>I&#8217;m writing a CMS for the Gentoo website, that will offer an LDAP web interface, plus it will replace Gorg and provide Beacon as WYSIWYG editor to edit the XML files.</p>
<p>This is going to be small but really important. Robin set up for me an LDAP instance in vulture for me, plus reviewed my cfengine patches for OpenLDAP, Django and the various depedencies, thanks a lot for this! I&#8217;m in the process of deploying the web application to the server, and will move development fully there. I plan to open it for a few people for more beta testing in the following week. There has also been some internal Infra discussion on whether to use multiple OUs (OU=users, OU=developers etc), without an agreement yet, but my code works either way. Also I need to expand our LDAP configs and add a few more groups there, like a user.group, and some other privileged groups like devrel, pr (currently we have only infra, recruiters and devrel I think).</p>
<p>As for the development of the app itself, the past days I&#8217;ve been doing various bugfixing in the LDAP frontend and playing around with the UI mostly. It is very configurable, the admin can choose which LDAP values to print, and in which form (eg human readable: username / first name / last name OR keep the LDAP names: uid / givenName / sn). The user can view his own attributes or someone else&#8217;s public attributes. A privileged user can see more attributes from other users, plus add/remove another user from some groups. There has been some ACL duplication here, but unfortunately there isn&#8217;t a better way to do it at the moment. Robin proposed another long term solution: if we move our LDAP configs to the new cn=Config style, the app then could parse that config and generate the ACL accordingly to Django settings. It can&#8217;t be done now though, since Infra needs to migrate LDAP to that style first, which I know it&#8217;s going to be painful (I&#8217;ve done it already for a uni server about a year ago). I&#8217;m working on the UI of the edit view now, which is a generated form by the user profile model. Although it works (user can edit his data successfully, admins (eg infra/recruiters in Gentoo case) can edit other users&#8217; data as well), there has been some pain in printin nice the multivalued attributes of LDAP. Currently, the multivalued attrs are transfered to a TextField in the DB, and the values are separated with :: for easy split-desplit. With the help of Matt I wrote a form widget, but it still needs to look prettier when the user wants to add or delete a new value.</p>
<p>Apart from the above, I&#8217;ve also started working in general on the UI, and the front page. Matt gave me some some CSS to plug in to my templates, but my overall goal would be to create an easy way to create new themes to the app, instead of having to touch the templates (should be easy in Django). The UI and the front page is what I&#8217;m going to do for the next few days, and then start working on the Beacon and XSLT/XML parts. Last but not least, I wrote an addressbook as a replacement to <a href="http://www.gentoo.org/proj/en/devrel/roll-call/userinfo.xml">userinfo.xml</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gentoo.org/tampakrap/okupy-report-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

