Port details |
- ksh ksh93u+m is the renewed development of ksh93 based on AT&T ksh93u+m (stable)
- 1.0.10 shells =2 1.0.10Version of this port present on the latest quarterly branch.
- Maintainer: cy@FreeBSD.org
- Port Added: 2022-08-28 21:22:50
- Last Update: 2024-12-13 08:22:35
- Commit Hash: 06cbfc9
- People watching this port, also watch:: jdictionary, py311-Automat, py311-python-gdsii, py39-PyOpenGL, p5-Sane
- License: EPL
- WWW:
- http://www.kornshell.com/
- Description:
- ksh93u+m is the ksh93 reboot aims to develop bugfixes to the last
stable release (93u+ 2012-08-01) of ksh93, formerly developed by
AT&T Software Technology (AST). This ksh 93u+m reboot now incorporates
many of these bugfixes, plus patches from OpenSUSE, Red Hat, and Solaris,
as well as many new fixes from the community.
Between 2017 and 2020 there was an ultimately unsuccessful attempt to
breathe new life into the KornShell by extensively refactoring the last
unstable AST beta version (93v-). While that ksh2020 effort is now
abandoned and still has many critical bugs, it also had a lot of bugs
fixed. More importantly, the AST issue tracker now contains a lot of
documentation on how to fix those bugs, which made it possible to
backport many of them to the last stable release instead.
The shells/ksh port tracks releases.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- Conflicts:
- CONFLICTS:
- To install the port:
- cd /usr/ports/shells/ksh/ && make install clean
- To add the package, run one of these commands:
- pkg install shells/ksh
- pkg install ksh
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: ksh
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1722563694
SHA256 (ksh93-ksh-v1.0.10_GH0.tar.gz) = 9f4c7a9531cec6941d6a9fd7fb70a4aeda24ea32800f578fd4099083f98b4e8a
SIZE (ksh93-ksh-v1.0.10_GH0.tar.gz) = 2019536
Packages (timestamps in pop-ups are UTC):
- This port has no dependencies.
- This port is required by:
- for Build
-
- lang/emilua
- x11/cde
- x11/cde-25
- x11/cde-devel
- x11-wm/nscde
- for Run
-
- x11/cde
- x11/cde-25
- x11/cde-devel
- x11-wm/nscde
Configuration Options:
- ===> The following configuration options are available for ksh-1.0.10:
EXAMPLES=on: Build and/or install examples
STATIC=off: Build static executables and/or libraries
====> Options available for the single BIN_KSH: you have to select exactly one of them
KSH=off: Install to /usr/local/bin/ksh
KSH93=on: Install to /usr/local/bin/ksh93
KSH93N=off: Install to /usr/local/bin/ksh93n (new)
===> Use 'make config' to modify these settings
- Options name:
- shells_ksh
- USES:
- compiler:c11
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
1.0.10 13 Dec 2024 08:22:35 |
Dima Panov (fluffy) |
shells/ksh: mark as PIE_UNSAFE (+)
Reported by: bulk -t
Approved by: portmgr (blanket)
Sponsored by: Future Crew, LLC |
1.0.10 02 Aug 2024 02:08:09 |
Cy Schubert (cy) |
shells/ksh: Update to 1.0.10
Full changelog at:
https://github.com/ksh93/ksh/compare/v1.0.9...v1.0.10
Main changes between 93u+m/1.0.9 and 93u+m/1.0.10:
- Fixed a serious and longstanding bug in the arithmetic subsystem that was
triggered on non-Intel processors (such as ARM): any division of an
integer by a negative integer threw a spurious "divide by zero" error.
- Fixed a regression where a broken pipe signal (SIGPIPE), when occurring in
a pipe construct within a subshell, caused incorrect signal handling in the
parent/main shell, in some cases causing a script to abort.
- Fixed a bug where printf %T, after having printed the time in UTC once
with the TZ variable set to "UTC", would always print the time in UTC from
then on, even if the TZ variable was changed to another time zone.
- The history expansion character ('!' by default) is now not processed when
immediately following '${'. This makes it possible to use expansion syntax
like ${!varname} and ${!prefix@} on the interactive command line with the
histexpand option on; these no longer trigger an "event not found" error.
- The shell is now capable of handling more than 32767 simultaneous
background jobs, subject to system limitations.
Reported by: Martijn Dekker <martijn@inlv.org> (Upstream) |
1.0.9 02 Jul 2024 04:54:48 |
Cy Schubert (cy) |
shells/ksh: Update to 1.0.9 |
1.0.8_1 10 Jan 2024 15:29:49 |
Baptiste Daroussin (bapt) |
MAN?PREFIX: eleminate its usage and move man to share/man |
1.0.8 01 Jan 2024 05:56:50 |
Cy Schubert (cy) |
shells/ksh: Update to 1.0.8 |
1.0.7 16 Sep 2023 14:41:56 |
Cy Schubert (cy) |
shells/ksh: Update to 1.0.7
From the announcement email:
Full changelog at:
https://github.com/ksh93/ksh/compare/v1.0.6...v1.0.7
Main changes between 1.0.6 and 1.0.7:
- Fixed a hang in command substitutions (introduced in 93u+m/1.0.0)
that was triggered when redirecting standard output within a
command substitution, in combination with other factors. E.g.,
the following no longer hangs:
{ v=$(redirect 2>&1 1>&9); } 9>&1
- Fixed a crash on trying to append an indexed array value to an
unset name reference, e.g.: nameref unsetref; unsetref+=(foo
bar). This now produces a "removing nameref attribute" warning
before performing the assignment.
- Fixed: assignments like name=(...) to arrays did not preserve the
array and variable types; similarly, assigning an empty set () to
a compound indexed array caused the -C attribute to be lost.
- Fixed incorrect rejection of the tab key while reading input
using the 'read' built-in command.
- Fixed a bug in printf %T: when using dates and times in the past,
time zones for the present were incorrectly used, ignoring
historical changes. |
1.0.6 26 Aug 2023 20:36:35 |
Po-Chuan Hsieh (sunpoet) |
shells/ksh: Remove blank line
Approved by: portmgr (blanket) |
1.0.6 13 Jun 2023 18:53:29 |
Cy Schubert (cy) |
shells/ksh: Update to 1.0.6
From the announcement:
This is an urgent bugfix release that fixes a serious regression in
pathname expansion, see: https://github.com/ksh93/ksh/issues/660
The previous 1.0.5 release is withdrawn and should not be used.
Main changes between 1.0.5 and 1.0.6:
- Fixed a serious regression in pathname expansion where quoted wildcard
characters were incorrectly expanded if a pattern contains both a brace
expansion and a variable expansion.
- Fixed a bug where the command to launch a full-screen editor (^X^E in
emacs and 'v' in vi) could cause the wrong command line to be edited (Only the first 15 lines of the commit message are shown above ) |
1.0.5_2 13 Jun 2023 02:37:49 |
Cy Schubert (cy) |
shells/ksh*: Fix ksh 1.0.5 Regression (issue #660) version 2
From the upstream patch description:
Patch version two. In mac_copy(), don't internally backslash-escape
a backslash in a glob pattern bracket expression. This also fixes
the #549 regression reintroduced by the previous patch, at least for
standard glob patterns. For this, we need to use the bracketexpr flag
(introduced as a copyto() local variable in 6c73c8c) in mac_copy(),
so we move it to the Mac_t struct, making it globally accessible.
Initialisation is automatic. |
1.0.5_1 12 Jun 2023 09:19:55 |
Cy Schubert (cy) |
shells/ksh: Fix ksh 1.0.5 Regression (issue #660)
From issue #660:
Globs are not expanded with the following:
% echo "/"{bin,sbin}"/*"
/bin/* /sbin/*
% v=/; echo "$v"bin"/*"
/bin/*
But globbing is unexpectedly performed if both parameter substitution
and brace expansion are present:
% v=/; echo "$v"{bin,sbin}"/*"
[output omitted for the sake of brevity]
Obtained from: https://github.com/ksh93/ksh/issues/660
MFH: 2023Q3 |
1.0.5 07 Jun 2023 15:52:22 |
Cy Schubert (cy) |
shells/ksh: Update 1.0.4 --> 1.0.5
The release email outlined the following changes:
This release has a large amount of bugfixes compared to 93u+m/1.0.4. In
summary:
- Fixed various bugs causing crashes.
- Fixed many bugs in the emacs and vi line editors, in command completion,
and in file name completion.
- Fixed various bugs in the handling of quotes, backslash escapes and braces
when processing shell glob patterns (e.g. in pathname expansion and
'case').
- ksh now throws a panic and exits if a read error (such as an I/O error)
occurs while trying to read the next command(s) from a running script. (Only the first 15 lines of the commit message are shown above ) |
1.0.4 26 Mar 2023 02:49:11 |
Cy Schubert (cy) |
shells/ksh*: Remove BROKEN for missing sbrk()
As of Jan 26, 2021, ksh (ksh93/ksh) no longer needs sbrk(). Remove
BROKEN for architectures that don't have sbrk(2). See upstream issue
https://github.com/ksh93/ksh/issues/154. |
1.0.4 23 Mar 2023 18:31:07 |
Cy Schubert (cy) |
shells/ksh*: Update descriptions
Update ksh ports descriptions to more accurately reflect what they are.
Reported by: "Joseph Holsten" <joseph@josephholsten.com> |
1.0.4 23 Mar 2023 06:04:59 |
Cy Schubert (cy) |
shells/ksh: Remove the now expired ksh2020 from CONFLICTS. |
1.0.4 15 Feb 2023 16:55:03 |
Cy Schubert (cy) |
shells/ksh*: Permanently fix LLVM15 build
Fix aso atomics broken by LLVM:
/wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c
/wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c:839:10:
error: incompatible integer to pointer conversion passing 'uint64_t' (aka
'unsigned long') to parameter of type 'void *' [-Wint-conversion]
return _aso_casptr((void**)p, o, n);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./FEATURE/aso:19:66: note: expanded from macro '_aso_casptr'
^~~~~~~~~~~
/wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c:839:10:
error: incompatible integer to pointer conversion passing 'uint64_t' (aka
'unsigned long') to parameter of type 'void *' [-Wint-conversion]
return _aso_casptr((void**)p, o, n);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./FEATURE/aso:19:78: note: expanded from macro '_aso_casptr'
^~~~~~~~~~~
2 errors generated.
mamake [lib/libast]: *** exit code 1 making aso.o
mamake: *** exit code 1 making lib/libast
mamake: *** exit code 1 making all
package: creating flat view
package: make failed at Fri Feb 10 06:00:01 UTC 2023 in
/wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/arch/freebsd14.amd64-64
*** Error code 1 |
1.0.4 10 Feb 2023 14:40:47 |
Cy Schubert (cy) |
shells/ksh: Fix build with LLVM15 |
1.0.4 22 Oct 2022 17:04:13 |
Cy Schubert (cy) |
shells/ksh: Update 1.0.3 --> 1.0.4 |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
1.0.3 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
1.0.3 28 Aug 2022 22:49:09 |
Cy Schubert (cy) |
shells/ksh: Add missing option
Fixes: 6e9237ba47f0c0df54a58ca8a1bf79b44d580208 |
1.0.3 28 Aug 2022 21:16:45 |
Cy Schubert (cy) |
shells/ksh*: Allow the ksh ports to coexist
Add an option to allow the ksh ports to avoid conflicting with each
other and to coexist. This allows people who wish to punish themselves
by tracking developent to still be able to fall back should upstream
cause regressions.
This also allows legacy ksh93 to coexist with the recently added
ksh93/ksh, which is not entirely compatible with legacy ksh. Applications
which require a legacy ksh compatible package should use the ksh93 port
installed using one of its options. This allows new and old to exist on
the same system. |
1.0.3 28 Aug 2022 21:16:45 |
Cy Schubert (cy) |
shells/ksh93: Introduce new ksh port
Now that ksh development has resumed under a new account on github,
this introduces the fourth stable release (1.0.3) of ksh93/ksh to ports |