Files
cdesktop/cde/programs/dtksh
Martijn Dekker bf00d3b274 dtksh: Upgrade ksh93 to 1.0.0-beta.2 2021-12-28
Patch from current ksh93 maintainer <https://github.com/ksh93/ksh>.

cde/programs/dtksh/ksh93/**:
- Upgraded. A load of bugs fixed, some minor features added.
  See NEWS from 2021-02-01 upwards.

cde/programs/dtksh/Makefile.am:
- Don't cd into ksh93 any more to invoke the package or shtests
  scripts; they now automatically find their directories.
- Pass $(CFLAGS) to build ksh with optimisation.
- Remove -D_std_malloc flag as vmalloc is now deprecated and disabled
  by default.
- Add a 'make check' target to Makefile.am that runs the ksh93
  regression tests on dtksh to make sure the additions don't interfere
  with anything. It skips running the tests with shcomp because CDE
  doesn't use that. The tests all pass here on Slackware 14.2. :-)

cde/programs/dtksh/init.patch:
- Removed; I've upstreamed it. It was the only one that wasn't upstreamed
  yet, and more code cleanups are coming, breaking downstream patches. If
  something needs updating, just email me a diff.

cde/programs/dtksh/dtkcmds.h:
- Update the ADDBUILTIN macro to remove the __PROTO__ macro use. The
  proto(1) tool, responsible for all such pre-C89 K&R C compatibility
  voodoo, has been removed, so that macro is no longer defined.

cde/programs/dtksh/setup.sh:
- Workaround script removed. I rewrote 'bin/package flat make' in a way
  that works correctly and changed Makefile.am to use that instead.

Hope this helps. Happy new year.
2022-07-09 17:50:35 -06:00
..
2018-04-28 12:30:20 -06:00
2018-06-24 16:22:37 -06:00
2019-12-15 14:07:52 -07:00
2018-04-28 12:30:20 -06:00
2021-01-18 18:00:41 -07:00
2018-04-28 12:30:20 -06:00
2018-04-28 12:30:20 -06:00
2018-04-28 12:30:20 -06:00
2018-04-28 12:30:20 -06:00

/* $XConsortium: README.building /main/2 1996/07/15 14:12:43 drk $ */
Since dtksh does not use anything like a normal build environment,
here are some hints.

- Make a Makefile in cdesrc/cde1/dtksh as if it were a normal
  component

- make includes; make all

  dtksh will build initially fine.

Now, if you change anything, you'll find that just typing "make"
doesn't do anything.  What you have to do is go to
cdesrc/cde1/dtksh/ksh93/ship.  Under there you'll find a distorted
version of the directory structure under ksh93.  Find the directory
that corresponds to the directory that contains your change and
remove the file "BUILT".  Now cd back up to dtksh and make, and
dtksh should remake itself.  Of course, it will recompile many
more files than you actually built, since dtksh does not use
make in any recognizable way.

In fact, it appears the best thing to do is go to cde1/dtksh
and run "ksh MakeClean" which will blow away many files and force
a clean make.

Be extremely careful: Just because you get a dtksh built at
the end does *not* mean the build was successful.  There
are several auxiliary binaries in ksh93/bin that must be built.
Make sure that ksh93/bin looks like this at the end:

urth 1331$ pwd
/scde/SunOS_sparc/opt/stable/build/cde1/dtksh/ksh93/bin
urth 1332$ ls
feature*    ksh*        proto*      silent*
ignore*     pax*        shcomp*     suid_exec*

If any of these are missing, search carefully back through
the make log looking for errors.