This repository contains the AT&T Software Technology (AST) toolkit
from AT&T Research. As of November 2017 the development focus has
been shifted to the ksh
(or ksh93
) command and supporting code required
to build it.
The non-ksh code of the AST project is no longer being actively maintained. If you are interested in the non-ksh code see below for details on which branches contain the full AST code base.
Building ksh requires the Meson build system. To build ksh execute these commands from the project root directory:
meson build
ninja -C build
You can add a --prefix
flag followed by a path to the meson build
command
to specify where the binaries and libraries are installed. The default is
/usr/local.
The ksh
executable, helper libraries and man page can be installed with:
ninja -C build install
Latest builds for Red Hat Enterprise Linux (CentOS) and Fedora can be found in copr.
TBD packages for other Linux distros.
TBD
TBD
See the contributing guidelines for information about code style, unit tests, and other topics of interest to anyone who wants to modify the source.
Full AST source code is available under the 2012-08-01-master
and
2016-01-10-beta
branches (see below for more details). Bug fixes to
these branches are welcome but they are otherwise under low maintenance.
The full AST code includes many tools and libraries, like KSH, NMAKE, SFIO, VMALLOC, VCODEX, etc. It also includes efficient replacements for a lot of the POSIX tools. It was designed to be portable across many UNIX systems and also works under UWIN on Microsoft Windows (see UWIN repo on GitHub under att/uwin).
This software is used to build itself, using NMAKE. After cloning this repo, cd to the top directory of it and run:
./bin/package make
NOTE: That build command only applies to the legacy branches that include
the entire AST source. It does not apply to the current master
branch that
is focused solely on the ksh
command and uses the Meson build system.
Almost all the tools in this package (including the bin/package script are self-documenting; run --man (or --html) for the man page for the tool.
(If you were used to the old AST packaging mechanism, on www.research.att.com, this repo is equivalent to downloading the INIT and ast-open packages and running: ./bin/package read on them).
The master
branch contains
the current development version of ksh93. It only contains source code
for ksh93 and the libraries required to build it.
The 2012-08-01-master branch contains the the last stable release of full AST source code. It contains one cherry-picked change to allow building on Linux.
The 2016-01-10-beta branch contains the last beta release of full AST source code plus a number of patches that were later added on top of it. Changes for the legacy AST project are normally merged to this branch.
The gh-pages branch will probably be removed. It contains files needed to generate the static AST project page hosted by Github. See https://help.github.com/articles/what-is-github-pages/ for more info.
This section needs more detail and clarity. The original README
document
said the following:
Each package is covered by one of the license files
lib/package/LICENSES/
where is the license type for the package. At the top of each license file is a URL; the license covers all software that refers to this URL. For details run
bin/package license []
Any archives, distributions or packages made from source or binaries covered by license(s) must contain the corresponding license file(s).
The primary mechanism for interacting with this project is the Github project by opening issues and pull-requests and watching the project.
Use #ksh
channel on freenode to discuss about AT&T KornShell and related variants.
TBD is setting up a public Gitter, and other channels for real-time communication.
Archives of the legacy AST mailing lists (which is mostly about ksh) can be read at https://marc.info/?l=ast-developers and https://marc.info/?l=ast-users. These mailing lists now receive almost zero traffic. It no longer appears to be possible to subscribe to those mailing lists.