mksh tag cloud

Sponsored by
HostEurope Logo

mksh tag cloud

All 1 2 3 4 5 6 7 8

mksh improvements

22.03.2009 by tg@
Tags: mksh

Today's commits should fix Debian #518359 (not tried yet, as looking at a 14" Belinea 10 40 40 CRT makes my eyes and head hurt), as well as improve a lot of more things.

The mksh(1) echo builtin now behaves more POSIXly in "set -o posix" mode (or when called as "sh", if that feature was set at compile time). The exact feature set is negotiable, if certain parties, say pkgsrc®, are interested.

Thanks to the OpenBSD developers for improving their ksh as well.

The ;& and ;;& features are delayed for now though, sorry.

We're in a feature freeze; people please test mksh-current on your system to make R37 rock!

The MirOS Project News in the upcoming February issue of the BSD magazine contains a mention of mksh R37 with a new memory allocator. This will, however, be postponed, because I could not get it right in time (even though I learned from the first tries – and wish I could write it in i386 assembly) and lost interest for now, as the current one still does work. I may revisit that at a later date.

Fixing the PS1 bug, maybe changing the echo builtin to SUSv3 (and nothing more), maybe porting, are on the list, besides continuing the Coverity Scan fixes.

more bugs – bootloader and mksh

01.02.2009 by tg@
Tags: bug event grml mksh snapshot

Again. I almost have a MirGRML+bsd4grml ISO ready (exactly 72 MiB), just for the fun of it, and so that people can toy with it – and test the integration. But nooo, I even hacked a disklabel, yet it wouldn’t access the filesystem. The “machine label” command shows what’s wrong (and hints how to fix it), and I missed a corner case in disc I/O due to adding two not-so-independent-from-each-other scenarios during the El Torito merge.

mksh has funny behaviour with ${foo/@(%)/x} failing – only in Unicode mode though.

more bootloaders *grml*

31.01.2009 by tg@
Tags: bug event mksh snapshot unicode

To counter the bug in Parallels Desktop, I rewrote all of our Master Boot Record (mbrldr, mbrmgr), Partition Boot Record (bootxx), and BIOS disc detection code in boot(8/i386). I've also changed the magics, API etc. a little between these, rewriting or removing quite some parts of both installboot(8/i386) and bootxx.sh a.k.a. self-installing bootblocks. Oh, and MBR and PBR are smaller, or rather, have more room for informatory texts and data block storage now.

Lucas “laffer1” Holt from that cat's BSD helped me testing, qemu and bare metal IBM X40 works, so I suppose it's good. Can't test on VMware Server 2 right now.

On the other front, I'm writing this wlog entry on MirGRML, which is finally sort-of finished (which is why it has much less Unicode than a regular posting from my laptop). lynx-cur in sid is broken though, due to it using GnuTLS. Gah! Anyway, I see a sid “wtf” repo coming, and it was workarounded; next time I'll just do things differently.

Lukas “smultron” , the graphician of our partner project mnbsd, helped a little with the label (while I'm not versed in that field, if I had gotten the right material to work with I could've managed it all alone this time), and all that's left now is the Live-CD part and baking (and testing! even on sparc...) the ISO 9660 image.

There will be 297 MirBSD Triforce™ DuaLive™-CDs (two will go to Kiwi land to swishy, one is already reserved for XTaran) and 50 MidnightBSD Live DVDs at FOSDEM.

gecko2@ and bsiegert@ were not too helpful today, although I have to admit that real life often has precedence. I merely read some and went to sleep early yesterday too (and disabled both POTS and cell phone so that I couldn't be waked, haha!) instead of hacking late. Luckily, the deadline is not that dead, and I'll almost certainly make it tomorrow, in time. Thanks again, Daniel Seuffert from AllBSD.de, for all support you and others give to the smaller BSDs. Heh, and laffer1 is not quite done yet with his ISO (or UDF?) either.

positive feedback

15.01.2009 by tg@
Tags: mksh

iMil of Beastiebox has apparently lauded me for mksh – someone came into our IRC channel #!/bin/mksh by means of it. Thanks, it is not often that people give feedback on things. According to them, code quality is very good. While many things are inherited this shows that the cleanup both OpenBSD and I did did pay off.

Tonnerre thanked for a script of mine he put to good production use: svn2cvs, which I already talked about. Glad to be helpful!

Sadly, at work we’d probably need cvs2svn. Not going to do. Besides, it won’t work that easily – their CVS doesn’t use commit IDs, and svn has no tools like rcs(1), ci(1), co(1) which are immensely useful.

New allegiances for mksh & Co.

08.01.2009 by tg@
Tags: grml mksh snapshot

mksh formed new allegiances: the Beastiebox Project (10x hubertf@TNF for mentioning) has added mksh(1) today, and the latest project of CcSsNET, CcSsLIVE (broken link removed 20100916), will include it soonish as well. Nicely, he already links to MirBSD, for he sits in our IRC channel usually and is one of the sparc users.

The next version of grml GNU/Linux might very well come not just with mksh(1) (except grml-small), but also with bootbsd.com née boot(8/i386) and bsd.rd (a slightly “tuned” version with added e3 editor and sans the Install/Upgrade/Shell prompt). On the contrary, I’m toying with the idea of adding a ports/sysutils/pxegrub for local boot along with a slightly tuned (add mksh at the very least) on the DuaLive ISOs if I find we have the space. We’ll have to work out something, licence and GPL-source-requirement wise, but we’re positive this would work out well. Considering just how good of a rescue system our bsd.rd kernel is, already, and what added benefit a minimal pretty standard Live Linux may provide.

Best bash tip ever! Use mksh!

31.12.2008 by tg@
Tags: mksh

Best Bash tip ever! is a little… interesting. Of course, mksh(1) can do it as well:

tg@bleu:~ $ head -2 /var/run/dmesg.boot
MirBSD#10uA4 (GENERIC) #1161: Fri Dec 26 21:05:59 UTC 2008
        tg@bleu.mirbsd.org:/usr/src/distrib/generic/obj/build/GENERIC
tg@bleu:~ $ r 2=3
head -3 /var/run/dmesg.boot
MirBSD#10uA4 (GENERIC) #1161: Fri Dec 26 21:05:59 UTC 2008
        tg@bleu.mirbsd.org:/usr/src/distrib/generic/obj/build/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1.40GHz ("GenuineIntel" 686-class) 598 MHz
tg@bleu:~ $ fc -l
1       head -2 /var/run/dmesg.boot
2       head -3 /var/run/dmesg.boot

What’s best, the modified commands are written into the history, not the modificator itself.

Some of the commentaries are rather clueless too, not $! but $_ is the last word of the last command, in this case:

tg@bleu:~ $ head -2 /var/run/dmesg.boot
MirBSD#10uA4 (GENERIC) #1161: Fri Dec 26 21:05:59 UTC 2008
        tg@bleu.mirbsd.org:/usr/src/distrib/generic/obj/build/GENERIC
tg@bleu:~ $ print $_
/var/run/dmesg.boot

Instead of “^-s” you would use “r -- -s=” (the two dashes are needed as the “r” built-in alias parses its arguments).


More on Planet Debian (read via Planet Symlink): how many times do I have to tell you it’s “CAs” not “CA’s” again? Please do the world a favour and read Apostrophen und andere Katastrophen with rules for German and English: never in German except the word ends with s or similar: „Jens’, Max’ und Joes CDs“ and for genitives only in both languages, but with apostrophe in English: “Jens’, Max’ and Joe’s CDs”

ciruZ now has a blog too… with two ruby scripts. I prefer mine in mksh very much, thank you :þ

An mksh-current cygwin snapshot I just built for smultron, our graphical artist friend from MidnightBSD (which, by the way, also packages mksh(1)). He just did this:

mksh Logo

We’ll see what we do with that “m”…

svn2cvs.sh is an mksh(1) shell script able to convert from Subversion repositories (remote access via URLs, needs installed svn client) to RCS/CVS repositories (local access via pathnames, needs installed rcs(1) ci(1) co(1) GNU RCS, as well as cvs(1) GNU CVS, for rcsfile(5) handling). For more information, see the included help as well as the commit message.

If you have any improvements or requests regarding this script, please contact me or the miros-discuss@ mailing list. There is a discussion thread for it.

In case you didn’t, read cvs(GNU) a.k.a. The Cederqvist! Another source of CVS tricks is courtesy of «ThunderChicken:#cvs» and includes some from myself.

The 13.rcs(PSD) documentation and rcsintro(1) are online as well!

mksh R36b

14.12.2008 by tg@
Tags: mksh

mksh R36b is out, grab it while it’s still hot ☺ There’s an impressive change list for a mere bug-fix version, and this is the first one where ahoka@ has contributed directly. Upgrade is recommended for all users. The new memory allocator has been backed out for stability.

MirOS-current has mksh R36b plus some changes from mksh-current, mostly renaming set -o utf8-hack to set -o utf8-mode denoting said technology is solid after ages of testing. MirOS-stable has R36b.

galloc and OPTU

22.11.2008 by tg@
Tags: unicode mksh

aalloc was a failure and prone to mis-type; I’ve started on galloc, which is supposed to be even more type-safe and flexible, yet still segfaults on me as well.

In the meanwhile, to not stay bored, I enhanced the Unicode (MirOS OPTU-8/OPTU-16) function suite in MirBSD and hacked an implementation of Plan 9’s Rune functions – dubbed p9¾_*.c due to usage of our “internationalisation like Plan 9, just on the next layer, and within the confines of UNIX®” approach to internationalisation. These (as well as some well-known ones like wcsrtombs(3)) should be OPTU safe, and we now have a macro telling us if a wide character is part of the OPTU Raw Octet codepoint range (in the CSUR PUA assignment).

I’ve contacted Bruno Haible again because his libutf8 misses the Unicode Title case (complementing Upper and Lower case)… I’ve got an idea how to implement it but would like to double-check with him to ensure nothing breaks. The Plan 9 functions need it (these two are currently implemented as stubs that just throw ENOCOFFEE).

The number of manual pages also raised…

I built XFree86® with a (slightly beefed up) Reiser CCCP in use as sole C Præprocessor now… and have yet to notice failures in operation. Now we’ll have to find out what else stuff is there depending on the existence of /usr/bin/cpp, possibly switching it, like the <sys.mk> mirmake(1) file, to ${CC} -E - (which is not 100% compatible, because cpp can also read from stdin without the dash, whereas, with the dash, neither can read from only a file). X11 etc. can be switched to /usr/libexec/cpp then.

aalloc and COFF

17.11.2008 by tg@
Tags: mksh

I got (E)COFF executables to work, even though I cannot produce them except with a hand-crafted binary yet. Maybe these produced by kencc work now.

I didn’t get the time or nerve to continue hacking on aalloc today… the whole pointers thing in C is so useless. If I could use assembly, it were so trivial. Anyway, the TPtr data type will probably have to get lost, and I plan on using more temporary local variables for overview.

Besides a beer discussion, IRC channel today featured plans on getting a temporary setup of fast enough machines for crossbuilding OpenJDK; replaced confirmed that someone had success in doing what I planned, although the nōn-free JDK 1.5 only. We’ll see…

All 1 2 3 4 5 6 7 8

MirOS Logo