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

PHP is dead!

17.09.2008 by tg@
Tags: security

The MirBSD website now runs without PHP even for legacy content. All HTML files are statically generated using mksh and MirMake. Pretty much unbreakable, we think.

While here, I’d like to invite you to try out mksh-current from CVS, as several (minor) bugs have been fixed. There are still some new features pending for another release.

Zaterdag 13 September, Baarn, Nederland. Iedereen wacht op me. Spijtig dat ik niet kan komen. Ik wilde met een vriend die een auto heeft naar Baarn gaan, maar die komt op 10:30 ipv 09:00 CEST, en dan ben ik ook nog niet klaar met wakker worden, koffie drinken, zaken samenzoeken, voor’t weekend inkopen, enzo. Op 12:00 zitten wij in zijn auto… maar dat zijn nog 2½ uren (of meer) tot dat wij aankomen kunnen, dus wordt besloten, er niet meer te gaan. SFD was vanaf 12:00 tot 17:00… voor 2 or 2½ uren moeten wij 5+ uren in’t auto zitten, en dan is nog niet zeker of wij het Brandpunt vinden. Slechte planing. In het duits is er een expressie voor dat: “Verpeilungsfaktor” – Wij zijn dan in’t zwembad geweest.

Groeten an iedereen die daar was… volgende keer dan. Echt jammer dat het niks wordt. Ik geloof ik had te weinig geslapen verleden week, door mijn nieuwe baan in zwitserland.

Wij zatten dan gisteren nog in mijn favoriet kroaats restaurant, er wordt besloten dat ik de volgende tijd minder aan mirbsd zelfs werk, maar het nieuwe server klaar maak en de VM zo installeer dat ze een takeover van de oude www.mirbsd.org vhost kan maken. Ik doe mss eerst nog een snapshot, maar die komt dan zonder Live CD (die moet ik opnieuw maken doordat wij geen mkisofs met al zijn fouten meer gebruiken). Benny doet in de tussentijd meer met ports, bv. fixes voor ccache en distcc (zodat mijn SPARCstation cluster packages kan bouwen ☺) en enige Qt4 ports. Nadat de twee server’s klaar zijn kunnen wij dan verder met mksh, mirmake en zo doen, wanneer het werk nog arbeidsvermogen overig laat (da’s soms moeilijk). gecko2@ doet goeie werk met het opzetten van VMware voor eurynome, ter gebruik stellen van een IPv4, enzo.

Wir haben jetzt ein Blumenkohl-Icon fürs iPhone, Dank an die RUBIs.

Google ist definitiv evil. Ich vermeide sie auch so wie es eben geht, aber bei zwei Sachen habe ich keine Alternative, da sie entweder einfach nicht existieren oder saugen: Suchmaschine (ja ich hab sie alle durch) und Karten (bin halt Geocacher).

Während ich die 2⁶ Caches locker voll habe, siehe die diversen… Open, Free, Cool CommerceFrog Site Rare Jewels Broken Webpages² …Statistiken, fängt Benny erst an, immerhin 2³ hat er schon: Required in CH/F Kimnotyze macht nicht wirklich weiter… Lost in Luzern … gecko2 kommt selten zum Cachen, aber hatte letztens sein Vélo mit, sodaß er sich mit Kabelaffe und mir auf Tour begeben konnte: Janz Weit Draußen Und der Dr. Pfeffer findet in Bremen nichts mehr… wär er bloß mal nicht umgezogen, jaja… gibt halt nur in Bonn schön viele Dinger: Wallapampa
Aber Benny hat echt fieses Anfängerglück, und ich bin fachblind.

Bruscetta sind superlecker, aber füllen, zusammen mit der warmen Mahlzeit, den Bauch sehr an… und wenn man dann vorher noch einen Mojito hatte, hat man gar keine Lust zu hacken, ist ziemlich platt… erst bsiegert@ dann auch mir aufgefallen. Wir sitzen gerade bei N 47° 31.936′ E 007° 38.043′ im Chaostreff Bāsel… und sind ziemlich platt. Aber irgendwas kommt trotzdem bei rum.

Kommt wer mit nach Baarn und ggf. trifft sich mit uns $sonstwo?

cairo regressions

05.09.2008 by bsiegert@
Tags: bug

It seems that everytime I update cairo, another annoying bug pops up. This one is actually a regression: the exact same bug had been fixed in cairo-0.9.3, and now they reintroduced it. It seems that their code is only ever tested on GNU/Linux with all the latest libraries. Solaris and BSD systems are especially likely to blow up.

I have submitted the following text as fd.o bug 17450. Sorry if this wlog is becoming just a dump for upstream bugreports.

"I am trying to compile cairo 1.6.4 on MirOS BSD (an OpenBSD variant). The fontconfig included in the base system does not have the FcFini() function. As I gathered from searching the mailing list archives, this function is optional. However, on systems without FcFini(), the freetype backend is completely disabled.

"From reading the source code, I do not think that FcFini is really essential, and any calls to it are protected by #ifdef HAVE_FCFINI anyway. Thus, I made a small patch for the configure script to make a missing FcFini non-fatal for the freetype font backend.

"What's ironic is that this bug had already existed as bug 3951. It was fixed in 0.9.3."

Six Years of MirBSD

29.08.2008 by tg@
Tags: release mksh

Six years ago, I started collecting patches against OpenBSD, a bunch of 4.4 elitist snobs since the 1980s (or so they say). Said patchkit should eventually become MirOS BSD and the MirPorts Framework, along with a couple of more or less well-known and successful subprojects. Time to celebrate (TGIF)!

IOW, I hacked a Debian package of mirmake, depending on latest mksh of course. It needs more upstream work to be useful and pretty, though.

Let me plug here an animated GIF found somewhere in the net, which shows my opinion about Netscape/Mozilla/Fire…tapir quite well:
firesomething

And, even more unrelated, MirOS is (of course) continuously improving. We now use Fedora Core 4 libraries for the linuxulator, by suggestion of the MidnightBSD people, which should improve some things (it already has opened the door for Opera-linux plugins such as AcroRead-linux).

(The best browser of all is still lynx(1) though.)

FrOSCon redux

25.08.2008 by tg@
Tags: event geocache grml

Hum. This year’s FrOSCon… sucks. At least the catering, which was so much better last year (remembering the Chili con Carne, as well as the Chili non (sin) Carne, fondly… these were produced by wbx@’s family members, which haven’t been included in this year’s planning so some other persons did the catering). And being waked up at 04:00 in the morning due to a call on the mobile phone, for taking care of some drunken booth slave *grml…*, didn’t help either.

The evening’s social event also sucked totally. Since it had been raining until shortly before, they decided to have it inside, except the barbecue of course, but didn’t adjust the volume of the music played to the environment, which caused me to leave the MirOS/XF86 booth in favour of the Debian/grml booth, talking to Mika and Joey… who, like me, didn’t quite like being LITERALLY punched into our stomach by the basses. I left relatively early then, especially as the cocktails (Vutral brought me one, since I couldn’t go near the counter due to the volume of the… whatever they call music) tasted pretty bad and had a (too?) high percentage of alcohol. But talking to the various people, not just Mika and Joey, was good, even though just being at the FH (university) during the social event was really unbearable and physically endangering one’s health.

Other than that, we had quite a lot of fun at the conference, as usual. I still think it has chances to close up to FOSDEM, but they will have to make sure the catering does not get even worse. While FOSDEM does not have any catering, FrOSCon 2006 and 2007 had good food, and regressions count as malus.
Once I found Marc Aurele La France at the train station (which was quite a task), things went well – he even fixed a bug in our xdm configuration at the conference. The bug was inherited from OpenBSD, as usual ☺
Marc also said he enjoyed himself.

I hacked an Asus EeePC… MirOS mostly works (no NIC though), and the graphics card runs at 640x480 VESA… with the new 915resolution port of today, it might do the 800x480, but I can’t test now.

I took the chance to discover a geocache in St. Augustin yesterday, but, while Benny suggested we (him, me and gecko2) go caching in Bonn today, they seem to prefer hacking on the laptops (considering the weather, this is not the worst idea though), so I got time to write a wlog entry (too). I still have some things on my TODO, like fixing the ports with unfetchable distfiles, but hey.
Taking the day before and the day after the conference off is A Good Thing™.
Next one will be the Software Freedom Day in Baarn, Nederland – where not even Wim will go ☺ But I need a car… parents don’t help even if you ask them once a year, but maybe Jonathan from (near) Aachen will join me, he has a car.

My Thinkpad X40 will probably arrive today or tomorrow. Sadly, I didn’t invest any time in evaluating the products before… I learned that the ‘T’ series has 2.5" HDDs instead of the sucky 1.6" HDDs, and a much more solid lid chassis, at FrOSCon. My decision to buy an X40 was based solely on the observation that it was “in” at most OpenBSD developers some years ago (and thusly would most certainly work well with MirOS). Don’t do that then…

Once it’s there, I got to set it up and continue working. It’s bad odem broke so badly, especially as my current contractor (employer, except not quite so) would rather have me working full-time on the project, which is not entirely possible since I still have a life here. But upon setting it up, I might upgrade and/or fix some of the ports, since I’m at it anyway. Plus I get /home encryption.

Marc agreed to merging as much of our X11 changes (both these inherited from OpenBSD’s XF4 module and our own patches) into the XFree86® main tree, some ifdef’d, and helping us migrate to the new 4.7 or upcoming 4.8 release (or probably, 4.8.99.01, since I don’t think the merge will be there in time for 4.8 proper). He was a fun guy and well understanding our issues. The most funny part however was Thomas from Sourcemage (SMGL), who also maintains the mksh spell in their grimoire, considering to retain supporting XFree86® (and modular X.org, but not the buggy monolithic X.org) iff it’s still actively developed, which Marc assured me it is.

Benny agrees that the “Kaiser’s BIO-Kaffee” is decent, despite its pricing of only 3.99 €/£ (may be my high quality milk too, though).

Update: looks like I’ve got a package to fetch from the post station.

In my recent entry, I already talked a bit about pkg-config and its framework support. It turns out that there is another problem. The --libs parameter can be "split" into its parts by using --libs-only-L, --libs-only-l, and --libs-only-other. The LyX configure script, however, did not care about the latter, only the first two. Which brings me to the mail I wrote to the pkg-config mailing list:

"Hi,

"while compiling LyX/Mac the other day, I came across a problem in the way frameworks are handled. On Mac OS, frameworks are a different way to pack a library together with its headers. Framework-related options are put in --libs-only-other, while the configure script was only checking for --libs-only-l and --libs-only-L. While I agree that this is broken behavior, it brings me to my question:

"The way I see it, -Fpath (framework search path) is equivalent to -Lpath for libraries. Thus, -F should maybe be included in the output of "pkg-config --libs-only-L". The same thing goes for the "-framework name" linker option, which is more or less the same thing as "-lname", namely linking against a certain library/framework. Thus, the -framework option (with argument) should be added to the output of --libs-only-l.

"Opinions?"

In other news, FrOSCon has it second and last day today. I am currently in the train on the way. The party ("social event") yesterday was quite good, even though the weather was not as good as last year—it was cold and humid.

X11, etc.

16.08.2008 by tg@
Tags: geocache

Don’t wonder if I appear online less often these days and commit weird and plain ugly things. I’m young and need the money</asr>

Uh, EXPN? Sure. I’m currently working for a company and a customer who both originally were basically the local CCC meet cast into a company. I need to learn a lot of things, and my view of the world has been utterly turned upside down.

At least, I was able to spot some geocaches in the more obscure parts… some would call it primitif… of the world. And in the Elsaß.

Ah, X11… the input is passed as keycode, not as keysym… it’s not easy, trying to write a thing for entering unicode hex chars (damn US keyboard missing the “<>|” key). IME won’t go. Maybe fake a selection and a paste event. Compose works, but only in xterm, which grows from 8 MiB to 34 MiB size and 1 minute startup time, each, when expanding composure. I don’t think that’s worth it, even if unicode is big.

As a new “standard”, we’ll #define all functions we introduce to themselves, like arc4random_pushk(3), to rid autohell.

I have just finished porting the aqua version of LyX (which I need for @work), which is going to become aqua/lyx-mac. Version 1.5.x needs Qt4, which we do not have on MirOS just yet, and the Mac version installs into an application bundle, so it is a completely separate port.

First of all, I discovered TWO bugs in Qt's build system. Not only are the generated .la files wrong, but the .pc files are broken, too. My first bug report contained lots of detail but what finally landed in their bad joke of a bug tracking system is a one-liner. That should teach me not to write bug reports longer than one line ... Seriously, WTF?

Next, our pkg-config (both actually, pkgconfig-bsd is not better) does not grok frameworks. In order to get a correct result, I had to port pkg-config-0.23. It is not in the trunk yet because I was told that newer versions "make bad things happen" on MirOS. What I will do is try to build some stuff using this newer version of pkgconfig and try to find out if it works. So, if you are feeling lucky: Install this and try to build some software on MirOS.

Still cats have less sorrows. Now it’s proven that feline specimen can actually spell. Poor “lolcats” who are abused by many.

Discovering Rivella and Tonnerre mentioning that swiss chocolate exported into the EU is artificially made more sweet than inland production (yuck, sweet chocolate) are some promising points voting for working in Switzerland. It’s still expensive and a major change though. But the payment is good, too.

While mkisofs is finally gone, I had to fix lots of bugs and port a new language, lang/pawn, actually better than others, but the interna still look more than very fragile. Same problem as with Ewe: written for Win32-only at first, made portable later by persons who don’t know how to code for Unix. Ugh, and… I’ve got to learn Python.

Either my VPN, gecko2s Server, or the network (at home, Strato, or here) sucks. Hm… maybe it’s the backup Tonnerre makes.

I should search for some more geocaces, but now that I have some more time than at the beginning of the week, the weather is worsening, and we still have the duties. *grml* I need tear set up, too…

I started hacking on the bootloader issue, decided to move out the various libraries into src/kern/ first, and completed that for zlib, began it for the rest. The other places – src/lib/libc/ src/sys/lib/ src/sys/arch/*/stand/lib* – now look much cleaner already, and in fact can do some better. I also merged bootloader and other improvements from OpenBSD before beginning the file move dance, but it still worked for me in qemu for testing, so I didn’t expect much breakage.

Furthermore, MirOS now officially has OPTU-8 locale (no more CESU-8), even if masqueraded as “en_US.UTF-8” for better application support. The CSUR had already, as posted about quite a few times, allocated us a PUA range, which mksh was already using, and now the base system and libc are beginning to catch up. Thanks to a pen and paper “game” I have sort of a defined finite machine modelling the conversion states, and found out I can get by with the mbstate_t we already were using. tr(1) already doesn’t wreck ISO-8859-1 accents any more (nor binary files), although that definitively needs some testing.

I’d just like to warn people that HEAD (MirOS-current) is a pretty moving target at the moment.

… I still wish I were a cat, sometimes. Just have to stay clear of cat abusers.

Tonight, I managed to port Wine 1.0 from pkgsrc®, with thanks to Hubert Feyrer for mentioning, except it seems to stumble about W^X and memory allocation/mapping in general. I guess we need some help from OpenBSD toolchain experts and possibly both FreeBSD® and pkgsrc® porters dealing with this. I can’t, but I tried a lot.

My other project for tonight failed, once because it has just too many unported dependencies, second because one of them requires gcc4, namely webkit (non-Qt). Okay, they say webkit-Qt can be built with gcc 3.4.6, but it seems to be not recommended. Thus no midori for us ☹ (yet).

The third thing was getting rid of J�rg Schilling… but due to the heat I slept bad and could not get up early. Really! (Yeah yeah…)

You all should read Tonnerre’s wonderful blog posting about how he got rid of Subversion, luckily. (I wonder about said “new” developer’s preference as I’d rather use CVS for everything…)

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

MirOS Logo