Developers’ Weblog

Sponsored by
HostEurope Logo

Developers’ Weblog

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Back home

11.07.2010 by tg@
Tags: bug debian event geocache mksh news release snapshot

Bordeaux was very nice (and towards the end much cooler… it’s actually hotter here at more than 50½° north – too warm to think, or do anything) but the LSM/RMLL was very french. They’ll be in Straßburg and Lüttich the next two years so we can probably be expected to attend. I don’t think I can eat duck (which, in south-west france, is a vegetable) or like all that classic french multi-course food so much, but I had enough Couscous Merguez and Thé à la menthe fraîche… and similar good stuff. Many people spoke English and actually asked me whether I do (probably they couldn’t bear me trying to spea^W^W^Wbutchering the language of the Grande Nation) and in general were a friendly bunch. I did see some people with machine guns in the city on the last day, though. No idea what/why… didn’t dare asking ☻

Just another reason to boycott flying: Mario Lang (one of the speakers) was apparently held on the airport and treated as a terrorist due to his Braille line… they thought it was a bomb or somesuch thing.

Read on for more…

Travelling with the Thalys and TGV was nice (but I loathe the Métro parisienne… they should build a ring train like the Berlin S-Bahn and just put another stop before Paris Nord and Montparnasse for people who just want to switch trains to take the ring train to the other line). And I want air conditioned trams in Germany too!

I met Uriel (invited him for some food and talked lengthy with him and some 9grid guy), XTaran (who was rather busy organising things), and a number of other people. Did some PGP keysigning as well. There’s now an experimental MirOS presence at Launchpad, not sure what exactly we’re going to do with it but, as Canonical does not care (as Jonathan said in his talk – great slides, by the way, really impressive), there’s no harm in having it. Some Perl guy from America (USA… just to make sure ☺) wanted a photograph of me with a sign “I love CVS” just so people back at home would believe him he’s met such a person *grins* of course I plugged in a little advertising but cvs(GNU) is honestly good. The forge hacking session was a little under-visited (but still a success in terms of getting more communication and maybe collaboration underways, especially thinking of common interfaces, DC, semantic web, OSLC-CM) and since the room was (in contrast to my hotel room and the trams!) not air conditioned we didn’t get much hacking done. The Debian booth was about 40% of one FOSDEM style table wide… and subsequently crowded. There were more people (of course, I was trying to get mksh into Haikuports, Mandriva, and other things; talked about KDE 3.5.11 (Trinity), Qt 3 vs Qt 4, and kwalletcli, and in general to a not-so-usual bunch of suspects – like I said, LSM/RMLL really is pretty french-only).

It is too hot, but I still committed src/etc/rc,v version 1.110 which you want to upgrade your /etc/rc to before upgrading mksh(1) in MirBSD. (All in the name of better performance on platforms such as Debian/m68k and not raiding Linux’ inferior RNG… but it does simplify things.)

I could probably write more but at the moment just want to lie down and die until it gets cooler… even the rain didn’t help. My feet hurt (Montparnasse-Bienvenue didn’t help) too.

The current version of mksh had use of arc4random(3) removed, including “set -o arc4random”, to speed it up (on some architectures, a lot) – this will break some existing scripts (such as /etc/rc *cough* on MirBSD…). Hence I decided to publish the next version of mksh(1) as R40 based upon current development, and defer plans for associative arrays (and multidimensional arrays) for mksh R41. There’s also already the change to arguments, so this suits me quite fine.

(Read: if running MirBSD, don’t upgrade mksh at the moment.) There will be a new MirBSD snapshot once this is fixed, maybe a few more changes to the shell for better POSuX compliance, and the recently mentioned patent on LFNs (long filename) in FAT will be taken into account with a patch to msdosfs.

I’ll travel to LSM/RMLL 2010, the Libre Software Meeting (Rencontres Mondiales du Logiciel Libre) tomorrow until the weekend, to hack some on FusionForge (this is worktime for me), visit XTaran, Uriel, and maybe a couple of other “usual people”.

Thundersday, between 10:00 UTC and 12:00 UTC, eurynome will be shut down by gecko2@ due to power supply maintenance on the host system data centre.

We have a new mirror in the Americas, thanks a lot to Mike 'Fuzzy' Partin! Benny will mention it on the webpages once it’s working.


Tags: work

No, it’s not just half the answer. I think we’re much farther down the way than that ☺ while there are still improvements planned, under development, and to come, we’ve gone a long ways from 4.5 based Evolvis platform releases.

I have just upgraded all tarent-internal instances of Evolvis, as well as the public forge, to a new version of the FusionForge based EvolvisForge as well as MediaWiki and its extensions.

There are several new extensions, almost all of them enabled by default. You can see a tech demo of these at (which will automatically show you an English- or German language version depending on your web browser’s preferences). The extensions are:

  • Math
  • Cite
  • Collection
  • CreateBox
  • Footnote
  • GraphViz
  • ImageMap
  • InputBox
  • LanguageSelector
  • NewestPages
  • News
  • PageCSS
  • ParserFunctions
  • Polyglot
  • RSS_Reader
  • SpecialCite
  • SyntaxHighlight_GeSHi

The MediaWiki extensions are “driven” (configured) by the forge semi-automatically, for example RSS_Reader uses a per-project (forge group) cache directory instead of disabling the cache (which needed to be done for the Debian package, since the default installation does not have the luxury of a directory writable for the Apache user). The configuration closely matches the “old-style” (JH) Wiki integration that has been done for Evolvis 4.5 previously.

Further changes include a fair number of bugfixes to the code, theme, wiki, extensions (fed upstream), and XHTML compliance. We know there are still enough bugs to keep us busy for a while, but you might notice some improvements; others are hidden but shorten the Apache error_log noticeably ☺

To further summarise from the developer/package management system changelog the (non-bugfix) changes from the last version include:

  • reduced space requirements by using the xz compressor instead of gzip for nightly Subversion backups
  • give forge (group/project and site) admins more permissions in the Wiki by default
  • Konqueror users have clickable sftp:// links in the places where SFTP/manual file upload can be used
  • displaying filenames of uploaded files, including rules for them, has been improved
  • there are now two automatic mailing lists (for newly created groups/projects): unixname-commits (where every member with commit rights will be added automatically) and unixname-discuss (where every member will be added automatically); of course there’s still the option to unsubscribe or, for non-members, to subscribe (a new Mailman integration is being worked on)
  • Mailman list administrator passwords can now be (re-)set from the forge (by group/project or site admins); be careful to tell your co-admins the new password though…
  • new values for PM (Tasks) status fields
  • the ability to copy a task to another subproject
  • customisable display for the Tasks area

Notable bugfixes:

  • the SCM URLs now always use the correct hostname
  • help window pop-ups are working again
  • Evolvis can now almost fully be used with PHP 5.3 on Debian unstable (although we are still formally targetting Debian Lenny (with select backports and custom packages) specifically)
  • font sizes (in the forge and the wiki) are finally consistent
  • slight performance improvements

The time tracking area in Tasks has been disabled, since there is a company-internal tool doing the same, with an Evolvis integration being developed.

We hope you enjoy the latest installment of the Evolvis platform!

-- Thorsten Glaser, for the tarent Evolvis task forge, FusionForge and Mediawiki

odem is dead

17.06.2010 by tg@

My laptop odem has a somewhat split personality… half of it ended up in the waste bin, the other half will probably end up being sold under price to someone who may then sell the parts separately from each other (I’m not in the mood to do packaging and shipping). Salvaged parts: some PC133 SO-SDRAM (probably 512 and 256 MiB), an Athlon XP 1400+ CPU, an Acer Aspire 1300XC(?) BIOS, floppy drive, DVD-ROM/CD-RW drive, complete display (panel, inverter and chassis), CMOS battery, a lot of screws, the fan, some cables, the upper half of the chassis, the keyboard, and probably other things.

In case someone noticed: the mksh web page now looks nicer, and it’s even mentioned in some forum thread as the “popular” shell ☺

Mojito tastes good… we had a soldering social evening at $orkplace followed by an ad-hōc visit to the cocktail bar due to missing the tram (caught the next one). Summer’s gone again though… rain really is imminent now ☹

This wlog entry is presented you by gecko2@’s nagging… we’re really working though, so don’t expect many… I’m even doing the Debian stuff only at ork at the moment.

With EvolvisForge 4.8.3+evolvis20, we have a new configuration system for Apache 2 (being prepared for merging into FusionForge) which greatly simplifies things.

The most common tasks can now be easily solved:

  • /etc/gforge/templates/ uncomment two lines, and all forge vhosts redirect to https unconditionally
  • /etc/gforge/templates/ uncomment a bunch of lines, and you get HTTP Basic Auth with PAM backend accessing nss_pgsql2, which means you must login with your forge username and password to display the site
  • /etc/gforge/templates/ copy the same lines here, and the project homepages (*.forge vhosts) are protected in the same manner
  • /etc/gforge/httpd.d/*: change 02namevhost, 06maindirhttp, 20list, 40virtualhost if you want not *:80 and *:443 vhosts but per-IPv4-address vhosts
  • /etc/gforge/gforge.conf: insert lines like 「sys_sslcrt=/etc/ssl/my.cer」, 「sys_sslkey=/etc/ssl/private/my.key」, 「sys_ssl_apache_extra_cmd=SSLCertificateChainFile /etc/ssl/chain.pem」 to configure HTTPS properly and easily

Of course, there’s more to that: If you have more vhosts, just 「Include /etc/gforge/」 to disable a potential security hole / information leak, 「Include /etc/gforge/」 to log into the same files, 「Include /etc/gforge/」 (SSL off) and 「Include /etc/gforge/」 (SSL on) to use the same SSL configuration as the forge. The latter is especially important if you have more than one 〈VirtualHost *:443〉 container, as Apache 2 uses the configuration from the ASCIIbetically first one.

I was able to completely switch from the old, hand-edited configuration to a generated one with little, if any, changes on all our installations now. Some legacy or useful vhosts have been split out, for example a redirect for the old-style Wiki URIs, the Maven 2 repository vhosts, and Alfresco/Domisol (which was already separate but now got split port-80/443 configuration and the above-mentioned Include directives).

Furthermore, eMails from forge users to the FOO-commits@ mailing lists are always allowed by default for newly created lists, and users added to a group with SVN commit rights will be automatically subscribed to that list. We now issue the Forge Identification Header and display the version on the webpage. There was, of course, your usual round of bugfixes and infrastructure improvements, including preparations for more things to come (so stay tuned).

Roland will, as usual, take the best out of EvolvisForge and put it into FusionForge (et vice versa).

There’s also news on the not-so-forge front of Evolvis: our Hudson installations talk Jabber now, and the integration is becoming more tight. We can drive both old-style wikis and gforge-plugin-mediawiki at the same time. We’ve begun adding a bunch of mediawiki plugins (more to follow as needed); if there are people packaging those for Debian already, cooperation is desired.

Until 12th of June, the “Fairtrade Software” booth at LinuxTag 2010 in Berlin, Germany, will present Evolvis and FusionForge to the public. Visit us in Hall 7.2a, Booth 123, and check out the other exciting tarent projects!

SPARCstation 20 (75 MHz)

09.06.2010 by tg@
Tags: debian rant

Wenn Du denkst, MirBSD wäre langsam und sein Installer in irgendeiner Art und Weise doof, dann installiere mal Debian (etch, neuere Versionen können nur noch sun4u und sun4v, kein sun4m mehr) auf einer SPARCstation 20.

Lahm wie Sau, das Teil. Und der Installer ist schwarz auf weiß – was nicht so schlimm wäre, wenn der Cursor (und die dialog-Markierungen) nicht ebenfalls schwarz auf weiß wären…

Ich bin ja mal gespannt, ob das durchläuft.

In response to a planet.d.o series (mentioned in #grml on IRC) of postings: In a sensible shell, Esc+# not only pushes it back but also re-enables the command. Try it out: l s Esc # Cursor-Up Esc #

tg@blau:~ $ #ls
tg@blau:~ $ ls

The command sticks in the history, and is not immediately shown in the next interactive input line, which I consider a plus in most use cases. Anyway, try mksh (just a-g i it), there are a lot of goodies. I found out about Ctrl-O only a year or so ago myself…

I wonder why schizo didn’t write about how to do it in posh tho ☺

Hello, World!

22.05.2010 by tg@
Tags: mksh

Just a random status update: I’ve been too busy with the dayjob, now ill for about two weeks already. There have been some minor mksh fixes but I’d still like to catch up on the Austin ML postings before releasing R39d; Android discussion is live. The base system has some issues found, but I will take a while (no hacking mood, even when not ill).

Scan this! and Google’s playable logo is just weird (at least no sound in Opera) but at least it’s not Fläsh. I played it but there’s no second level. Tonnerre likes «Forth op de Fiets» (as a pun on Ruby on Rails), which lets me remember the Forth Glockenspiel.

Sorry for the lack of updates, but MirBSD is still pretty much a fun project, and Benny is working on his Doctor thesis too.

FWIW: Patents on software are evil and times are worsening. I suppose, if we’ll be able to continue MirBSD at all, I need to disable FAT LFN support. Sucks.

The bsiegert-cfgfile branch of the MirPorts package tools is coming along nicely. Today I committed a patch to info/perform.c that puts its logic from the head on its feet, making the function more readable and, incidentally, getting rid of two gotos. The header of the information has become a little more informative. Watch:

% pkg_info foo
pkg_info(foo): cannot find package 'foo' installed or in a file!

% pkg_info tiff | head -4
Information for tiff-3.7.4-1 (installed):

library routines for working with TIFF images

Something new that I got working is support for giving the name of an uninstalled package in a repository mentioned in the new /etc/pkgtools/pkgtools.conf file. This works for both local and remote repos:

% pkg_info tiff-cxx | head -4
Information for /usr/ports/Packages/tiff-cxx-3.7.4-1.cgz:

C++ API for working with TIFF images

% pkg_info mc | head -4
>>> ftp -o -
Information for /var/folders/Xk/XkVpSyd8F0WZnoK9NwgsWU+++TI/-Tmp-//instmp.4OV2INPVOK:

free Norton Commander clone with many useful features

Actually, in the last case, the output could be improved some more :). You can also give it a package specification such as "tiff->=3.0". If more than one package matches the specification given, then a menu is displayed from which you choose one. This happens, for instance, if you have an older version built locally and a newer version of the same package in a remote repo, or if several flavours of the package are available.

The changes are not in the HEAD branch yet, I will merge them when I consider it "done".

tl;dr: EvolvisForge 4.8 deployed on *all* tarent systems now. Let’s party! Stay tuned for even more cool features.

I just installed EvolvisForge 4.8.3+evolvis12 (after quite some bugfixing) on and the last remaining internal instance.

This means that tarent is no longer running GForge 4.5 so let’s celebrate!

You’re hereby cordially invited to check out the public Evolvis and what makes it so good (FusionForge based) and then even better (our hard work ☺). This is the latest and greatest, but still work in progress, we have a lot of further improvements planned, so stay tuned!

Some things are ugly.

Waldi’s suggestion fails.

db4.6_upgrade: Program version 4.6 doesn’t match environment version 4.4
db4.6_upgrade: DB_ENV->open: DB_VERSION_MISMATCH: Database environment version mismatch

Can’t start it manually.

debian-sks@dev:~$ /usr/sbin/sks recon
Fatal error: exception Bdb.DBError(“Program version 4.6 doesn’t match environment version 4.4″)

The log only shows:

2010-05-09 16:59:29 Opening log
2010-05-09 16:59:29 sks_db, SKS version 1.1.0
2010-05-09 16:59:29 Copyright Yaron Minsky 2002, 2003, 2004
2010-05-09 16:59:29 Licensed under GPL. See COPYING file for details
2010-05-09 16:59:29 http port: 11371
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Malformed entry
2010-05-09 16:59:29 Opening KeyDB database
2010-05-09 16:59:29 Shutting down database

The solution is ugly as hell, too:

root@dev:/ # su – debian-sks
debian-sks@dev:~$ cd DB
debian-sks@dev:~/DB$ db4.4_checkpoint -1
debian-sks@dev:~/DB$ db4.4_recover
debian-sks@dev:~/DB$ db4.4_archive
debian-sks@dev:~/DB$ db4.6_archive -d
debian-sks@dev:~/dump$ cd ../PTree/
debian-sks@dev:~/PTree$ db4.4_checkpoint -1
debian-sks@dev:~/PTree$ db4.4_recover
debian-sks@dev:~/PTree$ db4.4_archive
debian-sks@dev:~/PTree$ db4.6_archive -d
debian-sks@dev:~/PTree$ logout
root@dev:/ # /etc/init.d/sks start
Starting sks daemons: sksdb.. sksrecon.. done.

Wow, our internal keyserver works again. Thank you, Debian…

This solution courtesy of Uwe Hermann, although it was for Suckwürstchen.

Upcoming migrations

03.04.2010 by tg@

I finally managed to move my arse and buy a new Socket 7 CPU fan for herc, two new 160 GB IDE HDDs for tear, and plan a number of other migrations. Within the next time, the SSL certificates will be renewed (changed away from CAcert to some as of yet undefined CA for the main (web)server and to for the secondary services), www will possible move to a dedicated box, cvs from herc to tear for sure though. I’m at gecko2@’s place right now though, so it’ll take a while more (obviously). I’ll take the chance to re-design a number of things during the process and clean up old, no longer used things, as well.

I know I should probably have written something about CLT (it was great, except for the social event, which confused everyone about the who where etc. and I had a headache and the sounds they provided (no music…) didn’t help either, but it was planned and exercised very well and much cleaner than ULB too ☺) and that I managed to do two geocaches in East Germany… and a plethora of other things (I did staff the Debian booth, there were neither a MirBSD nor FreeWRT booth after all; there is interest in makefs(8) but the 31/32-bit limit must go; etc). I’ve had a demanding three weeks at work though, and I’ll probably not write much content for the website anyway any more, but I’ll try to get more hacking done. mksh got more POSIX compliance, and we’re discussing about the things on the Austin Group mailing list. I’ll be writing a bootloaderloader for mika and Grml, with special consideration for a blind user. I need to get screws, RAM, a hard disc and a PSU for my new Cobalt Qube2 and put Debian on it to debug things. I plan to buy the upgrade kit (to 20 MiB RAM) and a new battery for nwt (and use glue to put the broken-off edge back there) just like I started renovating my hardware pool. OpenSSH needs an import, others may need work. So, I’ve got a TODO longer than a lifetime, so I get to pick my things ;-)

There will not be a MirBSD booth at LinuxTag in Berlin. If I’m going (even that’s not sure), I join a shared AllBSD booth, which seems to not happen, or… bsiegert@ will be at some conference for his Chemistry stuff again, and it’s too far for gecko2@ to attend, so I would’ve been alone anyway. At FrOSCon, though, we’ll be sure to happen (I’m even trying to cobble together a FreeWRT booth again, but there are not enough volunteers coming who aren’t expected as another booths’ staff).

gecko2@ upgraded ports/editors/nano and desired documentation, possibly in the form of a tutorial, on how to do it. And I hope bsiegert@ will remember that Google’s “Go” is the second one of that name and use something like ports/lang/google-go (on second thought, a company name in a directory is bad too). And there’s kencc in ports already so I’d like an Inferno port first.

ciruZ said that Syllable is pretty much dead… sad, since mksh now works on Haiku and both Syllable and Plan 9 had similar issues with it, so I was hoping we could get them fixed… (bsiegert@ is our resident Plan 9 expert, so I need to push him into looking at it.) Speaking of MirWorldDomination, /system/bin/sh on Android-x86 is an mksh(1) already ☺

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

MirOS Logo