Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Time for ksh93u+m 1.0.0? #491

Closed
johnsonjh opened this issue Jul 23, 2022 · 10 comments
Closed

Time for ksh93u+m 1.0.0? #491

johnsonjh opened this issue Jul 23, 2022 · 10 comments
Labels
TODO Things to be done before releasing

Comments

@johnsonjh
Copy link

johnsonjh commented Jul 23, 2022

Trying to get ksh93u+m into Homebrew and elsewhere to replace broken/outdated ksh93 2012nnn or ksh2020 releases is often a challenge - most packaging systems will not allow a beta to be the default release installed.

This is a problem since the ksh93u+m beta is the only currently active and maintained "release" version of ksh93 today, so the fact that it's always an uphill battle is unfortunate. (At least RHEL finally did come around, and ksh93 on RHEL is ksh93u+m now).

It also seems a good amount of progress has been made, and since ksh93u+m 1.0.0-beta.2 is, at least in my opinion, far superior in quality to the previous non-beta releases from ksh2020 and other projects, perhaps it's time to bump the version to a release?

@McDutchie McDutchie added TODO Things to be done before releasing 1.0 labels Jul 23, 2022
@McDutchie
Copy link

Yeah, it's about time, isn't it? There have been loads more bugfixes since beta 2, too.

I was going to do a release candidate, but what the heck... bugfixes can also be in 1.0.1 and up, and bugs are more likely to be found once this thing actually starts being used.

I think I'm about as far as I'm going to get with fixing the outstanding bugs targeted for fixing in 1.0... the rest are just going to have to wait. Although #182, #189, #203, #345 and #432 are quite serious and, by my standards, really have no business being in a release version... :-/ Hopefully, releasing 1.0.0 would draw more attention to this project along with people who might find a fix, because I'm stuck with those.

Nearly ready. Just working on one last nice fix for the -b/--notify option.

@johnsonjh
Copy link
Author

johnsonjh commented Jul 24, 2022

I'm a heavy ksh93 user and hadn't encountered them, if that means anything (of course now that I know about them, they'll bother me too ...) I can't promise to be able to help on those remaining issues, but I might take a look at them one day for sure - just no promises!

It will at least be on my radar to take a look at the issues here sometime and see if I can give back.

Thanks for this project!

@McDutchie
Copy link

OK, here's the deal. We're eight days away from precisely a decade since the last canonical release, 93u+ 2012-08-01, which we used as the initial base. And that's just too good to pass up. So today, I'm doing a release candidate and everyone will have eight days to find bugs. On 2022-08-01, I'm releasing ksh 93u+m/1.0.0.

@johnsonjh
Copy link
Author

Great! 👍

@McDutchie
Copy link

Delay. I've just received an email report that indicates that current 93u+m cannot run iffe correctly, so 93u+m cannot itself be used as the shell to run the build scripts to make 93u+m. Which is very embarrassing. But it seems I broke it in the last few days, so I'm hopeful I'll find the offending commit soon.

@McDutchie
Copy link

OK, I've found the culprit and in fact it was already fixed by the time I commented. On the dev branch, I broke it in 7c3868b and fixed it in bbcadf7; on the 1.0 branch, I broke it in 39e467d and fixed it in 523b7c7.

@johnsonjh
Copy link
Author

I confess I normally use zsh interactively. But I'll use ksh for the next few days exclusively and report any issues. :)

@McDutchie
Copy link

McDutchie commented Jul 28, 2022

Thanks @johnsonjh, I appreciate that! Just a few tips for experienced shell users new to ksh. All the built-in commands are self-documenting: use the --man option, and use --??help (yes, with two question marks) for more info about self-doc options (e.g., they can generate HTML and nroff). Use my new autoloadable man function in src/cmd/ksh93/fun/man to integrate all that in your regular man command and make it convenient to use; put the man file in a directory in your $FPATH and add autoload man to your ~/kshrc. Also, prepend /opt/ast/bin to your PATH; this makes ksh use the path-bound built-ins that you can see in the output of builtin. Hope this helps.

@johnsonjh
Copy link
Author

:)

@McDutchie
Copy link

Tonight (European time).

McDutchie added a commit that referenced this issue Aug 1, 2022
 _        _        ___ _____                          ___   ___   ___
| | _____| |__    / _ \___ / _   _   _   _ __ ___    / / | / _ \ / _ \
| |/ / __| '_ \  | (_) ||_ \| | | |_| |_| '_ ` _ \  / /| || | | | | | |
|   <\__ \ | | |  \__, |__) | |_| |_   _| | | | | |/ / | || |_| | |_| |
|_|\_\___/_| |_|    /_/____/ \__,_| |_| |_| |_| |_/_/  |_(_)___(_)___/

It may have taken exactly a decade, but here we are... a proper new
ksh release. :) Many thanks to all contributors for their hard work!
Compared to an unpatched 93u+, this release has roughly a thousand
bugs fixed. It incorporates a fair number of enhancements as well.

Not all known bugs have been worked out yet; see the TODO file. Let's
hope this release will rekindle interest and attract more bug hunters.

This commit also makes some very minor fixes in comments. Notable:
src/cmd/ksh93/sh/arith.c: sh_strnum():
- Update a security-related comment. As of b48e5b3, evaluating
  untrusted arithmetic expressions from the environment should no
  longer cause CVE-2019-14868. But let's keep disallowing it anyway.

Resolves: #491
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TODO Things to be done before releasing
Projects
None yet
Development

No branches or pull requests

2 participants