Posted
over 12 years
ago
by
Thorsten Glaser
|
Posted
over 12 years
ago
by
Debian Bugs
debianbug's status on Saturday, 10-Dec-11 15:00:09 UTC
|
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;
... [More]
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) [Less]
|
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;
... [More]
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) [Less]
|
debianremove: Removed: [auto-cruft] #mksh 40.2-2exp1 [amd64, armel, hurd-i386, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390]...
Posted
over 12 years
ago
by
debianremove
debianremove's status on Friday, 28-Oct-11 06:02:12 UTC
|
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
... [More]
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.
I have also fixed a bug in nroff(1) which will lead to an even
nicer looking HTML manpage mksh(1) (after the next rebuild and upload of
a MirBSD snapshot – scheduled RSN).
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!
Acronyms and translations,
too. (Got Norwegian and Rumanian covered in the meantime. No idea whether any
RTL languages will work in that beast. But I’m young and need the money)
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!). [Less]
|
You might have noticed the release of mksh R40 recently, after
more than a year of development. Well, stay tuned for both
R40b (with accumulated fixes) and R41 (intent to speed up
array handling a lot and prepare for what we postponed to
mksh R42
... [More]
now – associative, multi-dimensional arrays).
You should also upgrade, if you have not yet done so, to kwalletcli 2.11.
Finally, jupp 3.1.15
was left out to the world, including Minix 3 users this time,
by special request of one of these on our mailing list. In
addition to the MidnightBSD mport – which has been there in
like forever – and the MirPort and the FreeWRT package, in
December 2011 a user submitted it to FreeBSD® ports, and Benny
is going to add it to NetBSD® pkgsrc® soon, he said. (He also
updated their mksh source package. Thanks!) I’ve been asked by
two people, independent from each other, when I’ll upload it to
Debian proper, instead of the private-repo packaging. Maybe I
should indeed do that, comments? [Less]
|
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]
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.
[Less]
|
(First posting to Plänet Commandline! Tag: pcli)
Vutral asked in IRC how to synchronise two shells’ environment
while they’re running. As you may know, POSIX systems cannot change
a process’ environment vector after it has been started, only the
... [More]
process itself can. Well, the shell
can, and we’ll use a variety of things for this.
This trick assumes you have $HISTFILE set to the same
pathname in both shells (obviously, they run under the same user).
It uses export -p to render the current list of exported
variables, then transforms the list from newline-separated to a
single big one-line export statement.Then it transforms all
remaining newlines (which will be part of a single-quoted string,
since that’s mksh(1)’s export format) into the sequence
'$'\n'' which means: terminate current single-quoted
string, append $'\n' and open up a new single-quoted
string immediately; concatenate these three.Now, $'\n'
is just a fancy way of saying newline, and part of mksh because
David Korn (yes, the Korn in Korn Shell) strongly suggested to
me that this functionality be included – but, as we can see here,
it pays off.Finally, the so transformed string is prepended
by unset \$(export); which, when executed, will cause the
shell to unset (and unexport) all currently exported variables.
The shell parameters that are not exported, i.e. not in the
environment, are not affected by this code (except for $x
and $nl, but… whatever).This string is then passed
to read -s (plus -r and clearing IFS to
enable raw mode), which means, read into the parameter $REPLY
(which we conveniently don’t use – but it’s trashed too, thus) but
store into history at the same time.
Ah hah! Now, the persistent history feature comes into effect!
After running the below statement in the “source” shell, switch
into the terminal running the “destination” shell, press Enter
once on the empty line (Ctrl-U to empty it if it wasn’t), then
Cursor-Up (↑) to recall… voilà, an insanely large line with the
previously created string sorta expanded… and press Enter again
to run it. Now your set of exported parameters is the exact same
(minus if you exported IFS, nl, x or
REPLY) as in the “source” shell.
I’ve added extra spaces and a linewrap below,
this is really just one big line:
nl=$'\n'; x=$(export -p); x=${x//${nl}export/};
IFS= read -rs <<<"unset \\\$(export);${x//$nl/\'\$\'\\\\n\'\'}"
Of course, this makes a nice function,
for your ~/.mkshrc or somesuch. [Less]
|
Posted
almost 13 years
ago
by
gicxjo
gicxjo's status on Monday, 02-May-11 19:53:54 UTC
|