Developers’ Weblog MirOS ξ - the MirOS Project Sat, 16 Aug 2008 22:32:19 +0000 http://mirbsd.de/ tg@mirbsd.org (The MirOS Project) bsiegert@mirbsd.org (The MirOS Project) All content Copyright © by The MirOS Project or its respective writers. Permission to reproduce wlog entries in unmodified form without notice is granted provided they are not used to endorse or promote any products or opinions. For everything else you need to obtain written permission from the copyright owner. en MirOS Website, written in mksh; RCS IDs: $MirOS: www/mk/parser,v 1.5 2008/07/24 13:09:39 tg Exp $ $MirOS: www/mk/common,v 1.2 2008/07/24 13:09:38 tg Exp $ $MirOS: www/mk/htsconv,v 1.26 2008/07/25 16:44:19 tg Exp $ $MirOS: www/mk/inc2rss,v 1.13 2008/07/24 19:29:52 tg Exp $ RCS ID of the content database: $MirOS: www/data/wlog-10.inc,v 1.71 2008/08/16 22:26:03 tg Exp $ X11, etc. Sat, 16 Aug 2008 22:19:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080816-tg.htm#e20080816-tg tag:mirbsd.org:wlog-10:e20080816-tg tg@mirbsd.org (MirOS Developer tg) <p>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&lt;/asr&gt;</p> <p>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.</p> <p>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ß.</p> <p>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 “&lt;&gt;|” 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 <em>is</em> big.</p> <p>As a new “standard”, we’ll <tt>#define</tt> all functions we introduce to themselves, like <a href="http://www.mirbsd.org/htman/i386/man3/arc4random_pushk.htm">arc4random_pushk(3)</a>, to rid autohell.</p> Cats, Rivella, other nice things, and… yuck Fri, 08 Aug 2008 21:03:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080808-tg.htm#e20080808-tg tag:mirbsd.org:wlog-10:e20080808-tg tg@mirbsd.org (MirOS Developer tg) <p>Still <a href="http://www.mirbsd.org/permalinks/wlog-10_e20080725-tg.htm">cats have less sorrows</a>. Now it’s proven that feline specimen <a href="http://incredimazing.com/static/media/2007/12/09/915d7ec0e067ac2/i_question.jpg">can actually spell</a>. Poor “lolcats” who are abused by many.</p> <p>Discovering <a href="http://www.rivella.ch/">Rivella</a> 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.</p> <p>While mkisofs is finally gone, I had to fix lots of bugs and port a new language, <tt>lang/pawn</tt>, 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.</p> <p>Either my VPN, gecko2s Server, or the network (at home, Strato, or here) sucks. Hm… maybe it’s the backup Tonnerre makes.</p> <p>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…</p> Improving MirPorts by porting stuff Tue, 13 Jan 1914 16:53:44 +0000 http://www.mirbsd.org/permalinks/wlog-10_e19140113-bsiegert.htm#e19140113-bsiegert tag:mirbsd.org:wlog-10:e19140113-bsiegert bsiegert@mirbsd.org (MirOS Developer bsiegert) <p>I have just finished porting the aqua version of LyX (which I need for @work), which is going to become <tt>aqua/lyx-mac</tt>. 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.</p> <p>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 href="http://trolltech.com/developer/task-tracker/index_html?method=entry&amp;id=218261">a one-liner</a>. That should teach me not to write bug reports longer than one line ... Seriously, WTF?</p> <p>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.</p> HEAD may be broken, but improvements coming, OPTU-8 charset Sat, 02 Aug 2008 00:12:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080802-tg.htm#e20080802-tg tag:mirbsd.org:wlog-10:e20080802-tg tg@mirbsd.org (MirOS Developer tg) <p>I started hacking on the bootloader issue, decided to move out the various libraries into <tt>src/kern/</tt> first, and completed that for zlib, began it for the rest. The other places – <tt>src/lib/libc/</tt> <tt>src/sys/lib/</tt> <tt>src/sys/arch/*/stand/lib*</tt> – 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.</p> <p>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 <a href="http://www.mirbsd.org/mksh.htm">mksh</a> 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. <a href="http://www.mirbsd.org/htman/i386/man1/tr.htm">tr(1)</a> already doesn’t wreck ISO-8859-1 accents any more (nor binary files), although that definitively needs some testing.</p> <p>I’d just like to warn people that HEAD (MirOS-current) is a pretty moving target at the moment.</p> Get me some beer, Wine sucks Wed, 30 Jul 2008 00:16:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080730-tg.htm#e20080730-tg tag:mirbsd.org:wlog-10:e20080730-tg tg@mirbsd.org (MirOS Developer tg) <p>… I still <a href="http://www.mirbsd.org/permalinks/wlog-10_e20080725-tg.htm">wish I were a cat</a>, sometimes. Just have to stay clear of <a href="http://partmaps.org/era/unix/award.html">cat abusers</a>.</p> <p>Tonight, I managed to port Wine 1.0 from pkgsrc®, with thanks to <a href="http://www.feyrer.de/NetBSD/blog.html/nb_20080728_1037.html">Hubert Feyrer</a> 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.</p> <p>My other project for tonight failed, once because it has just too many unported dependencies, second because one of them requires gcc4, namely <a href="http://undeadly.org/cgi?action=article&amp;sid=20080728142422">webkit (non-Qt)</a>. 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).</p> <p>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…)</p> <p>You all should read Tonnerre’s wonderful blog posting about how he got <a href="http://blog.pas-un-geek-en-tant-que-tel.ch/archives/2008/07/23/Subversion_-_tales_from_a_failed_migration/">rid of Subversion</a>, luckily. (I wonder about said “new” developer’s preference as I’d rather use CVS for everything…)</p> Katze müßte man sein… Fri, 25 Jul 2008 16:22:34 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080725-tg.htm#e20080725-tg tag:mirbsd.org:wlog-10:e20080725-tg tg@mirbsd.org (MirOS Developer tg) <p>… oder: de vitae felidae</p> <hr /> <p>Katze müßte man sein, oder Kater halt, je nachdem. Den ganzen Tag sich faul in der Sonne räkeln, unter dem Heck eines Autos liegen und ab und zu den an ihr vorbeiradelnden Zweibeinern zuzwinkern und sie mit dem Kopf verfolgen; wenn man Hunger hat, reicht es, den Dosenöffner auf zwei Beinen mitleiderregend anzuschauen und/oder zu -miauen… manche haben sogar ein <a href="http://henrythecat.livejournal.com/">eigenes Blog</a> oder gar ein <a href="http://justjournal.com/users/midnight">BSD nach einem benannt</a>; wem das nicht reicht hält sich den Nachbar des eigenen Dosenöffners, nämlich <em>homsn</em>, als zusätzlichen Hausmensch (quasi wie wir uns Haustiere, z.B. Hunde, halten)… der krault einen dann, und man muß nichtmals hingehen.</p> <hr /> <p>I just coined a new term: IMACS. The connotation is: I’ll hack the <a href="http://www.mirbsd.org/htman/i386/man4/ukbd.htm">ukbd(4)</a> driver to allow inmetaaltctrlshifting entropy into the kernel too, soon.</p> <p><strong>Update 26.07.2008</strong>: sadly, USB keyboards don’t seem to generate any interrupt requests on modifier key presses or releases. This means you’re stuck to DIN or PS/2 <a href="http://www.mirbsd.org/htman/i386/man4/pckbd.htm">pckbd(4)</a> or Sun (&amp;c.) <a href="http://www.mirbsd.org/htman/sparc/man4/zskbd.htm">zskbd(4/sparc)</a> for entropy collection via IMACSing. Can’t be helped…</p> Trumping OpenBSD, once again ☺ Wed, 23 Jul 2008 01:47:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080723-tg.htm#e20080723-tg tag:mirbsd.org:wlog-10:e20080723-tg tg@mirbsd.org (MirOS Developer tg) <p>With the latest edition of MirOS #10-current’s snapshot (read the <a href="http://www.mirbsd.org/permalinks/news_e20080722-tg.htm">announcement</a> for more details), we have trumped OpenBSD once more. While being dual-arch is nothing new (to them), and being runnable as Live-HDD, Live-CF-Card, etc. is nothing new (to us), we haven’t yet had a dual-arch Live-CD/DVD (or HDD or CF/SD/MMC/… Card or USB stick) yet. Well, only one of the two architectures has Live CD capability, but we neither have baselive image capability for sparc yet (though that would be possible, even if somewhat kludgy) nor would it have fit on the ISO 9660 image within the boundaries of a CD-R. And DVDs don’t match well with SPARCstation 20s ☻</p> <p>Coming to that, I recently recherched if gcc 3.4.6, which we currently use as system compiler, can be used to build gcc 4.3 (with special care on the Ada part). Looks like you can even use gcc 2.95 for that, lucky us. This means I should somehow discover the Ada patch for gdb 6.3, which – again, luckily – we use, and apply it. I had talked with Benny about the compiler issue… originally I wanted to strip down the system compiler to the bare minimum once a more recent gcc (and possibly, LLVM, SUNWcc, pcc, etc.) are in ports and usable, but with the proposals to rewrite gcc in dreaded C++, C++ API issues, licencing issues, Ada bootstrapping, etc. we will probably continue to require GNU make for building the base compiler (the bad part) and be able to announce we’re good for developing (the good part of keeping the full-featured gcc near base). Just the Java™ part will not be re-enabled in near future, as it isn’t used for bootstrapping Iced Tea anyway. (It <em>can</em> be used for simple things though.)</p> <p>With all the friendly fire, OpenBSD bashing, etc. aside, I would like to use this place to thank a few OpenBSD developers for helping me out with a bug in <a href="http://www.mirbsd.org/mksh.htm">mksh</a> as well as the issue with <a href="http://www.mirbsd.org/htman/i386/man8/sshd.htm">sshd(8)</a> on sparc (and probably i386 even if it didn’t show up) I had (which even was my own fault). While you guys still don’t have an mksh port in your tree, some of you are really helpful (also hi Miod) sometimes, and I hope we can drink a few beer together at the next FOSDEM etc. and <a href="http://www.mirbsd.org/permalinks/news_e20080722-tg-g10001.htm">FrOSCon</a> of course. (Which I hope we will also be able to use to discuss the state of our X11 tree.) To Linus: while OpenBSD developers may be masturbating monkeys, at least they’re able to design stable APIs, drink beer, and use sane version control systems with central quality control <strong>while being annoyed by humppa</strong>.</p> <p>The usual unrelated news: Basel, ich komme! Schon mal GRÜẞE im Voraus an die Schweizer, die dies lesen.</p> <p>mksh side notes: some older versions of SunC 5.9 fail on <tt>({</tt> stuff in acomp, use <tt>env HAVE_EXPSTMT=0</tt> to build then. <a href="http://nwcc.sourceforge.net/">nwcc</a> also has issues.</p> <p>MirBSD side notes: We build for V8 CPUs on sparc, but still only V7 are emulated by <a href="http://people.csail.mit.edu/fredette/tme/">tme</a>. And while V9 CPUs in V8+ mode shouldn’t be a problem, there’s no interest from the OpenBSD camp to run the sparc (not sparc64) port on sun4u or even sun4v machines, so no fast build machines yet… *snief*</p> MirEwe requiescas in pacem Tue, 22 Jul 2008 20:54:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080722-tg.htm#e20080722-tg tag:mirbsd.org:wlog-10:e20080722-tg tg@mirbsd.org (MirOS Developer tg) <p>Since <a href="http://www.cachewolf.de/">CacheWolf</a> was the only use case, I decided to remove MirEwe from the repository entirely, as CacheWolf will be rewritten to use the Eve VM, inevitably.</p> <p>Not only have I removed a last source tarball (distfile) of <a href="http://www.mirbsd.org/MirOS/dist/hosted/other/ewe-1.49mb4.tar.gz">Lunix Ewe 1.49mb4</a>, with <tt>CompileEwe.zip</tt>, <tt>JavaEwe.zip</tt>, and <tt>ewe.jar</tt> pregenerated, but the comma-v <a href="http://www.mirbsd.org/htman/i386/man5/rcsfile.htm">rcsfile(5)</a>s are also archived in a <a href="http://www.mirbsd.org/MirOS/dist/hosted/other/ewe-rcsfiles.cgz">gzipped sv4crc</a> file, <a href="http://www.mirbsd.org/htman/i386/man1/gzsig.htm">gzsig(1)</a>ned, as usual.</p> <p>And, also as usual, one more unrelated thing: <tt><a href="http://www.mirbsd.org/htman/i386/man8/config.htm">config(8)</a> -ef /bsd</tt> should not only be able to handle <a href="http://www.mirbsd.org/htman/i386/man1/gzip.htm">gzip(1)</a>ped kernels, but also personalise them by rewriting the <tt>initial_entropy</tt> array. TODO. The snapshot, dualive ISO 9660 image, is almost complete and will be uploaded later.</p> <p><strong>Update 26.07.2008</strong>: personalising done, snapshot broken.</p> mksh – The iShell, Episode Ⅱ Sun, 20 Jul 2008 18:27:42 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080720-tg.htm#e20080720-tg tag:mirbsd.org:wlog-10:e20080720-tg tg@mirbsd.org (MirOS Developer tg) <h3><a href="http://www.mirbsd.org/mksh.htm">mksh</a> – The iShell</h3> <p>Thanks to help from people in the various IRC channels, and gecko2@ jailbreaking his iPhone 3G (not G3…), I was able to run (albeit not test – there is no Perl for the iPhone yet) two <a href="http://www.mirbsd.org/htman/i386/man1/mksh.htm">mksh(1)</a> binaries on it: a normal one and a fat binary (aka universal binary – this one, containing code for 5 (five) architectures, can truly be called an universal binary ☺).</p> <p>I packaged the modified build script, an extra ldid binary (built for OSX86) provided by <em>someone else</em>, and the output of the build process, together with a readme, as a <a href="http://www.mirbsd.org/htman/i386/man1/gzsig.htm">gzsig(1)</a>ned <a href="https://eurynome.mirbsd.org/pub/iShell.tgz">tarball</a> on our server again – note that the cryptographic signature is only for time stamping (and download integrity checking) and does <strong>not</strong> imply any warranties, especially for the third-party software involved.</p> <p>While here, we would be pleased if the reader supports our <a href="http://www.mirbsd.org/permalinks/wlog-10_e20080714-tg.htm">proposal</a> and requests Apple to include <a href="http://www.mirbsd.org/mksh.htm">mksh</a> in the default installations. We would also be pleased if the mksh-iPhone binary were to make it into one of the Cydia repositories, contact us via <a href="http://www.mirbsd.org/irc.htm">IRC</a> or mailing lists for assistance.</p> <p>If someone were to package Perl 5.8 or so, that’d be great too.</p> <p>To the readers from ##iphone-hackers on the one and #iphone-dev on the other IRC network: *waves a friendly hello*</p> plans for the immediate future Sat, 19 Jul 2008 22:17:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080719-tg.htm#e20080719-tg tag:mirbsd.org:wlog-10:e20080719-tg tg@mirbsd.org (MirOS Developer tg) <p>My plans are as follows: after squishing out all remaining bugs, I’ll publish another MirOS-current snapshot (i386 baselive, i386 installer, sparc installer, some selected few binary packages for both arches), announce that on the website, and make a CVS repository tarball.</p> <p>After that, I’ll concentrate on setting up the new servers (tear and euynome) fully, and dispose of rant-featuring-herc. Features I wanted, such as full AES <a href="http://www.mirbsd.org/htman/i386/man4/vnd.htm">vnd(4)</a> encryption, DJBDNS with no split v4/v6 transport binaries, etc. will have to wait.</p> <p>With the infrastructure in place, we can start hacking again. We had planned on bringing out MirOS #10bis in time for FOSDEM, but it looks more like just another -stable snapshot, and maybe another month for the second release of -stable; Benny will have to work some on the branch prior to its tagging (I’ll concentrate on -current), especially because we want to use X11 (and gcc) from HEAD, since these are not branched.</p> mksh – The iShell [updated 2 times] Thu, 17 Jul 2008 21:43:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080717-tg.htm#e20080717-tg tag:mirbsd.org:wlog-10:e20080717-tg tg@mirbsd.org (MirOS Developer tg) <h3><a href="http://www.mirbsd.org/mksh.htm">mksh</a> – The iShell</h3> <p style="margin-bottom:0px;">Try this:</p> <div style="border:4px ridge blue; margin:0px 24px 0px 24px; padding:12px;"> <pre> $ cvs -d anoncvs@anoncvs.mirbsd.org:/cvs co -PA mksh $ cd mksh $ cat &gt;iBuild.sh &lt;&lt;-'EOF' DEV=/Developer/Platforms/iPhoneOS.platform/Developer SDK=${DEV}/SDKs/iPhoneOS2.0.sdk CC="${DEV}/usr/bin/gcc-4.0 -arch arm" CPPFLAGS="-I${SDK}/usr/include" CPPFLAGS="$CPPFLAGS -I${DEV}/usr/lib/gcc/arm-apple-darwin9/4.0.1/include" CPPFLAGS="$CPPFLAGS -F${SDK}/System/library/Frameworks" CPPFLAGS="$CPPFLAGS -F${SDK}/System/library/PrivateFrameworks" CPPFLAGS="$CPPFLAGS -F/System/library/Frameworks" LDFLAGS="-L${SDK}/usr/lib -L${DEV}/usr/lib/gcc/arm-apple-darwin9/4.0.1/lib" export CC CPPFLAGS LDFLAGS exec "$@" EOF $ mksh iBuild.sh mksh Build.sh -r $ file mksh </pre> </div><p style="margin-top:0px;">Mach-O executable arm</p> <p>Of course, you need the iPhone 2.0 SDK on your Mac for this (and, presumably, an installed native mksh… otherwise just change the above instructions a little.</p> <p>We haven't tested it yet, but if gecko2@ can figure out how to run mobileterminal.app inside the emulator, he will… and possibly jailbreak his iPhone G3.</p> <p>Maybe this fact (availability of mksh) strengthens <a href="http://www.mirbsd.org/permalinks/wlog-10_e20080714-tg.htm">our point</a>.</p> <p>In the meanwhile, gecko2@ has found the geocaches I placed.</p> <p><strong>Update 18.07.2008 12:42</strong> – we have a fat binary with five architectures (amd64 arm i386 powerpc ppc64) now. This is the <a href="https://eurynome.mirbsd.org/pub/iShell.tgz">iShell</a>, indeed.</p> mksh on… platforms Wed, 16 Jul 2008 23:42:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080716-tg.htm#e20080716-tg tag:mirbsd.org:wlog-10:e20080716-tg tg@mirbsd.org (MirOS Developer tg) <p>Okay, so I installed Windows® 2000 and Interix again. And UWIN. And the Microsoft, Digital Mars, and Borland command-line compilers. And <a href="http://www.mirbsd.org/mksh.htm">mksh</a> worked, of course.</p> <p>Then I tried DJGPP. Yeah, <a href="http://www.mirbsd.org/htman/i386/man1/mksh.htm">mksh(1)</a> for MS-DOS®. *sigh* GNU bash, the only shell available, SIGSEGVs on me trying to build anything nōn-trivial, even worse with gcc 4.2.3 than with gcc 3.2.3… but even pdksh could not be made, due to SIGCHLD missing. Too bad, no mksh for you, Mr “I don’t accept bug report mails from your IP, nor in the webinterface” Delorie.</p> <p>The iPhone… will have to wait. We can install the BSD Subsystem and the Terminal application in gecko2’s SDK’s ARM emulator, then build and test for that. I just gave him the link to the BSD package, but he went to bed shortly before, so maybe tomorrow.</p> <p>And then, mksh R35b can go out, we fixed some bugs and tested on more platforms (fixing testsuite shortcomings during that time, even).</p> Inclusion of the MirBSD Korn Shell Mon, 14 Jul 2008 00:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080714-tg.htm#e20080714-tg tag:mirbsd.org:wlog-10:e20080714-tg tg@mirbsd.org (MirOS Developer tg) <p>As <a href="http://marc.info/?m=121469556601834">requested</a>, <a href="http://www.mirbsd.org/permalinks/wlog-10_e20080712-bsiegert.htm">Benny</a> has written to Apple, Inc. about inclusion of mksh. Lucas “laffer1” Holt of MidnightBSD has said to follow, as has Andreas “gecko2” Gockel, the Fink maintainer for <a href="http://www.mirbsd.org/mksh.htm">mksh</a>. Link to <a href="http://www.mirbsd.org/permalinks/wlog-10_e20080714-tg.htm">this entry</a>.</p> <p>Lucas actually said he would care more about and use <a href="http://www.mirbsd.org/htman/i386/man1/mksh.htm">mksh(1)</a> if it were integrated in Mac OSX, as most MidnightBSD developers (like Benny) do most of their work on a Macintosh. He has integrated mksh in his operating system quite some time ago.</p> <p>mksh is also the default shell, including <tt>/bin/sh</tt>, on <a href="https://www.freewrt.org/trac">FreeWRT</a> Embedded GNU/Linux.</p> <p>Andreas already has run tests for using <a href="http://www.mirbsd.org/htman/i386/man1/mksh.htm">mksh(1)</a> as <tt>/bin/sh</tt> on Darwin, although I did not request that personally, and brought up the question of <tt>/etc/profile</tt> adjustments and <tt>~/.mkshrc</tt> integration. (FreeWRT has a changed system-wide profile including a system-wide copy of the mkshrc file; other possible ways would involve setting <tt>$ENV</tt> or (preferred) placing <tt>.mkshrc</tt> in the New User’s Skeleton and in root’s home directory, if existent.</p> <p>Strong points of <a href="http://www.mirbsd.org/mksh.htm">mksh</a>: free (as in BSD, now even without advertising clause), small, fast, portable, easy to use, can run many ksh93 and bash scripts, is actively developed, and benefits from the BSD development style (central development, security focus).</p> <p>To everyone with an Apple ID: please suggest to Apple to include <a href="http://www.mirbsd.org/htman/i386/man1/mksh.htm">mksh(1)</a>, write to them how good it is despite lacking popularity, how compatible it is, and just how much you like to use it. Even if you do not use it yourself, if you can follow our reasons, write to them. If you have access to other operating systems, do the same, especially with mere porting frameworks, as the OpenBSD ports tree still does not include our port, which was ready-made for committing by me to reduce workload for them.</p> <p>Some unrelated side notes… Geocacheing continues: <img src="https://call.mirbsd.org/sp.cgi?oc" alt="OpenCaching.de" /> <img src="https://call.mirbsd.org/sp.cgi?gc" alt="The Frog Site" /> <img src="https://call.mirbsd.org/sp.cgi?tc" alt="Rare Jewels" /> <img src="https://call.mirbsd.org/sp.cgi?nc" alt="Broken Webpages²" /> – Dr. Pfeffer especially liked mine<tt>^W</tt>Waldemar’s Zaurus SL-C3200 with CacheWolf running on Ewe… even if I still think it’s dead slow. Interestingly, porting Ewe to the iPhone G3 would not violate the clause preventing you from creating “instant messaging or real time navigation software”, and CacheWolf itself would not have to be ported. I’d like to have more RAM on the Z though – maybe via the SD Card slot?<br />SCSI sucks. And mksh gets better… IRIX, and a bug fix. Just still no SunOS 5.5 (missing <tt>/usr</tt> on the HDD).</p> "Requesting inclusion of mksh (shell) into Mac OS X" Sat, 12 Jul 2008 21:15:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080712-bsiegert.htm#e20080712-bsiegert tag:mirbsd.org:wlog-10:e20080712-bsiegert bsiegert@mirbsd.org (MirOS Developer bsiegert) <p>This is the title of the bug report I filed with the Apple Bug Report Tool yesterday. The problem ID is 6069931; I think you can only see your own bug reports in the tracker though, so you may not be able to see my report. FWIW, I filed it against Mac OS X 10.5.4 (the current version), with "Feature (new)" as a severity. For reference, the full text of the bug report follows:</p> <p>11-Jul-2008 11:58 AM Benny Siegert:</p> <p>I would like to kindly request the inclusion of mksh as an alternative shell into future versions of Mac OS X.</p> <p>mksh (the MirOS Korn Shell) is a Korn Shell derivative under a BSD-like licence. It includes the features from the OpenBSD ksh as well as additional bash compatibility. Almost all bash scripts run under mksh, however with a speedup of about a factor 2. The code was checked for security problems by Coverity, Inc. UTF-8 support is fully integrated. With all these features, it is still very small, just 240 KiB as an i386 binary. The build process is done by a script called Build.sh, Mac OS is already a fully supported and maintained platform.</p> <p>This could potentially replace the ksh93 included now as /bin/ksh or be installed side by side as /bin/mksh. In short, it can be regarded a more modern replacement for older ksh releases.</p> <p>The homepage of mksh is located at <a href="http://mirbsd.de/mksh">http://mirbsd.de/mksh</a>. The current version is available from <a href="http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R35.cpio.gz">http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R35.cpio.gz</a>.</p> continuity Wed, 09 Jul 2008 23:31:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080709-tg-g10007.htm#e20080709-tg-g10007 tag:mirbsd.org:wlog-10:e20080709-tg-g10007 tg@mirbsd.org (MirOS Developer tg) <p>Since quite a while I’ve had anger about BSDstats – their ports reporting stopped including ours (MirPorts Framework, NetBSD® pkgsrc®, OpenBSD ports tree, Debian dpkg), the maintainer was rarely reachable, at most by eMail, and the entire system had issues. Now, the site no longer exists, apparently nobody knows why, and our systems error out. Well, I have disabled BSDstats, this will probably make MirOS appeal more to privacy-conscious geeks again, and save us from getting more errors in our logfiles, especially the Live CD reporting was already totally broken due to weird User-Agent tricks.</p> <p>I’ll now count on people just using <a href="http://www.mirbsd.org/irc.htm">IRC</a> or so to say hi to us if they’re using MirOS, are happy or tell us things we could improve. Or meet us at <a href="http://www.froscon.de/">conferences</a> and pay for our beer ☺ and other beverages (we’re not BeerFSD after all).</p> Configuring name-based apache vhosts with SSL and IPv6… Wed, 09 Jul 2008 22:40:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080709-tg.htm#e20080709-tg tag:mirbsd.org:wlog-10:e20080709-tg tg@mirbsd.org (MirOS Developer tg) <p>Configuring name-based apache vhosts with SSL and IPv6… is hard. Really. This is probably due to it being “a patchy webserver”. Here is a quick cut and paste solution, well, sort of.</p> <p>Scenario: I have a web server running name-based vhosts on the SSL port. I get a either wildcard certificate, or – in my case – a certificate with some subjectAltName extensions set; <a href="https://cacert.org/">CAcert</a> supports these now. All vhosts I wish to serve must be included, and the primary commonName (as part of the distinguishedName) ought to be the host’s primary FQDN, and it <em>must</em> be duplicated as subjectAltName.</p> <p>I wish to serve a default page (just the standard <tt>index.htm</tt> from <tt>/var/www/htdocs/</tt>) to everyone who does not provide a proper host name (e.g. speaking HTTP/1.0 without <tt>Host:</tt> header, or just probing my IP addresses), and a couple of vhosts to everyone else. I use one IPv4 and one IPv6 address. The vhost configuration is placed in several files in <tt>/var/www/conf/vhosts/</tt> called <tt>«vhostname».«port»</tt>; if some information is to be shared (e.g. vhost on both port 80 and 443), these are placed in <tt>«vhostname».common</tt> and included by the port configs.</p> <p>Important: Do not use wildcard vhosts, they won’t work and give errors. Do not use the <tt>_default_</tt> vhost in any form, it silently won’t work.</p> <p>You might want to place directory information in the vhost configuration file instead of in the main configuration file.</p> <p style="margin-bottom:0px;">Part of <tt>httpd.conf</tt> is:</p> <div style="border:4px ridge blue; margin:0px 24px 0px 24px; padding:12px;"> <pre> ServerAdmin «mail address for the server itself» ServerName «main FQDN» NameVirtualHost 192.0.2.1 443 NameVirtualHost 2001:db8:1234:1::1 443 &lt;IfDefine SSL&gt; &lt;VirtualHost 192.0.2.1:443&gt; Include /var/www/conf/vhosts/eurynome.443 &lt;/VirtualHost&gt; &lt;VirtualHost [2001:db8:1234:1::1]:443&gt; Include /var/www/conf/vhosts/eurynome.443 &lt;/VirtualHost&gt; &lt;VirtualHost 192.0.2.1:443&gt; Include /var/www/conf/vhosts/call.443 &lt;/VirtualHost&gt; &lt;VirtualHost [2001:db8:1234:1::1]:443&gt; Include /var/www/conf/vhosts/call.443 &lt;/VirtualHost&gt; &lt;VirtualHost 192.0.2.1:443&gt; Include /var/www/conf/vhosts/default.443 &lt;/VirtualHost&gt; &lt;VirtualHost [2001:db8:1234:1::1]:443&gt; Include /var/www/conf/vhosts/default.443 &lt;/VirtualHost&gt; &lt;/IfDefine&gt; </pre> </div><p style="margin-top:0px;">(using documentation addresses)</p> <p>Make sure every vhost <em>except</em> the default one sets ServerName (and ServerAdmin if it differs), and DocumentRoot etc. as usual. The default vhost does <em>not need</em> to set ServerName, but the line<br /> <tt>ServerAlias *</tt><br /> <em>must</em> be present <em>and</em> it <strong>must</strong> be the <em>last</em> vhost in the list, as above.</p> <p>If you still have questions – especially now that even OpenBSD has <a href="http://undeadly.org/cgi?action=article&amp;sid=20080519151435&amp;mode=expanded">seen the light</a> and applied the IPv6 patch I not only applied to MirBSD some four years ago but also suggested to them some two or three times – come to <a href="http://www.mirbsd.org/irc.htm">IRC</a> or drop us an eMail, and we’ll try to fix things. Apache is definitively historic ballast, but still common enough on todays Unices.</p> U+1E9E… and where innovation resides Wed, 25 Jun 2008 00:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080625-tg.htm#e20080625-tg tag:mirbsd.org:wlog-10:e20080625-tg tg@mirbsd.org (MirOS Developer tg) <p>So the uppercase eszett – ‘ẞ’ (or <tt>‘ẞ’</tt> if your monospace font has it) – is <a href="http://www.golem.de/0806/60622.html">now an ISO 10646 standard</a>. Your favourite BSD has been one of the first to add support for it to libc, a (contributed) keyboard layout, and even Markus Kuhn’s fixed-misc Unicode fonts, after the proposal with a real codepoint assignment came out. Not all Germans, nor typographers, but historicians, might like it, the discussion has been flamewar-like. But we <a href="http://blogs.msdn.com/michkap/archive/2008/05/15/8506679.aspx">knew this</a> all along.</p> <p>Ah, by the way. No, we aren’t dead. Websites are irrelevant, but if you end up here, please read about <a href="http://www.mirbsd.org/mksh.htm">mksh</a> anyway. Real questions are asked on <a href="http://www.mirbsd.org/rss.htm#lists">the mailing lists</a> or in <a href="http://www.mirbsd.org/irc.htm">IRC</a>. And we don’t have a handbook (yet), because with two developers, nobody has yet had enough spare time to write one, plus you’d need a couple of handbooks – one for people coming from Open/NetBSD (Lite-based), one for people coming from Free/DragonFly/MidnightBSD (386BSD-based), one for people coming from Unix®, one for the Apple followers, one for the GNU/Leenocksers, etc. You see?</p> <p>And while here: Xcode 3.1 (on gecko2@’s Macbook) comes with llvm-gcc… but not in <tt>/usr/bin/</tt> but in <tt>/Developer/usr/bin/</tt>. It compiles quickly, produces fast and small code… kind of nice. If Apple brings <a href="http://llvm.org/">LLVM</a>+<a href="http://clang.llvm.org/">clang</a> into a usable shape to replace our gcc 3.4.6 (gcc4 has unsafe optimisations that cannot be turned off, and all other compilers produce bigger code, which breaks the installation media (especially floppies) and SPARC kernels), in a form usable as compact command-line compilers (and not just libraries for Xcode integration), I’ll be happy. (They’d just need to add mksh to Mac OSX then to make me even happier, but I guess I’m sort of late with that request. Even if it’s fully free – in contrast to GNU bash – and, in its most recent incarnations, even advertising clause free.)</p> Getting things done… slowly Fri, 13 Jun 2008 00:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080613-tg.htm#e20080613-tg tag:mirbsd.org:wlog-10:e20080613-tg tg@mirbsd.org (MirOS Developer tg) <p>While “the swiss are laggards, and the people from Bern are the slow motion of switzerland”, other things take their time as well. However, <a href="http://www.mirbsd.org/htman/i386/man4/vnd.htm">vnd(4)</a> updates have started, and other encryption schemes (including a hardware-accelerated AES variant for Columbo0815 from #IceWM) will end up in the code very soon, as promised.</p> <p>During hacking, I spot other things – bugs in the <a href="http://www.mirbsd.org/htman/i386/man4/random.htm">random(4)</a> code, as well as improvements to the kernel and XFree86® possibly leading to my pcengines.ch ALIX.1c board to be supported (thanks to undeadly.org for keeping me informed). And Benny fixed ports bugs again, as well as put security updates for Freetype2 et al. into the tree. Thanks!</p> <p>FWIW: Opera 9.50 segfaults on me. It can’t be updated thusly.</p> Linuxtag 2008, Berlin, .de Tue, 27 May 2008 00:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080527-tg.htm#e20080527-tg tag:mirbsd.org:wlog-10:e20080527-tg tg@mirbsd.org (MirOS Developer tg) <p>This year's <a href="http://www.linuxtag.org/">LinuxTag</a> will not go by without the BSD projects exhibiting their fine software. Of course, we will attend &ndash; the usual gang (Benny and me, gecko2 and Przemek will help out). New is that we'll also be distributing a couple of MidnightBSD CDs and flyers I had a helping hand in creating, as they are US based and won't be able to make it to Germany for this event. This all would not be possible without the help of allbsd.de, again. Thanks, Daniel!</p> <p>The MirBSD CDs distributed contain a Live + Install CD, as usual, of an unnamed #10-stable snapshot, plus a couple of packages, including Benny's new firesomething port instead of opera-linux. The MidnightBSD CDs aren't as big and miss the install part, but are a relatively new and especially stable 0.2-CURRENT snapshot (including <a href="http://www.mirbsd.org/mksh.htm">mksh</a> of course).</p> <p>We'll attend Tuesday (probably late) till Saturday.</p> kqemu Sat, 24 May 2008 01:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080524-tg.htm#e20080524-tg tag:mirbsd.org:wlog-10:e20080524-tg tg@mirbsd.org (MirOS Developer tg) <p>Last time I had tried qemu+kqemu (on GNU/Linux), it made BSD segfault, kinda like VirtualBox nowadays. But things seem to have changed: I ran the Linuxtag 2008 Live CD Edition inside it (on MirBSD) with no problems at all. Nice, and shows that BSDs can have LKMs.</p> <p>Now missing: vmxnet source code… or evil BLOB? I suppose the latter.</p> <p>Unrelated side note: Netcologne is cool, but they suck: you can only change the PTR for your static IP, which you pay 4.90 € per month for, if you’re a business customer. No IPv6 anyway (but SixXS has a new PoP, out of all places in Düsseldorf *evil grin*). And Strato gives gecko2@ two IPs, but only allows the MAC of the built-in NIC (so no bridging to domU or VMs). Why can’t they ever do something not totally clueless? (Okay, I could ask the support… Netcologne support even phoned me back after my eMail enquiry apparently went through their entire house until they could figure out what I need (to mail Fefe, who blocks PTRs like foo-www-xxx-yyy-zzz.ISP), but rejected; Strato support is, from my past experience, hopeless.)</p> Improving the world, yet again Tue, 20 May 2008 00:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080520-tg.htm#e20080520-tg tag:mirbsd.org:wlog-10:e20080520-tg tg@mirbsd.org (MirOS Developer tg) <p><a href="http://www.mirbsd.org/ports.htm">The MirPorts Framework</a>, which also runs on <a href="http://www.midnightbsd.org/">MidnightBSD</a>, is the first to bring native firesomething support to said operating system, almost effortless thanks to our good portability infrastructure, and because bsiegert@ has already done the dirty work porting it to MirBSD. Thanks, Benny! And thanks Lucas for the chance to prove the superiourity of our infrastructure. And ctriv, don’t take it too hard, just take our patches and put them on your mport.</p> <p>Hardware sucks. The Z doesn’t power on after it has been shut down for a while. The CF <a href="http://www.mirbsd.org/htman/i386/man4/wi.htm">wi(4)</a> is broken. Software sucks. And we all know it. <a href="http://www.DaemonForums.org/">A web forum</a> sucks. They probably will never learn it. Yet people support their… attitude. Americans suck, but that’s not news. Luckily, there are a few not totally clueless ones. Life sucks, and bureaucracy sucks even worse. And there’s no way around <em>that</em>. Too bad. (I had an encounter with bureaucrats again… could you tell? Hah. They want money back, even though it belongs to me.)</p> <p><strong>Update 21.05.2008:</strong> Benny has committed an update to firesomething-2.0.0.13-0, and I bumped the dash ver and made it work as well on MidnightBSD. Sample build:</p> <pre> $ cd /usr/mirports/www/firesomething $ mmake install clean PKG_CONFIG_PATH=$(mmake show=PKG_CONFIG_PATH):/usr/local/libdata/pkgconfig</pre> <p>You must have installed fontconfig from mports (and, of course, perl, for MirPorts to work at all.</p> <p>This beast now works on MirBSD/i386 and MidnightBSD/i386, should work on OpenBSD/i386, OpenBSD/amd64, OpenBSD/alpha, OpenBSD/powerpc, OpenBSD/sparc, OpenBSD/sparc64, and possibly MidnightBSD/amd64 and MirBSD/sparc (not yet on MidnightBSD/sparc64, but they’ll want to test and fix that). No idea about Darwin and Interix. Benny is going to bump to the latest upstream version now, whereas Jonathan recommended us to go to 3.0b2 for increased speed and decreased resource use. We’ll see. The mports maintainers can now take our patches and get rid of their linuxulated firesomething binary port ☺</p> No, I won’t. Tue, 13 May 2008 00:00:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080513-tg.htm#e20080513-tg tag:mirbsd.org:wlog-10:e20080513-tg tg@mirbsd.org (MirOS Developer tg) <p>We have lived for 25 years with the seekdir bug, and even if it’s now on slashdot this does not mean we will immediately patch it. Besides, bringing that part of libc in sync with OpenBSD will involve libc and libpthread shlib version major bumps, which is a bit overkill for this diff.</p> <p>It will go anyway with the upcoming merge of more recent OpenBSD base code. There are more pressing issues. But I have looked into it.</p> all hardware sucks, all software sucks... Mon, 12 May 2008 23:50:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080512-tg.htm#e20080512-tg tag:mirbsd.org:wlog-10:e20080512-tg tg@mirbsd.org (MirOS Developer tg) <p>Happy birthday, <a href="http://www.midnightbsd.org/">laffer1</a>!</p> <p>Whew. We have a new qemu port, but it doesn't boot MirBSD/i386 any more. It almost boots MirBSD/sparc now though. Luckily I could backport the new port's ability to use kqemu. Thanks to Fabrice Bellard and the OpenBSD ports guys for this.</p> <p>The Zaurus... SL-C3200... it's a neat device, but after I managed to get the pl2303 LKM cross-built (bah!), along with the usual tools <a href="http://www.mirbsd.org/htman/i386/man1/mksh.htm">mksh(1)</a> and <a href="http://www.mirbsd.org/jupp.htm">jupp</a> as well as <a href="http://www.mirbsd.org/htman/i386/man1/pax.htm">pax(1)</a>mirabilis for the ability to extract my CacheWolf profile onto a (FAT) filesystem - did I mention just how much busybox sucks? - Ewe doesn't work. Meh. Go to OpenBSD/zaurus, enter a SIGBUS in gtk+1.2 - exactly what I want. The gtk+2 version works, but now, X.org plus GTK+2 plus Ewe (Java&trade; Ranz!) eat up all of the 64 MiB RAM plus initially 4 to 8, later 20 to 40, MiB swap. Not nice. (Some people are said to use a CF card for swap due to it being faster than the internal HDD, a microdrive. Geez.) If I'm cycling with more than say 5 km/h, the moving map hinders parsing the GPS symbols... NMEA 0183 at 4800 bps. But I managed to find another cache before going totally crazy.</p> <p>After Linux (grml, FrOScon edition) has destroyed my NTFS partition, now the ext2fs driver has managed to impale quite some of my FFS filesystems again. This time, Linux isn't even at fault. (Hm, <a href="http://www.mirbsd.org/htman/i386/man8/fsck_ffs.htm">fsck_ffs(8)</a> and e2fsck seem to have a common ancestor.) The downside however is that my encrypted home is now gone. Totally gone, as in, fsck deleted the dirent, inode, and allocation of blocks.<br />Yeah, I have backups, but only for the most important things, not for everything, and quite old ones. I have had to restructure my storage use anyway, now's a good time for it. Hah! And that after I chose to use ext2fs ipv msdos for a common data xfer partition between BSD and Win2k due to msdosfs eating up long filenames when a directory has a lot of them, even on OpenBSD 4.3/zaurus FWIW.</p> <p>While I was quite reluctant to hack anyway recently, or even to idle in IRC or, worse, Jabber, I guess this'll throw me back even more. MirBSD isn't affected, except in further development becoming delayed.</p> <p>There will most probably be a snapshot of MirBSD-current really soon. But other work (mksh R34, mirmake in Debian, MirEwe, ports, gcc) is postponed; I will try to focus on the more important things (AES <a href="http://www.mirbsd.org/htman/i386/man4/vnd.htm">vnd(4)</a>, improvements for CAcert, merging OpenBSD-current maybe even, but that not before the migration to <tt>tear</tt> is complete). OTOH, for both MirPorts on !MirBSD and pkgsrc&reg; on MirBSD, I have laid foundation for others to build upon. Maybe they will.</p> <p>Just a side question: why don't things just work every once in a while? And why, oh Murphy, do things go wrong the worst way possible, always?</p> MirEwe on MirDarwin? Sun, 04 May 2008 00:10:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080504-tg.htm#e20080504-tg tag:mirbsd.org:wlog-10:e20080504-tg tg@mirbsd.org (MirOS Developer tg) <p>On an unrelated note, <a href="http://www.mirbsd.org/mksh.htm">mksh</a> needs people running the current development version, to prevent mishaps like the one with the fullwidth characters causing wrong text output. To do that, use AnonCVS like this:<br /><tt>% env CVS_RSH=ssh cvs -qz3 -d anoncvs@anoncvs.mirbsd.org:/cvs co -PA mksh</tt><br />Then, as usual, <tt>cd mksh &amp;&amp; (sh Build.sh &amp;&amp; ./test.sh -v) 2>&amp;1 | tee log.txt</tt> to build and test it. Then, especially if it fails, <a href="http://nopaste.snit.ch:8001/">send</a> the logs to me.</p> <p><a href="http://www.ewesoft.com/M2.htm">Ewe</a> is an embedded VM for some Java™ 1.1 compatible stuff. I had to fork it to use it on MirBSD and to be able to fix it. So well. It now builds on gecko2@’s Macbook. Using MirMake, of course *g* It’s even usable… which means that he can now use <a href="http://www.cachewolf.de/">CacheWolf</a> and his laptop to go geocaching.</p> be careful what you wish for… Tue, 29 Apr 2008 22:02:00 +0000 http://www.mirbsd.org/permalinks/wlog-10_e20080429-tg.htm#e20080429-tg tag:mirbsd.org:wlog-10:e20080429-tg tg@mirbsd.org (MirOS Developer tg) <p>… as you could get it. This is because gecko2@ asked for some more cvs commit eMail “spam” ☺</p> <p>While on the spam topic: do <strong>not</strong> send an eMail to one of the following addresses: <a href="mailto:junk@mirbsd.org">junk@mirbsd.org</a>, <a href="mailto:junk@66h.42h.de">junk@66h.42h.de</a>, or <a href="mailto:junk@mirbsd.de">junk@mirbsd.de</a>, or, again, <a href="mailto:junk@mirbsd.org">&lt;junk@mirbsd.org&gt;</a>, <a href="mailto:junk@66h.42h.de">&lt;junk@66h.42h.de&gt;</a>, or <a href="mailto:junk@mirbsd.de">&lt;junk@mirbsd.de&gt;</a> (greytrapping)</p> <p>Luckily, my internet uplink has been stable for more than 4⅓ days now, after repeated phoning (an 0800 number then) and resetting the NTBBA.</p> <p>Some more statistics:</p>