This is a very late announcement. Binary packages for pkgsrc-2011Q3 are now available on ftp://ftp.netbsd.org/pub/pkgsrc/packages/MirBSD/i386/10uAE_2011Q3/. The repository contains 5330 packages built on MirOS-current. Any MirOS BSD version from 2011 should work.
The packages are self-contained in /usr/pkg: The VARBASE has been set to /usr/pkg/var, and the package database is in /usr/pkg/db. This matches the MirPorts defaults and facilitates using pkgsrc and MirPorts side by side.
In this quarterly release, the new default for MirBSD is to use “modular” X11, i.e. install Xorg libraries and programs as packages instead of using the system X libs. This improves the compatibility with many newer programs, which expect for example that the X libraries have pkg-config files. This should not change anything for the user, however.
This is both a release announcement for the next installment of The MirBSD Korn Shell, mksh R40b, and a follow-up to Sune’s article about small tools of various degrees of usefulness.
I hope I don’t need to say too much about the first part; mksh(1) is packaged in a gazillion of operating environments (dear Planet readers, that of course includes Debian, which occasionally gets a development snapshot; I’ll wait uploading R40c until that two month fixed gcc bug will finally find its way into the packages for armel and armhf). Ah, we’re getting Arch Linux (after years) to include mksh now. (Probably because they couldn’t stand the teasing that Arch Hurd included it one day after having been told about its existence, wondering why it built without needing patches on Hurd…) MSYS is a supposedly supported target now, people are working on WinAPI and DJGPP in their spare time, and Cygwin and Debian packagers have deprecated pdksh in favour of mksh (thanks!). So, everything looking well on that front.
I’ve started a collection of shell snippets some time ago, where most of “those small things” of mine ends up. Even stuff I write at work – we’re an Open Source company and can generally publish under (currently) AGPLv3 or (if extending existing code) that code’s licence. I chose git as SCM in that FusionForge instance so that people would hopefully use it and contribute to it without fear, as it’s hosted on my current money source’s servers. (Can just clone it.) Feel free to register and ask for membership, to extend it (only if your shell-fu is up to the task, KNOPPIX-style scripts would be a bad style(9) example as the primary goal of the project is to give good examples to people who learn shell coding by looking at other peoples’ code).
Maybe you like my editor, too? At OpenRheinRuhr, the Atari people sure liked it as it uses WordStar® like key combinations, standardised across a lot of platforms and vendors (DR DOS Editor, Turbo Pascal, Borland C++ for Windows, …)
ObPromise: a posting to raise the level of ferrophility on the Planet aggregators this wlog reaches (got pix)
Our MirBSD online manual pages and other assorted BSD documentation (except of course the merely copied ncurses, lynx etc. documentation and the texinfo generated HTML pages) has just gained a major facelift. They look alike in lynx(1) – best web browser ever – and less(1)/man(1) now, and remind of a DEC VT420 on a CSS capable Buntbrause.
Thanks to our contributor XTaran for aid with the colour scheme!
Since these are generated from catmanpages, heuristics are used for things like where should bold/underline begin/end (since nroff(1) is not always the brightest… but working on that), and hyperlinks can only be generated for other manpage references (whose targets may or may not exist, for example if they aren’t part of MirOS base/XFree86®). But on the other hand, Valid XHTML/1.1 and CSS speaks for itself ☻☺
Zoltan Arpadffy has let us know that he has set up a MirBSD
installation at polarhome
in Stockholm, to aid its “purpose [to] serve the healthy part
of the already, rather badly MS infected Universe - and MirOS
is definetevly on that part”. He wrote that “MirBSD is a very
nice easy to use BSD system”, thanking us with “gratitude and
respect for developing a such a nice OS”. He also sent a list
of things he ran into while installing (although we can guess
some of them are related to using VirtualBox, which is not at
all supported, as base) so we can fix them, and offered help,
e.g. in adding ports of software they use.
Well, Zoltan, you’re definitively welcome ☺
polarhome.com is non commercial, educational effort for popularization of shell enabled operating systems and Internet services, offering shell accounts, mail and other online services on all available systems (currently on Linux, OpenVMS, Solaris, OpenIndiana, AIX, QNX, IRIX, HP-UX, Tru64, SCO OpenUnix, UnixWare, FreeBSD, OpenBSD, NetBSD, DragonFly BSD, MirBSD, Ultrix and OPENSTEP).
Well guys, talk to us – we know we have one to several hundred users world-wide but don’t really get a lot of feedback (so we assume you like it).
Almost ☺ in time for FrOSCon there’s a new binary snapshot of MirBSD-current (10uAF-20110818) compiled, right now waiting for me to do the usual post-compilation work of preparing the cdrom and floppy images for serial console, signing and uploading. Of course, the online manpages will be updated then as well.
The snapshot will, as usual, end up on the mirrors, i.e.
We’ll also have it with us at FrOSCon. Maybe on CDs, but on a laptop ready for netboot and netinstall is a promise.
Update 20.08.2011 – we’ve got an ISO:
- MD5 (MIRB0818.ISO) = 805c4a34bae523ef5d838e79ecdcdad8
- RMD160 (MIRB0818.ISO) = 93df98d24b2d877502e7be8af580907311d2d8cc
- SHA1 (MIRB0818.ISO) = 6dacb045675184c06a00401357a0a510dd3e6edb
- SIZE (MIRB0818.ISO) = 727711744
- TIGER (MIRB0818.ISO) = ff0c145b93988c306530963fd881ad7972d5eb2d2e0ce298
- BitTorrent download is [no longer, 2014-05-13] available
This year without our friends from Grml, but The MirOS Project (all two active developers and our Booth Babe gecko2@) will of course attend FrOSCon, nicknamed Froschkon, again.
We’ll have a pre-event meal time at my favourite Jugoslawian Restaurant on Friday (20:00 CEST) – contact me privately for the coördinates if interested. On Saturday and Sunday we’ll staff a booth and answer questions about the many projects we have (more or less) running, including but not limited to paxmirabilis (aka MirCPIO), The MirBSD Korn Shell aka mksh(1), jupp the editor, and developers’ private projects such as slowly undermining Debian or Google-Go. While slow we are still working on World Domination. And teaching people good shell programming by example code.
We might even bring CDs, but I’m still working on the ISO… last night’s build aborted because the OS grew a bit making the floppy image not fit any more. (Solution, drop ping(8) and rtsol(8), but re-add sf(4) and bce(4) now that they fit again.)
jupp 3.1.17 uploaded today, mostly thanks to user input suggesting I improve things, especially the syntax highlighting. (Maybe more to come.) I like users who don’t complain but give helpful comments and send in patches even.
Since the Debian FTP masters complain that the NEW queue is empty for the first time in ages, I also uploaded jupp to Debian proper (got requests, several, from actual users – independent of each other). I originally thought I were the only user, it’s not worth it, maybe too close to joe (which segfaults a lot more and has some ugly things, so I cherry-picked the better features of it instead of rebasing jupp), but it’s had a package in mports (MidnightBSD ports) for ages, users submitted one to FreeBSD® last year and keep it updated, there’s even a WIP package in pkgsrc®, and who knows where else or how many people are using my OpenSuSE Buildservice package or have had installed the previous DEB package I uploaded to my play repo. So now I feel it worth to upload.
I even invested some major packaging rework, such as splitting the build-arch and build-indep parts from each other, and importing the upstream source into the packaging VCS, as I have learned in the “packaging with git” talk here at DebConf. (No guys, I will stick to CVS as git doesn’t give me anything.)
mksh R40b (nowadays with filled in user’s caveats (for R40, too!) and packager’s upgrade hints) has just been released. This is a should-have upgrade, fixing a number of – admittedly some obscure – bugs, changing things begun in R40, improving upon others. Thanks to the PLD Linux guys for spotting all these errors; thanks to them and phpnet.org both for adopting mksh so well.
jupp 3.1.16 took on the task of merging Debian joe changes (aiming at an upload). I also split the jupprc file into three versions (2.8 generic/DOS, 3.1+jupp and 3.7/Unix) because of the differences in the baseline executables making rc files partially mutually incompatible (think Insert key), annoyingly warning (think syntax, hmsg), or less usable (joe’s new menu system).
jupp 2.8.2 is a companion to jupp 3.1.16 – mostly because of the new help window “character map” ☺
Binaries for jupp should be updated RSN too.
Considering Banja Luka is arriving quickly, the “r” in RSN should be taken with a few grains of salt. I’ve also scheduled working on the pcc Debian package for the next future; updating lynx and maybe others like OpenSSH in MirBSD is also due; cvs(1) will receive more of my time, but before the next Upload I’d like to fix LP#12230 once verified.
Builds for Debian/m68k are also still running. I note I did in fact not manage to make a new base image, yet (but 2.6.39 kernels miss a patch, anyway, so waiting for 3.0 is ok). It’s still using gcc-4.4 because nobody tests gcc-4.6 and gcj-4.6 FTBFS due to SIGSEGV, but that’s ok in my books. rsyslog is broken but sysklogd works.
The #ksh|Freenode page finally got a well-deserved link to Planet Commandline. Throw more my way!
Since I’m writing a wlog entry anyway… let me thank Gunnar for a nice summary on the current Free Culture discussion; my comments on Nina’s site seem to be eaten, but let me support it fully, although, of course, I normally use a copycenter style licence, which is specifically written for general works of authorship under copyright law, not limited to software. I did in fact have that in mind. Maybe some people will like it (it’s less than one Kibibyte long) either generally or just for their everyday random musings (they can then keep CC-BY-SA for the “big works” if they so desire).
Wouter, grass background makes green headlines illegible. I’ve never liked, and never installed manually, cups either. (Benny tells me that Apple’s new version refuses to talk with a non-Apple cups, kinda defeating the whole idea I think.) Port 9100 is JetDirect (probably with an HP in front and some subset of ©®™ trailing) and just nice. (Being able to talk ESC/P with your printer like print '\033K\x07\0\x3E\x81\x99\xA5\xA5\x81\x3E' >/dev/lpa too rocks though, IMHO. Yes, mine can, and I still can. /dev/lpa is BSD.)
Kai, thanks for your vimrc lines:
:highlight TrailWhitespace ctermbg=red guibg=red :match TrailWhitespace /\s\+$\| \+\ze\t/
Automatic removal is harmful, though – I just fell into the trap since jupprc contains needed whitespace at EOL… but manual removal (bound to ^K] in jupp) rocks. And I like that your solution uses such strong a colour – vim users are the single most represented offender group for actually leaving the redundant whitespace at EOL there, and it should hurt their eyes. (Sadly there is some vehement disagreement preventing them from inclusion in grml-etc-core – but that’s why I re-post them here.) Ah, and jupp can of course display whitespace visibly (although it uses ‘·’/‘→’, replacing the arrow with ‘¬’ if no UTF-8, not ‘»’), accessible with ^Ov.
Steve, want to put up a checklist for sites? We can “crowdsource” the… testing… to maybe get some interesting results…
Some other people would get more comments if they were idling in IRC (Freenode) or allow comments on their blog, specifically without too high an entrance barrier – OpenID is ok, but many other things, and ECMAscript, are not; but I can’t really say that loud because our wlog is static HTML compiled from a flat plaintext data source so it doesn’t allow such either. I often forget what I wanted to add if I can’t get it out quickly enough (especially at work). Sowwy…
Me like the cat picture postings (Amayita, Tiago, ¡Gracias!).
The MirBSD Korn Shell R40 has finally been released. This is a must-upgrade, a major everything version. See the changelog for now, until caveats are filled in, due to the sheer amount of changes. The diff between the last and the new release is more than half of the last release’s size, after all – it’s been 15½ months.
The plan for the next two releases is:
- mksh R41 will fix all bugs popping up within the next few weeks, as they usually show up shortly after a release only, when things are getting adopted. Furthermore, it removes deprecated code that emits a warning in R40: several Build.sh options, plus set ±o arc4random. Finally, I plan on speed-up for arrays by using hashtables internally.
- mksh R42 is where we tentatively target associative arrays for, now. Multidimensional arrays should be introduced at the same time.
bsiegert@ now has direct commit access to the pkgsrc repository, with a mandate to improve the MirBSD support in pkgsrc. This should lead to pkgsrc becoming a viable alternative and/or complement to MirPorts.
mksh-current has just gained an experimental recursive parser for command substitutions, fixing RedHat BZ#496791 and decades-old complaints about the pdksh codebase, compared to AT&T ksh93. (GNU bash could also do the example, but not some other things mksh(1) parses fine now.)
This means that things like the following work now.
# POSIX, should “always” work echo $(case 1 in (1) echo yes;; (2) echo no;; esac) # POSIX optional, works now in mksh, works in GNU bash echo $(case 1 in 1) echo yes;; 2) echo no;; esac) # GNU bash seems to choke on comments ending with backslash # a comment with " ' \ x=$( echo yes # a comment with " ' \ ) # No non-recursive COMSUB parser can pass all of the above # tests and these below at the same time (some extensions) echo $(typeset -i10 x=16#20; echo $x) echo $(typeset -Uui16 x=16#$(id -u) ) . echo $(c=1; d=1 typeset -Uui16 a=36#foo; c=2 typeset -Uui16 b=36 #foo; d=2 echo $a $b $c $d) # the ‘#’ is especially tricky, that’s why the above cases
Next on my TODO is the complete rewrite of the read built-in command, as well as its documentation. I think that the (reduced) goals for mksh R40 will have been met by then, except porting to LynxOS and MPE, but we’re working on it, and re-testing Syllable and Plan 9). Of course, a release implies testing on a lot of the supposedly supported platforms, so it won’t be out “immediately”. Though, associative arrays have been removed from the R40 goals, so that I can at least get a new release out. Note that Debian and OpenSuSE Buildservice users have been provided with somewhat well-tested mksh-current snapshots for a while already, and Gentoo users can use the “live ebuild”; there’s always compiling from source too…
On January 23, an initial set of patches for MirOS support has been committed to pkgsrc by Alistair Crooks. As a part of these is still on hold for the moment, some patches are still necessary for successfully bootstrapping. You can bootstrap pkgsrc as root, installing for example into /usr/pkg, or as an unprivileged user. MirPorts and pkgsrc can be used in parallel.
Even if only a small number of packages has been tested on MirOS so far, the adoption of pkgsrc will give users access to vast, well-maintained archive of third-party software.