Jun 03

The past week I’ve been experimenting with LDAP mostly. I set up a clone of ldap1.gentoo.org (with fake data of course) at my home server, and gave a Cfengine patch to Robin, pending for review, in order to have the testing LDAP service to vulture (the soc.dev box). I also set up my git repo, and split the settings.py file in many files, under a settings/ dir. This is how the transifex guys and my mentor Matt do it, and this approach allows us to put the config files even in /etc for example.

My major goal was to finish the LDAP backend part, either by using an existing library or writing it from scratch. Finally, after taking a look at many libraries and implementations, I wrote my own. More specifically, what the Django LDAP authentication backend does is to override the default Django DB authentication backend. When a user logs in, the backend checks if the user exists in the LDAP server. In order to do the search, the OpenLDAP server has to provide either an account to do that (an “anonymous” account with minimal privileges, just to do those kinds of ldap queries) or allow anonymous searches. In case the account is being used, it has to be declared in the settings file. I took it one step further from what the other backends did actually: in a common ldap configuration, all users are under OU=users or something. I intend to split it though to OU=users and OU=developers, thus I allowed the backend to search in multiple organizational units, by converting the variable to a python list. If the query sends a result (meaning the user is found), then it tries to bind with the credentials provided in the login form. If it suceeds, then the user data (apart from the password) are transfered to the django db, where they are going to be used for the rest of the session. Django actually has only email, real name and username in its accounts, but it gives the opportunity to extend those by creating a profile. That is technically an extra table in the db, with the ability to add custom fields, really handy.

The major problem that I’ve faced with all those ldap backends was that they all asked for an admin account, and they performed all changes with that account. That is acceptable for user creations but not for all the other cases. If a user wants to change his data, he should be able to do it with his regular account. Another problem emerged here though. OpenLDAP asks for the password before every action and one solution was to do it that way. Bcooksley had another idea though, to create a second 50char password, which will stay only for one session, and will be destroyed using itself at the end. I liked that idea very much, as asking the password is not too user friendly in my opinion, and the web frontend looses its purpose. For important changes though the password will be required (that includes uploading a new SSH/GPG key, or resetting the password).

The LDAP backend is now working, which is really cool, I didn’t expect it to be done so fast. My next step is to write some tests and documentation, for which I’ll use sphinx. Also, I plan to continue working on the ldap web frontend, by finishing the login/signup systems, and the user settings page, and then start messing with the UI.

Jun 03

1) KDE SC 4.6.80 aka 4.7 beta 1 bump

jmbsvicetto and alexxy did a great job so far about it, with ABCD forward-porting the commits to the live ebuilds. It is not ready yet though, and we’d not recommended to users yet, unless they know what they are doing. Upstream split some of the tarballs in order to follow the repos for 4.7. We were very lucky so far, and upstream’s split was very similar to ours, apart from kdebindings, which we’ll have to re-package to follow them.

2) Drop of kdeprefix useflag

The kdeprefix USE flag is announced to be dropped this Monday. As a result, we’ll have to move all ebuilds to slot 4. We could move them to 0 as well in order to drop the slotting entirely, but since most of them are already 4 it will prevent us from doing another massive slotmove.

3) Useflags in kde profile

It was decided these useflags to be added to the kde profile: declarative, dri, kipi, phonon, plasma, semantic-desktop, xcomposite, xinerama, xscreensaver

4) KDE SC 4.6.3 stabilization

First of all, dilfridge deserves congratulations for taking care the heavy job of doing the 4.6.2 stabilization, along with Qt 4.7 and a large number of other Qt and KDE applications. Keep in mind that this was a really hard job to do, since the previous stable version was 4.4.5. Things are now back in order now, with 4.6.2 fully stabilized and 4.4 completely removed (finally). 4.6.3 is the next stabilization target, to keep stable tree up to date.

*) Open floor

dilfridge said he is interested in doing some cups work, which we hope to affect KDE and desktop users in general.

We lost scarabeus, one of our top developers. Thus, we’d like to remind anyone that we always appreciate the help of new people. If you are one of the guys that already has access to the overlay, time to complete your ebuild and end quiz then!

Jun 02

Planet KDE readers: this is not a KDE GSoC project, feel free to skip it

I’ve been accepted for this year’s GSoC yey!! Many thanks to my mentor, Matthew Summers, for all the help. I’ll do a complete rewrite of the gentoo.org website using Django. The project actually consists basically of three parts: 1) create a django web frontend for our LDAP server 2) Create a django CMS replacement for the current website that will be able to read the XML files 3) Plug in the Beacon Editor, a WYSIWYG GuideXML editor, to the web app. Below is a part of my full proposal, which can be found at google-melange and has more technical information.

Currently Gentoo employs a number of websites with separate user accounts. LDAP servers are used for the developers only. Developers update their LDAP data through a perl script. Complaints about difficult handling of forgotten passwords occur frequently. A web interface around LDAP will make LDAP more user friendly, plus it can be easily extended to support non-developers, just by adding a new schema and OU (organizational unit) for them. The choice of Django was made for several reasons. It is a web framework based on Python, that is a programming language very easy to learn and maintain. A Django project is equally easy to maintain and extend. In Django parlance, the term “project” refers to a collection of pluggable, modular applications, that together form a more complex web application, the project. This modularity will let the Gentoo Community easily write new Django applications on top of the main instance, in order to enhance its features. Apart from the above, the Django and Python upstream communities are doing a great job, notably by releasing often, especially for security reasons.

Today, documentation is stored in XML files in a CVS repository. An XML to HTML converter (wrapped up with Ruby), called Gorg, is currently used to display the actual result. People who want to contribute to documentation or translations have to locally install a Gorg instance and check out the CVS repository, which can be rather cumbersome. Having a WYSIWYG editor embedded in the gentoo.org website would be preferred, as it will make it really easy to contribute to documentation, or even send improvements through bugzilla to the appropriate documentation or translation team. By all appearances Gorg has been abandoned as a project. This has resulted in difficulty in maintaining the Gentoo website, and also makes the work of updating the website’s design or functionality all the more troublesome. Therefore, a complete redesign is easier than resurrecting the old system. The overall end result of the new system will be a complete rewrite of the old Gentoo website, including everything under www.gentoo.org

  • A new user registration system, that will import the data in the LDAP server.
  • A System Admin, with support of different group permissions, based on the current LDAP ACL, e.g. recruiters, sysadmins, documentation moderators, Gentoo developers, users. For more strict LDAP related operations, the Django Admin will be used, as it will be better especially for following the LDAP ACL. The Django Admin will be used mainly by privileged users, like Infra and Recruiters. Anyone else will be able to view and edit his data through his account profile page and a custom made System Admin. There will be no required data for users apart from a primary email address and a nickname/password.
  • A syndicator-like frontpage, that will display recent GLSAs, planet posts, PR team’s news.
  • A continuous integration testing model. There will be automated regression testing, by using Portage to build and test the package on a regular basis.
  • Support for viewing XML documents.
  • Beacon, a WYSIWYG editor, for easily editing those XML documents.
  • Git backend support for storing the XML files, using a dummy Git account.
  • An easy to translate interface. Translators will be able to select a document and translate it using Beacon.
  • Statistics for translators.
  • A “send for review” button, so that end users will be able to file a bug to Gentoo Documentation team attaching the XML diff. It needs a custom pybugz script to file the bug. The same system will be used for translations.
  • A new improved look, using JavaScript/jQuery. On this area, there will be strict adherence to web standards and accessibility best practices, since the Gentoo website and Documentation pages are being viewed by too many people every day.
  • An improved devmap, where developers will be able to click their position on the map.

The name I chose is okupy (you know, k instead of c, and py because it is a python app :P ) Well, it is not related to KDE, but I am :) Not to mention the new fashion in KDE apps not having K-names. I’m bringing a new fashion to the world, non-KDE apps with K-names.

Robin Johnson, the Gentoo Infra lead, will co-mentor me on the LDAP specific parts. Matt will be my guide for the django parts. The idea of this project was mine, inspired by both my Django/LDAP thesis project and the identity.kde.org work. I came in touch with the KDE sysadmins as well, and especially Ben Cooksley, who’s been great help so far and gave me lots of ideas already based on his experience maintaining the identity website. I’d be really happy to provide a Django LDAP that could suit both my favorite projects. I created a gsoc tag, where I’ll be posting weekly updates in Planet Gentoo, and the gentoo-soc mailing list. That’s it, time to get back to work.

Jun 01

This blog post comes about a year late, but who cares. This particular project is very important to me, as it was really fun, and my first steps to python/django and sysadmin tasks like LDAP, SVN/Git and friends. The project was written along with my friend Cephalon (Γιάννης Σπανός) under the guidance of our professor Χρήστος Σωμαράς. It is still available at cronos.teilar.gr, but you won’t be able to sign up unless you are a student at TEI of Larissa.

The Problem

My school had an irrational number of websites, providing crucial announcements. It is very hard to follow all of them (the knowledge gets lost when it is spread around), not to mention the unavailability of some during most of the weekends :P Actually, that belongs to the past I hope, I haven’t noticed anything recently, but in the past the problem was really obvious. Every one or two weekends a power cut was hapenning, even in exams periods. The web services were too many though, some students were not even aware of some (for example the career.teilar.gr website has info about job positions, grad school programs etc). Another very important problem is that most of those websites require different accounts, and I couldn’t even imagine how many students didn’t remember their credentials, and did a password reset every new semester (remember, we are not talking only about CS students here, actually they are the minority, and they are not an exception to that unfortunatelly). Last but not least, none of the mentioned websites provided RSS feeds, making it even harder to track them (some of the major ones do now though).

Brainstorming

So, what would be really useful is a web application that will combine all those announcements, in a syndicator-like page. Plus, a number of other information (like grades, the semester’s declaration, their student mail account, even a list of teachers) could be also included to that app. And, most importantly, we need a unified RSS feed for all those announcements, since some (like me) prefer desktop applications to read their news. Well, we don’t need announcements of every school or every teacher though, the student should have the ability to select what they want to view. Since the uni websites don’t provide RSS feeds, we’ll have to parse the html pages instead, and store the output in a db. Some of them require authorization first, so we’d need the user’s credentials, which should be encrypted with blowfish in order for the system to be able to reuse them when needed. Everything looks good so far, let’s move on:

Implementation

First step was to set up the server. We got a new box and needed to do everything from scrach. We installed and configured OpenLDAP, MySQL, Django with mod_python, Subversion, phpLDAPadmin, phpMyAdmin, WebSVN, and the apache vhost files. Afterwards, we started messing with pycurl and BeautifulSoup. It took us some days, but we finally had two python scripts (django standalone files actually). The first was parsing the names of the schools, the teachers, the lessons as well as the names of the web services from which we were going to collect announcements. The second was actually parsing the announcements, of about 10 websites, which were put in a database. As I said there were no RSS feeds, so we had to send thousands http requests with pycurl and parse with beautifulsoup. I know, very unreliable, but there was no better way we could think of, plus it worked just fine. Some of the websites:

  • www.teilar.gr: The most important website, it contains the announcements of all the teachers, school specific announcements, even college and various other announcements.
  • e-class.teilar.gr: Equally important. e-class is a very popular webapp among greek universities, which offers tools for better communication between teachers and students. Apart from announcements, it also provides the ability to upload and store files, like presentation files or weekly projects, a calendar, a mini-chat, contact form and others. Many teachers prefer that to announce things instead of the first one.
  • dionysos.teilar.gr: This one has the accounts of the students. This is where the student sees his grades, declares classes for the semester, etc. School wide announcements are also provided.
  • myweb.teilar.gr: webmail service (no announcements provided here obviously :P )
  • some informational only websites: LinuxTeam, PR, Library, Career, NOC and others (still adding new ones actually).

The above python scripts were put in cron.d, the first runs weekly and the second hourly. It takes about half an hour for the second to complete, and in the old box (a very old celeron laptop used as server) it took 45-50 mins. After having all that data in the db, it is now time to create the signup/login systems, and then print those data to the users. The login system took a while to get ready. We played a lot with LDAP, python-ldap and some django authentication backends to fully understand everything. We used the library ldap_groups, which pretty much had everything we wanted, although we had to tweak it a bit. In short, django allows the usage of another authorization backend instead of its ModelBackend, by adding the following in settings.py:

 
AUTHENTICATION_BACKENS = (
    'path.to.custom.backend',
    'django.contrib.auth.backends.ModelBackend',
)

When a user logs in, the custom backend (assuming it is an LDAP backend) searches for the user in the django DB first, and if not found, it searches in the LDAP server afterwards. If the user is found in the LDAP server, its data will be transfered to the django DB. With that system, the data will stay in the LDAP server (and will be used easily) even if the DB gets wiped out. Similarly, the signup system was searching for duplicate entries only in the LDAP server. The signup got a bit more complex though. The system is asking for the accounts of dionysos, e-class (optional) and webmail (optional), and in order to verify them, it uses them immediatelly, performs a pycurl and parses the output. If successfull, it also parses the student’s data, like his name, semester, registration number, grades, e-class lessons he is subscribed, and put them in the ldap server. Using the django syndicator module we were able to create a unified RSS feed of all those announcements. The pages we created were the following:

  • The first page which prints some personal information
  • A syndicator-like page with all the announcements
  • An e-class specific page, which shows the lessons a student follows, recently uploaded files, and pending deadlines for projects
  • An e-mail page, which only shows the mails
  • A library page, where the user can get results for books through the library.teilar.gr web page
  • A list of all the teachers, with the school they belong and their emails
  • An about page
  • A settings page, where the student can change his password, his credentials of the other websites, update his grades/declaration/e-class lessons list, and select the teacher/other announcements he wants to follow

The future

Our target was to merge the LDAP server we created with the one the school uses. But due to some changes the NOC did, it was impossible to do that, so I had to drop the LDAP support in our application as well, and use the DB only.

After getting it online, two other guys created a similar django project as their thesis project, which would offer online registration to labs. The original plan was to merge those projects, due to many similarities in the code (especially regarding the registration system, which was also using the same LDAP authorization), but went on a separate web app finally, diogenis.teilar.gr (by Στέφανος Χρούσης and Γιώργος Τσιώκος).

About a month ago, the two services were moved to a new box, who was put under LinuxTeam control, and features two VMs (more on this on separate blog post). We have a long todo list now, and people that have interest in contributing. The service is still online, I hope it will stay for a while, thanks to Δημήτρης Παπαπούλιος and Άλεξ-Π. Νάτσιος for taking care of the server and the VMs, Γιώργος Κούτσικος for the artwork and Γιώργος Τσιώκος for the design! Let’s hope it will stay online for much longer, and more thesis projects on top of this will follow.

May 31

My college’s LinuxTeam celebrated its 4th year a few days ago!! Pretty exciting! We’ve done a lot in those four years, but the most important in my opinion is that there is a whole new group of members now, willing to work for the team. Plus, some of them are not considered new at all now, so they know what the team requires, and how to promote it to newer students, in order to keep it alive.

Apart from the promotion, the conferences and the install fests, the guys are also willing to do more technical work. We got a new box recently, got some oldies in production, but more on this on a separate blog post. We host and maintain two web applications that began as thesis projects (also, more in a separate blog post), our git has even more projects. And people are still working on big projects (KDE, Enlightment, OpenSUSE, Gentoo (yeah, not only me :P )).

Really great to see that the team is evolving. Finding new members was one of the most significant problems we faced when we first created it, and it feels good to know that we have passed that line. Personally, I’ve lost most of my motivation to work for that team any more, since I’ve done so much in the past, but at least I am not worrying about it any more

We celebrate out team’s birthday at the same place every year, with the same birthday cake design, and lots of fun. Happy birthday team!

Photos can be found here
May 27

Introduction

FOSSCOMM is the most popular open source event in Greece. In my opinion, what makes it so special is the fact that is hosted in different city each year. It is very unique for me as well, for the following four reasons: 1) I met a lot of people in those conferrences, and made a lot of friends as well 2) one of them was hosted in my city and organized by my college’s LinuxTeam, 3) the Gentoo Greek Community made it first appearance there,  and most importantly 4) I had a great time in all of them. Since I never blogged about any one of the FOSSCOMM conferrences, I decided to do a little flashback before talking about this year’s event.

Flashback

The first one was hosted in National Technological Univercity of Athens, the best university in Greece, at 21/22 March 2008. The teams that organized it were FOSS NTUA, Ioannina LUG, HELLUG, the Greek Debian Community and Slackel. Our LinuxTeam was pretty new at that point, and we applied immediatelly. The purpose of the conferrence was mainly for the open source teams in Greece to present themselves, so we get to know and maybe do something in common. Apart from that though there were many other interesting talks (I recall the one about the CERN) and the very promising idea of the FOSS NTUA guys about creating a Free Software Academic Alianse (but never came to life unfortunately). The ~20 people of my LinuxTeam travelled all together to Athens, and had lots of fun. Our talk was on the latest, and a little before that we heard the idea of hosting the event in different city every year, and immediatelly we started telling to each other “hey, next year it is ours”. So, at the end of his talk, my friend sinak (Γιώργος Πορτοκάλογλου) expressed our desire to host it in our city next year, which was welcomed by the audience.

As a result, the people behind the event (mainly the same people who organized the first one) gave us the permission to host the second one in our city. It took place at 9/10 May 2009, in Technological Educational Institute of Larissa, and organized by our LinuxTeam. Some of us went to FOSDEM three months ago, so we “stole” some ideas, like providing booths for the communities, and doing a beer event of Friday night. We extended that with a tsipouro event on Saturday night. One addition was also the workshops. The day after FOSSCOMM, the Greek Fedora Community had a hackfest in our LinuxTeam Lab. In general, it was much fun for the attendees, with many interesting talks, maybe more interesting than last year’s, as most of the teams presented themselves already, so there was more space for advanced talks. As I said, I had the chance to present to Greece the Gentoo Community as well, with a talk about our community and the Gentoo as a distro and as a project (by me and Νίκος Ρούσσος, who is now a Fedora Ambassador), and a workshop of a Gentoo installation in KVM machines we had prepared, by Alex Alexander.

The third was hosted in Aristotle University of Thessaloniki at 24/25 April 2010 and organized mainly by Χρήστος Μπαχαράκης, Στέλλα Ρούζη and Χρήστος Χουτουρίδης. Thessaloniki is the best city in Greece. Apart from that, the conferrence got bigger and bigger, it became a monster now. There were many talks, side events, workshops, that we had a hard time deciding where to go. A bunch of LinuxTeam guys went there as usual, but this time we were splitted in different places to see the talk of preference. Some that I really enjoyed were the one by the TasPython team about GIL, an OpenWRT and an Asterisk talk, and the one by the Greek Fedora Team with the funny title “Fedora fails… and that’s a good thing” showing the mistakes that are made in such a large organization, and what actions are taken to decrease them. We as Greek Gentoo had an installation workshop (again) by Άκης Κιούσης and Ανδρέας Παπουτσής, and a presentation of some inside of Gentoo and some ebuild/development stuff, by Alex and Μάρκος Χανδράς. Apart from that, we had a great time in a great city, drinking beers with the other fosscomm guys.

The present

The fourth FOSSCOMM was hosted in University of Patras (a city unknown to me) at 7/8 May 2011, and organized by the Patras LUG and the Department of Computer Engineering and Informatics. I had my birthday two days ago, and was with the minimum amount of sleep and maximum amount of alcohol in my system, which made me kind of pass out in the bus. This time the trip involved a mix of LinuxTeam and OpenSuse guys, since three of my LinuxTeam colleagues are now OpenSuse ambassadors. After a nice trip, with Στέλλα providing us food, we finally arrived and headed to the Hotel, which was a bit far from the center of the city, but close to the University. Because of that we spent our nights at the Hotel drinking beers, and on Saturday we also had an OpenSUSE 11.4 release party there. We only saw the city very briefly when we went for a coffee, and personally I didn’t like it at all.

Day One

OK, enough with the beers. The conferrence got even bigger now, with even three or four side-talks hapenning at the same time. There was a big screen at the main hall which showed all four rooms that had presentations. It was pretty difficult for me to decide were to go, but I must admit that this one was the best in terms of quality of talks. The organizers were very well prepared, they even created some helpful web-apps for our smartphones (although I don’t own one yet). After the usual welcome from the communities, I went straight to the Django talk. Oh yeah, finally, someone talking about django. The title was “Django Test-Driven Development: A bit of theory and a test case” by Κωνσταντίνος Μπαϊκατάρης, who is working at Indifex. Indifex is the company behind Transifex, the well-known translation tool, and its office is at Patras. The subject is very obvious, the guy talked about writing proper tests in a web application, with examples of Transifex, in order to make the code more professional. Excellent. After that some of my brother’s friends (Διονύσης Ζήνδρος, Πέτρος Αγγελάτος) presented WebGL. They are actually working on a WebGL MMORPG game for quite some time, and they presented what is that technology, the browsers and companies that support it, and a few examples to see it in action. This technology is very interesting, and since it is quite new I suppose more people will start messing with it really soon. Two sysadmin related talks were next. First was by Νικόλας Καβούλης, about hardening the network with open source tools. It was a really nice presentation, with lots of jokes, that I really enjoyed, but nothing new to me. The next one though was the best talk of this conferrence, and one of the best talks I’ve ever seen. Γιώργος Μαμαλάκης and Χαρίτων Καραμίτας described in detail a rather complex system they have developed (in C), in order to have a unified account management with LDAP, Samba and Kerberos. Apart from their system, they also described in short how these technologies work, what they do and why it was hard to unify them. Also, they did a detailed presentation of their setup of those services in action, in the Aristotle University of Thessaloniki where they work. After the lunch break, I saw the presentation of another Indifex employee, Απόστολος Μπέσσας, entitled “Making Web Applications Fast”. Many cool tricks were presented, that I am definitely going to use in mine web-apps definitely. Another excellent talk. Afterwards I went to Firefox 4 presentation by Πιέρρος Παπαδέας followed by the Enlightment Project presentation by my colleague Γιώργος Κούτσικος, and then spent some time in the OpenSuse lightning talks before calling it a day.

Day Two

The second day was also interesting. Although the main hall didn’t have power due to a programmed power cut, but the guys managed to keep it going, making sure that all presentation rooms are going to operate fine, since they fired up generators. Anyway, another day of interesting talks has just started, although we reached a bit late :) First one was by Γιώργος Κεραμίδας, Google Employee and FreeBSD Developer, who presented an Automated Testing Framework that is being used in FreeBSD and looked rather cute I must admit. Lunch, and then I went to the Fedora Activity Room for a couple of hours, where Πιέρρος Παπαδέας and Νίκος Ρούσσος (Fedora Ambassadors) talked first about SSD Optimizations (excellent) and then about GNOME 3, which I never had the chance to see. It looked in better state compared to the first steps of KDE 4, and had some very interesting ideas as well. I didn’t like the overall philosophy of it though, don’t think I’ll try it further. At that day I also saw a couple bad presentations that I’m going to skip entirely :) At the end, there was a presentation of hackerspace, a place for hackers, in Athens. I’m gonna visit it next time I go to Athens (probably next week). And last, the organizers presented themselves and ended the event.

Outro

Finally, I’d like to say that there were many other interesting talks, that I was unable to attend at that time. I saw a few of the videos at home, and had long discussions with my friends about the talks that we saw, as we were scattered around. Some other interesting talks were the packaging ones, (one for deb/rpm with OBS by the OpenSuse guys and one for RPM by the Fedora guys), the IPv6 Workshop by Γιώργος Καργιωτάκης, “Porting Linux to custom hardware”, “Network exploitation with Ncrack”, the Andruino presentation, and last but not least, the Wargames workshop. I had a great time there, saw again a lot of guys and met the Dr.Konqi developer in person finally. I’m really jealous of those distro booths at every event, maybe I should start organizing the Gentoo booth for the next one. Anyway, it was a great event, well done guys.

PS Our FOSSCOMM was the best
PS2 You can also read my friend’s skiarxon blog post here

Photos, Reviews, Videos, Presentations can be found here
May 26

This blog moved from the server hosting www.gentoo-el.org (the website of the Greek Gentoo Community) to the Gentoo Blogs (wordpress multi-user installation). This means that I have one less wordpress installation to maintain yey!! The new URL is http://blogs.gentoo.org/tampakrap/. The old URL (http://blog.tampakrap.gr) and all of its sub-links still work though. This is how I did it:

I exported all my data from the old wp installation, through Tools->Export, in an XML file. In the other side, I created a new blog for my user with the same name. Then, I installed the WP Import plugin, and uploaded that XML. About four or five image URLs were broken, I fixed them manually. Then I installed the WP-Oxygen theme and set up the Akisment/WP-Stats account in the new blog. I had to hardcode the banner URL in the theme as well. If you find anything else broken, please notify me.

In order to have both domains working, I used apache’s mod_proxy without changing anything in bind. Here is the vhost:

<Virtualhost *:80>
ServerAdmin webmaster@gentoo-el.org
ServerName blog.tampakrap.gr
ProxyRequests On
ProxyPass / http://blogs.gentoo.org/tampakrap/
</Virtualhost>
Apr 01

The KDE meeting had the usual monthly meeting yesterday. After a long discussion we decided to switch to add Trinity ebuilds finally in tree. There has been a lot of time we were working on those ebuilds, we consider them mature enough now for end users. Since we lack the manpower to provide support for two DE’s, we will have to move KDE 4 ebuilds in a user-maintained overlay, called kde4-sunset. A Gentoo KDE 4 team may suffice of course, but until that happens, we are obliged by our QA team’s policy to remove any non-maintained / obsolete ebuilds away from our users, especially for security reasons. The following actions will take place in the following days:

  • Add Trinity ebuilds in tree
  • Create a portage news announcement and front page announcement, making their removal official and 
  • Mask KDE 4 ebuilds for removal in 30 days
  • Create the kde4-sunset overlay
  • Move KDE 4 ebuilds in that overlay
  • Call again for help (blog posts, forums etc)
The Trinity project is a very promising project, since it is built on top of KDE 3, the only working KDE version. We wish the KDE 4 developers all the best on their effort, and we hope that other distros will follow our steps.
Feb 25

Since random people poke us in IRC about the same questions, I decided to redistribute the last meeting’s summary in my blog.

0) Elect new lead

Wheee I am the new Leader! I am the head, the boss, the godfather, the lord of the rings, the bourne identity (joke stolen from The IT Crowd). I can’t see how that affects anything though, in my opinion team leaders are useless positions, the council is enough.

1) Status regarding hal

Since KDE SC 4.6 is out, we don’t need it anymore. As soon as 4.6 gets stable, hal can die

2) Should we try to form a “stable KDE devs” team? Meaning just call for volunteers on the gentoo-dev mailing list?

dilfridge stated that since most of the kde team members use ~arch, stable seems to lag behind. The problem is very obvious now, mainly because we haven’t stabilized 4.4. The problem will go away as soon as 4.6 gets stable though. Apart from main kde, the misc apps are also slow in stabilization. We expect users to request for stabilizations in bugzilla.

3) kde-git/eclasses migration and status, move kdepim 4.6 beta in tree masked

reavertm, Sput, and scarabeus did a major cleanup in our eclasses and added git support to eclasses and ebuilds. In order to migrate the eclasses to tree we will need to get git-2.eclass in tree first (it is now in kde overlay as well). ETA: not less than a month. As a side note, we decided to remove koffice-specific codeout of the eclasses.

4) Shall we drop useflags kdeenablefinal and/or kdeprefix to simplify code?

First of all, both useflags are masked. We agreed to keep kdeenablefinal, since it is an upstream feature. About kdeprefix, the problem is that bindings are not prefixed, and a possible fix (proposed by reavertm) would be to slot sip. tampakrap said he’ll work on this, and bring the topic back in next meeting.

5) Dropping of semantic-desktop useflag with guide update (mostly even kdebase needs it on now)

This entry is invalid, semantic-desktop is not needed by kdebase. The problem is in our ebuilds (plasma-workspace is semi broken, kdeplasma-addons is completely broken). We have open bugs for those, the problem is clearly in our side.

6) Making +consolekit and +policikit or removing the useflags as whole (non working stuff run-as is annoying)

scarabeus and dilfridge are in favour of dropping them, since it caused a lot of trouble debugging various user reports. reavertm prefers adding it to IUSE defaults. No consensus was succeeded, the topic will be continued in the gentoo-desktop mailing list (Here is the topic).

7) HT/overlay/bugzie access policy

Since we don’t have a clear list of who is an HT and who isn’t, we decided to compile a list, and state what priviledges the HT has. (HT = Herd Tester). Some people don’t have time/motivation to complete their ebuild quiz, thus we’ll have two groups of people: * full HTs (overlay access, editbugs, access to ktown, IRC cloak) * overlay commiters We decided to drop the KDE HT Lead title, seems rather useless. (As a side note, we always welcome new members, either for HT or for full developer status, feel free to contact me).

8 ) LiveDVD issues

LiveDVD comes with KDE SC 4.6 as default DE, and we called likewhoa (the guy behind it) to report any issues. He said that everything seems to be fine, but random users wanted the cool gentoo graphics to be applied to in-tree ebuilds as well. The KDE Team is willing to do that, likewhoa said he’ll provide us some artwork and we’ll discuss again the USE=”branding” issue.

9) documentation status

There has been a major improvement in the guide, added some 4.6 specific tips and troubleshooting parts, we need to add a hal->udev migration guide (there is a draft in my devspace, based on this forum post), and migrate some texts that are in kde overlay to guidexml.

10 & 11) 4.6 (and misc apps with 4.6) status / Early discussion about 4.6 stabilization

KDE SC 4.6 is going fine, we all agreed that 4.6.1 could be a good candidate, we’ll discuss it again after its release. About a 4.6 KDEPIM version, no idea yet, we’ll have to wait on upstream moves first. Most misc apps seem to be fine with 4.6 as well.

*) Open floor

One major issue is digikam, it comes with lots of bundled libraries, which violates the Gentoo QA Policy. We heard that Debian has same thoughts on the matter, we’ll have to bring them to table. Relevant bug report: https://bugs.kde.org/show_bug.cgi?id=265328

Desktop Summit! We were invited last year to Akademy to give a talk about Gentoo-KDE, noone made it. Some of us expressed interest for this year’s event, which combines GUADEC and Akademy. Also, some of our gnomies may be there, which is a perfect opportunity for some in-person trolling.

Gentoo KDE team meeting Summary and Log

Feb 24

My college’s team was the first team in Greece that organized a KDE Release Party, we are so proud of this. Special thanks to Claudia and the Promo Team for sending us some fine KDE materials. We didn’t have much attendance, which is very reasonable given that we organized it during our exams, without giving it much thinking. Apart from the usual talk about how awesome KDE is, we also had a little presentation, where I talked about the history of KDE, SC and Extragear, PIM (Akonadi, Nepomuk, Strigi), and my colleague Giorgos Tsapaliokas (twin brother of Antonis) talked about Plasma and Activities, and did a quick live demonstration of those. Apart from the usual LinuxTeam guys, two guys of the greek openSUSE community came to our small city, and a teacher also attended the presentation, who showed great interest and expressed his impression especially about Nepomuk. Let’s hope we’ll see more KDE desktops in the future. After the event, we went to consume some tsipouro, where we spend a few more hours talking about FOSS in Greece.

Photos can be found here