debian, apache2.4 and libapache2-svn

I did a stupid thing yesterday: I upgraded the apache of a development server running debian. Doesn’t sound too bad, does it? Did you know that the debian maintainers kinda dropped the libapache2-svn library when switching from apache2.2 to 2.4? No? Me neither :oogle: Why on earth did they do that? Well, asking this kind of question never helps, so I digged into it a little and tried to fix it without asking Google right away :/
So after a little research, I ran into a pretty good description that worked out. This stackoverflow post roughly explains what you have to do:

cd /tmp
mkdir svn_tmp
cd svn_tmp
sudo apt-get install apache2-dev
sudo apt-get build-dep subversion
apt-get source --compile subversion

Stop when it’s checking for gcc etc and edit some files:

Let’s edit some files. First, subversion-1.7.9/debian/control. Make sure that apache2-dev figures in Build-Depends sections (around line 7):

Build-Depends: debhelper, libneon27-gnutls-dev, libserf-dev (>= 1), zlib1g-dev,
               libapr1-dev, libaprutil1-dev, libdb5.1-dev,
               libsasl2-dev, apache2-dev,

Then, check if theres a section for libapache-2. If it’s there, make sure to remove the apache2.2-common dependency. If not, add the complete section:

Package: libapache2-svn
Section: httpd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: db5.1-util
Description: Subversion server modules for Apache
 This package provides the mod_dav_svn and mod_authz_svn modules for
 the Apache 2.2 web server.  These modules provide Subversion's WebDAV
 server backend, to serve repositories over the http and https
 protocols.  See the 'subversion' package for more information.

Then, edit subversion-1.7.9/debian/rules and make sure that ENABLE_APACHE is true:

ENABLE_APACHE        := yes

Now, we are ready to start the build process again:

cd /tmp/svn_tmp/subversion-1.7.9 && dpkg-buildpackage -b -uc

This process may take a long time. For me, has taken like 1 hour. Finally, we can install the package.

sudo dpkg -i /tmp/svn_tmp/libapache2-svn_1.7.9-1+nmu3_amd64.deb 
sudo a2enmod dav_svn
sudo a2enmod authz_svn
sudo service apache2 restart

Debian netinst with preseeding

About two weeks ago I “killed” one of our clusters in California by rebooting the main server – which itself is kind of ridiculous :oogle: However, as the cluster was mainly dead and the installed version of CentOS was really messed up (and no big fan of CentOS is working here anymore), we decided to switch those machines to Debian. As I was the one killing it and I’m also the one desperatly needing some of those machines now, I took the burden to set them up again. So I had – actually I’m still having :mrgreen: – a lot of fun with CentOS, Debian, netinst and preseeding during the last days!

For the whole setup I could mainly follow the installation guide on but some things just didn’t work out as expected. At least locally I now figured them out and the installation is working end-to-end :)
The main issue was to get the preseed.cfg to the client without having to alter the initrd. According to the manual (and tons of blogs), you just have to pass it as a kernel parameter. That’s just half of the truth. What’s missing in there is that you also have to send some more parameters right away so that the installation gets to the point where it loads the preseed.cfg (example). So if you ever have to set up something like that, don’t forget to pass in these parameters in your pxelinux.cfg/default:

append vga=normal initrd=debian-installer/i386/initrd.gz preseed/url=http://path/to/preseed.cfg debian-installer/locale=en_US console-keymaps-at/keymap=us netcfg/get_hostname=debian netcfg/get_domain=unassigned netcfg/choose_interface=eth1 -

(Don’t forget to check the interface in the last parameter. You can also skip it completely if you just have one network interface.)
My whole entry for the default Debian netinst looks like this now:

LABEL lenny
kernel debian-installer/i386/linux
append vga=normal initrd=debian-installer/i386/initrd.gz preseed/url=http://path/to/preseed.cfg debian-installer/locale=en_US console-keymaps-at/keymap=us netcfg/get_hostname=debian netcfg/get_domain=unassigned netcfg/choose_interface=eth1 -

This is enough for us right now because the cluster just has 5 machines so it’s easy to handle and we don’t intend to reinstall it that often. So there is no need for a bigger solution but if you have a big cluster with a lot of machines and you’re changing a lot of things all the time, you might want to take a look at FAI ;)

Paper published: Export Mobile Device Display Content

Vor ein paar Monaten, ich glaube es war im Dezember oder Januar, haben wir ein Paper fuer die EWME 2010 in Darmstadt eingereicht und wurden akzeptiert. Zwischenzeitlich hat diese nun stattgefunden und das Paper kann hier runtergeladen werden :)

And as the paper is in english, I guess this post should be as well:
A few months ago, I think it was in December, we submitted a paper to the EWME 2010. It got accepted and the EWME took place a few weeks ago. So the paper is now published and can be downloaded here :)

Abstract – Within the Master Project ”Wireless Mobility” this project was offered to IT Master Students during the second and third term and ran approximately over ten months. The project team developed a demonstrator platform to export the display content from a consumer mobile phone to a larger remote display, e.g. installed in a car. The key requirement was the utilization of non-proprietary technical solutions. This constrain did not limit the scope to standardized solutions only, but proprietary solutions ought to be open source or somehow accessible for the interested community. One important goal of this project was the awareness of latest design constraints and challenges in the Embedded Systems and System on Chip (SoC) area through a Project Based Learning (PBL) strategy. In this context, the students developed personal design competence, including specification, design trade-offs, design for testability, analysis and verification, and realization.

Wenn das Handy mit dem Auto… :)

Im Rahmen des Masterstudiums haben zwei Kumpels (ebenfalls Masterstudenten) und ich uns in einem Kooperationsprojekt mit Task9 damit beschäftigt ein Handy fernzusteuern. Das hört sich erstmal nach nichts an, allerdings haben wir den Spaß ins Auto integriert und zum Schluss können wir einen lauffähigen Prototypen präsentieren, bestehend aus einem CarPC mit Touchscreen und auf der mobilen Seite ein OpenMoko.
Den Spaß haben wir dann erstmal FH-intern präsentiert und anschließend gab es eine kurze Pressemitteilung auf der FH-Seite, mit reichlich Feedback von anderen Seiten, was uns natärlich schon etwas stolz macht :)
Ein kleiner Auszug:

Ein paar mehr Details zum System:
Continue reading “Wenn das Handy mit dem Auto… :)” »

appazaar im Market Store

appazaarMitte letzter Woche war es soweit und wir haben appazaar in den Market Store von Android released. Wer es also jetzt haben möchte, braucht nur dort zu suchen und auch die Updates werden in Zukunft natürlich darüber released werden. Wir sind schon wieder fleißig dabei zu verbessern und zu korrigieren und die Liste für den nächsten größeren Release ist bereits angefangen! Falls ihr Ideen, Wünsche oder Vorschläge habt, könnt ihr das entweder hier oder besser noch auf dem Blog von appazaar posten. Wir sind für jedes Feedback dankbar :)

Hier ein kleiner Auszug von dem Release-Post:

appazaar WidgetContext tag editor

Since the first beta we improved appazaar a lot but the most significant changes for you will be these:

* context tags: You now have the possibility to describe your current situation with a few words like “home, lunch” or “working” to improve the quality of the recommendations.
* less traffic: We reduced the traffic a lot with zipping everything and scaling the icons down. So there is less data to commit!
* recommending: On the server side we’re now using different algorithms that still need to be trained more, but that already should recommend more interesting apps for you.

appazaar beta release

appazaarAfter some hard work and uncounted hours of testing and improving it’s done: The first beta of appazaar is available :)

appazaar is able to figure out what applications might be interesting for you in your current context and recommends them to you. All you have to do is install it and place the widget on your desktop :mrgreen:

What is appazaar doing?
The short answer: appazaar is the for mobile apps ;)

Once the appazaar-widget is started it will recommend you apps from the Market Store. If you want to know how we know what to recommend, take a short look at the FAQ and the About appazaar page!

As this is just a beta version we’re happy about everyone who’s interested and giving us feedback about it!

Facebook Account finally works with Kopete on Debian testing

The package itself is already available for a while on Ubuntu. Now that libqjson finally arrived in Debian testing (Squeeze) you’re also able to connect to a Facebook account. This way you can use the chat with kopete and don’t need to go to the website itself anymore. For me the 0.1.4 version works okay, even though you can not get it via apt and have to install it manually. Also there still seem to be some bugs but asap there’s a version in the Debian repository I guess that’ll get better too ;)

VirtualBox & USB-Drucker

Seltsamerweise konnte ich in meiner Windows7 VM unter VirtualBox meinen Drucker nicht mehr einbinden. Nachdem eine Googlesuche ohne Erfolg blieb, habe ich mal in den Foren der Jungs gepostet und da kam der entscheidende Tipp: der User muss dafür in der Gruppe lp sein. Eigentlich logisch, aber irgendwie auch nicht… So funktioniert es auf jeden Fall ;)


Ich bin unter die Android-Entwickler gegangen!
Warum? Nun, zum einen habe ich einen neuen Nebenjob im Projekt procomo und zum anderen belege ich dieses Semester das Fach Ubiquitous Computing, das dann anschließend in den, mittlerweile 5 Fächer umfassenden, Kreis meiner Wahlfächer im Master zählt. Man muss zwar nur 3 haben, aber nunja, es gibt halt so vielen interessanten Kram den man dann noch irgendwie dazwischen einbauen möchte :)
Es ist also gut möglich, dass ich mich in Zukunft hier auch mal nebenbei ein wenig über Android auslasse und vielleicht auch den ein oder anderen Tipp geben kann. Mal sehen was da so kommt :mrgreen:

Vortrag über ed, sed & awk

Markus “Meillo” Schnalke hat beim CCC Ulm einen sehr schicken Vortrag über die 3 Tools bzw. Programmiersprachen ed, sed und awk gehalten, den man sich hier runterladen kann. Neben dem Videomitschnitt gibt es dort natürlich auch die Folien und den Code ;)

Dieser Vortrag soll Software vorstellen die schon einige Jahre auf dem Buckel hat. Vieles wird man schon vom Namen her gehört haben, aber nur wenige werden damit selbst gearbeitet haben oder noch immer arbeiten.

Doch diese Programme und Programmiersprachen, auch wenn sie angestaubt sind, gehören noch lange nicht zum Alten Eisen. Sie erledigen getreu ihre Dienste, sie decken bestimmte Nischen besser ab als ihr Nachfolger, sie sind auf vielen Systemen verfügbar … und ja, man muss sie einfach mal verwendet haben! Dieser Vortrag soll eben dazu motivieren.

* Man darf miterleben wie Unix geschrieben wurde.
* Es wird beantwortet warum man Perl nicht unbedingt braucht.
* … und überall wird ein bisschen Unix-Philosophie versteckt sein.

Die Präsentation dieser Softwareschätze wird mit technischen Details und Hintergrundwissen aus vergangenen Zeiten ausgeschmückt werden. Tutorials für einzelne Tools können nicht erwartet werden — viele Anregungen und Ansatzpunkte für eigene Erkundungen aber sehr wohl. Auch die Diskussion mit dem Publikum ist ausdrücklich erwünscht.

In den Hauptrollen: ed, sed, awk


Da es mir schon länger auf die Nerven geht, dass der Lüfter meines Laptops recht konstant mit vielen Umdrehungen läuft, habe ich mich vorhin mal hingesetzt und nach ein paar Lösungen gesucht. Dabei bin ich über das Tool thinkfan gestolpert, das übrigens bei allen debianbasierten Distributionen im Repository liegen sollte. Damit habe ich jetzt ein wenig rumgespielt und bisher schaut es echt gut aus :)
Die ziemlich konservativen Einstellungen der Firmware werden so überschrieben, wie man es selbst gerne hätte und wenn irgendwas nicht funktioniert, wird die Steuerung automatisch auf “auto” gesetzt (trotzdem sollte man das natürlich kontrollieren!!!) und somit wieder der Firmware überlassen. Meine ersten Tests (ein wenig kompilieren und VMs starten) sind alle erfolgreich verlaufen, allerdings werde ich es natürlich noch weiterhin im Auge behalten, schließlich möchte ich nicht, dass mir meine CPU durchbrennt.

Um das Tool nutzen zu können muss man folgendes in /etc/modprobe.d/options.conf einfügen:

options thinkpad_acpi fan_control=1

Damit gibt man die Schreibrechte für /proc/acpi/ibm/fan frei und kann von nun an auch per Hand (bitte vorsichtig!) das Level des Lüfters kontrollieren. Mein Thinkpad unterstützt laut Firmware 7 unterschiedliche Level und die entsprechende Config für thinkfan sieht folgendermaßen aus:

sensor /sys/class/hwmon/hwmon1/device/temp1_input
(0, 0, 55)
(2, 51, 65)
(5, 60, 75)
(7, 70, 32767)

Ich hänge mich da bisher nur an einen Sensor der CPU, allerdings werde ich das noch ändern. Ansonsten schalte ich den Lüfter aus, solange die Temperatur und 55°C liegt und ab 75°C gibt er Vollgas, da sind die Originalsettings etwas vorsichtiger und legen die Umschaltpunkte etwas niedriger an.

Achja, das Startskript (/etc/init.d/thinkfan) funktioniert out-of-the-box leider nicht korrekt, zumindest nicht bei mir, da die Abfrage

“$Start” = yes

in Zeile 34 so nicht richtig ist. Man kann das natürlich korrigieren, allerdings war ich zu faul und habe sie einfach auskommentiert ;)

Ein paar hilfreiche Links und Informationen dazu findet man auch in dem Artikel How to control fan speed auf

Nach einer Woche Testen im, für mich, normalen Betrieb, haben sich die Einstellungen als gut passend rausgestellt. Der Lüfter läuft deutlich weniger und Hitzeprobleme habe ich bisher keine :)

Update #2:
Da sich ein wenig was getan hat, hier ein kleines Update für die thinkpad.conf:

sensor /sys/class/thermal/thermal_zone0/temp
sensor /sys/class/thermal/thermal_zone1/temp

Virtuell bin ich jetzt bei der Box und mein Kernel ist 30

Nachdem ich vor ein paar Tagen auf den radeon Treiber umgestiegen bin, habe ich nun auch meine virtuellen Maschinen umziehen lassen. Bisher bin ich mit VMware eigentlich Recht gut gefahren, aber irgendwie war ich trotzdem nie so richtig damit zufrieden. Vor allem störte es mich, dass es nur relativ selten Updates und Bugfixes gibt und wenn es dann mal welche gibt, kann man sich den Spaß nicht mal direkt aus dem Repository holen, sondern muss es noch umständlich laden, kompilieren und installieren. Also habe ich mal rumgefragt bei einigen Bekannten die VirtualBox benutzen, wie dort so der Stand der Dinge ist und ob man mittlerweile auch damit arbeiten kann. Da mir versichert wurde, dass das meiste funktioniert, habe ich aptitude bemüht. Nach ein paar kleineren Problemen in den Einstellungen und vor allem mit meiner WindowsVM (IDE-/Grafikkartentreiber… ), lief es dann allerdings ziemlich zügig und mein nächster Schritt war dann ein ./vmware-uninstall :mrgreen:

Endlich befreit vom allem, was mich noch an den 2.6.26er Kernel gebunden hat, habe ich mich dann natürlich auch hingesetzt und einen frischen 2.6.30er kompiliert. Dieser läuft wunderbar und bisher auch ziemlich stabil. Ich bin gespannt, ob das in den nächsten Tagen auch so bleiben wird und wie der Stromverbrauch aussieht. Da ich bisher noch nicht unterwegs war, bin ich auch zu faul gewesen die Batterie einzusetzen und rumzutesten ;)

Habe ganz vergessen hier zu erwähnen, dass man natürlich die sources.list anpassen muss, damit man VirtualBox aus dem hauseigenen Repository ziehen kann. Nimmt man das, was in den Debian Repositories rumliegt hat man keine z.B. USB-Unterstützung.

# VirtualBox
deb lenny non-free

Update #2:
Ãœbrigens funktionieren – im Gegensatz zu VMware – mit VirtualBox auch die iTunes, so dass ich endlich die neue Version der Firmware auf meinen iPod spielen kann :)

1 2