MirOS News

Sponsored by
HostEurope Logo

MirOS News

All 1 2 3 4 5 6 7 8 9 10 11 12 13

The BitTorrent tracker now has a torrent for the MirOS #10 RC3 Live+Install CD; of course, the netinstall location has been upgraded with the new dist sets as well. You can now select a keyboard layout during livecd boot, and it's been made more user friendly; many small bugs have been plugged; everyone's favourite shell is at R30-current with support for TenDRA and maybe tcc, and several ports, most notably GNOME, are in good shape.

Please report errors back to us; we don't plan on making any further changes to the codebase save bugfixes and maybe some more changes to ports.

mksh R30 released


mksh R30 has been released; read the ChangeLog for details. FreeWRT, Debian, FreeBSD Ports, MidnightBSD mports, MirPorts, RedHat/Fedora, the OpenSuSE Buildservice all have it already; we expect others to follow.

This release is dedicated to everyone who helped with portability.

On boot, if the kernel were to drop into ddb(4), it would panic again, rebooting over and over, due to an uninitialised timeout(9) in random(9); this was fixed today.

With apologies to every Debian user who is still on sparc32, XTaran of Symlink fame has provided us with the idea: We aim to produce an operating system for 32-bit sparc boxen that is small, fast, stable, reliable and secure. MirOS/sparc is its name, and while it's currently being dormant, I promise it will be polished and shining in a short while. (I hope to get the issues I had some weeks ago solved, even at the cost of Ada support should that be necessary.)

I could use some parts for my SPARCstation 20 though: it only has a 75 MHz supersparc CPU and 128 MiB RAM; if someone has a 233 MHz hypersparc CPU (I think Ross built these) I'd be delighted to upgrade, and more RAM never is bad. I've got some SCSI discs from tyler, so that's not urgent.

mksh now builds with IBM XL C/C++ on AIX – Linux/POWER and Mac OSX shall follow once I'm able to test. Thanks to the person who wishes to remain anonymous for providing us the ability to do this porting work.

FreeWRT, an embedded applicance development kit, has adopted mksh as its default shell and /bin/sh for the upcoming 1.1 release.

We would like to thank everyone for their support and feedback, hope that the upcoming mksh R30 will please even more, and suggest other projects, such as NetBSD®, to switch at least their native ksh to mksh.

mksh R29g has been released mostly to fix large file support in some operating systems (mostly GNU), which was tested for correctly, but the test result was not used during the actual compilation. Found by hondza, thanks! This stable version update also contains some other minor changes from mksh-current that don't affect existing behaviour (so none of the nice features shown earlier) which aren't that noteworthy though. There's still an issue in that -D_LARGE_FILES=1 is defined even if it's not required sometimes, which is fixed in mksh-current, but it doesn't hurt.

German penal and crime code, Article 202c, forbids us from “retrieving, making available” (and some other things) tools that can be used to gain illegal access to data or access codes. While we do not approve of this law at all, we will be forced to abide by it in a few weeks (once it's been published in the print version of the parliament's papers), so tcpdump(8) was removed from the base system. We do not believe providing MirPorts makes us liable for the actions of the end user, and hope no other tool in the base system is affected by this law. We will try to make politicians realise how bad that is, as they are effectively preventing sysadmins as well as researchers, teachers and students from securing systems. (Maybe they just want to make us affected by the Federal Trojan?)

We've finally implemented another bash-compatible feature in mksh, namely variable substitution with substrings. Try print ${var:2:3}. The first character after the (first) colon must be numeric, an opening parenthesis, a dollar sign or a space right now; use ${var: n: m} for the bash ${var:n:m} (or ${var:$n:m} or even ${var:(n):m}). All of these are bash-compatible. This doesn't nest in either mksh or bash.

More features are to follow ☺

To install MirOS BSD, please use a direct download (or even netinstall from the same place) at the moment. We will provide MirOS #10RC2 as a Live+Install ISO image again at some time in the future (give us 1-2 weeks); MirOS #10RC1 contained a bug regarding the live CD part which went for a few days undetected; the creation of the ISO fell into that timeframe.

On a side note, the series of GNOME port updates is continuing.

Countless users have requested we do the same as AT&T ksh93 and bow to the “be conservative in what you send, be liberal in what you accept” approach. Regarding to shell programming, this means we should support some of the most widely used extensions from other shells (ksh93, bash, zsh, csh, make(1)) as well.

Some hours of continuous cursing later, it's done. The current development version of mksh R30β now supports GNU bash style array initialisations – and better than they, I might add:

  • OpenBSD ksh (from OpenBSD 4.1-current, 17 May 2007):
    	$ x=(a b c)
    	/bin/ksh: syntax error: `(' unexpected
  • GNU bash (from MirPorts Framework, 2.05b-1):
    	$ v="d e"; x=('$a' "$v" c "(d)"); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	4/$a/d e/c/(d)/
    	$ v="d e"; x=('$a' "$v" c (d)); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	bash: syntax error near unexpected token `('
    	Segmentation fault
    	$ v="d e"; x=('$a' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	bash: syntax error near unexpected token `;'
    	Segmentation fault
    	$ bash -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"'
    	bash: -c: line 1: unexpected EOF while looking for matching `)'
    	Segmentation fault
    	$ bash -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"'
    	bash: -c: line 1: syntax error near unexpected token `;'
    	bash: -c: line 1: `v="d e"; x=('$a' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"'
    	Segmentation fault
  • mksh (-current as of tonight):
    	$ v="d e"; x=('$a' "$v" c "(d)"); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	4/$a/d e/c/(d)/
    	$ v="d e"; x=('$a' "$v" c (d)); echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"
    	mksh: syntax error: '(' unexpected
    	$ mksh -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"'
    	mksh: syntax error: ')' missing
    	$ mksh -c 'v="d e"; x=('\''$a'\'' "$v" c "(d)"; echo "${#x[*]}/${x[0]}/${x[1]}/${x[2]}/${x[3]}/"'
    	mksh: syntax error: ')' missing

As you can see, we're continuing our not only tradition but also mission to provide working, reliable software. (If you try interactively typing one of the last two examples, mksh just waits for the closing parenthesis.)

Furthermore, our portability promise is kept – mksh now also compiles fine with the vendor tools on HP-UX, which even have found a little shortcoming in the code I only can shake my head about… no idea who coded that ugly thing…

On unrelated news, bsiegert@ has continued his work on bringing the GNOME ports into shape for the impending release of MirOS #10.

Thanks to a contributor who wishes to remain anonymous, mksh is now officially shipped for Red Hat's GNU/Linux variants:

  • Fedora 7 (i386, amd64, ppc, ppc64 using gcc 4.1.2 and glibc 2.6 at Linux 2.6.21)
  • Fedora Core 6 (i386, amd64, ppc using gcc 4.1.1 and glibc 2.5 at Linux 2.6.20)
  • Red Hat Enterprise Linux 5 (i386, amd64, ppc using gcc 4.1.1 and glibc 2.5 at Linux 2.6.18)
  • Red Hat Enterprise Linux 4 (i386, amd64, ppc using gcc 3.4.3 and glibc 2.3.4 at Linux 2.6.9)

We were informed that the all of these pass the testsuite. Fedora 7 quality assurance is being run on it until approximately this weekend; to install mksh, simply type yum install mksh (for RHEL, you'll have to enable the EPEL repository first).

The Fink package manager for Mac OSX now also contains mksh R29f.

bsiegert@ will hold a talk about GNU autotools, libtool, and how to use it right at the second FrOSCon in St. Augustin near Bonn, Germany.

Of course, there will be a BSD booth with all the usual suspects and goodies, so feel free to come over and talk to your favourite BSD's developers in person.

The MirOS Project is proud to announce the availability of the first release candidate of the upcoming eleventh release of MirBSD, together with a stable release of the MirPorts Framework. This snapshot already advertises itself as MirOS #10 except for the OS patchlevel number and is available for download for the i386 architecture only.

Download, as usual, on the BitTorrent tracker (Live CD), or via a networked installation from various mirrors (DE JP).

On unrelated news, work on the 32-bit sparc port has started again – mostly due to request from users (quite reassuring). Thanks, guys!

The MirBSD Korn Shell (mksh) now can not only be built by the GNU Compiler Collection, egcs/gcc 2.95, the GNU C Compiler, and the (quite gcc-compatible) Sun Studio 12 C Compiler, but also by the Sun Studio 5.8 C Compiler on a Solaris 10 installation. Adding support for other vendor compilers will be much easier now.

These changes can be tested in the -current branch of mksh (and MirOS BSD) and will be released with the next major version, mksh R30. Furthermore, a few minor bugs were fixed and mirtoconfiguration is a little faster and more reliable now. Some of these changes may be MFC'd to mksh R29g, whose release date has not yet been decided upon (reads: when do you need it?).

Update: Intel's C Compiler (Version 9.1.042 and 10.0.023) work as well and have unveiled a few minor issues. The code is now smaller due to removal of orphaned code and variables GCC didn't spot. (I don't like icc though.) And in unrelated news: while we do now support OpenBSD's new CVS keyword $Mdocdate$, we will not use it, so that the mksh(1) manual page remains usable on other operating systems.

All 1 2 3 4 5 6 7 8 9 10 11 12 13

MirOS Logo