Greetings.

First, thank you again for the positive feedback and review on the recent Ubuntu/Debian packaging merge. I really appreciate the time and attention from the CDE developers, and I am happy that the packaging work was useful to the project.

I have now opened another merge request:

https://sourceforge.net/p/cdesktopenv/code/merge-requests/86/

This MR replaces the vendored dtksh ksh93 source tree with the official upstream ksh93/ksh repository as a Git submodule.

I want to make one important point very clear: this does not upgrade or change the ksh93 version used by CDE.

The submodule is pinned to the same ksh93u+m v1.0.4 commit that CDE had already imported:

d4503c15572dd6b6b2cdd57c61583fbda27571a4

So this is not a KornShell version bump. It is only a provenance and maintainability change: instead of carrying a copied source tree inside CDE, the same upstream version is referenced directly through Git history.

But off course, this will allow us to quickly install and benefit from upstream korn shell project updates on the future.

Before opening the MR, I audited CDE's embedded ksh93 tree against the official upstream v1.0.4 tag. Out of 1152 compared files, 1149 were identical.

The only substantive local CDE delta was in:

src/lib/libast/features/aso

That change has been preserved as a CDE-side patch:

programs/dtksh/ksh93-patches/0001-backport-upstream-asocasptr-fix.patch

The patch is a small backport of the upstream _aso_casptr() fix associated with ksh93/ksh issue #697. The build system applies it before building dtksh and reverses it during clean.

There were two other differences found during the audit, but I did not preserve them as patches:

- src/cmd/ksh93/sh/xec.c had a local NULL comparison simplification.
- src/cmd/ksh93/tests/libcmd.sh had whitespace-only differences.

I left those out intentionally. The xec.c change did not correspond to an upstream commit that I could identify, and it appeared to be only a local simplification rather than a required CDE functional change. The libcmd.sh difference was whitespace-only. I thought it would be better to keep the submodule as close as possible to the official upstream v1.0.4 tree and preserve only the real functional delta.

I also tested the MR locally:

- verified the submodule is pinned to official upstream ksh93/ksh v1.0.4
- verified the CDE-side patch applies cleanly
- built a local Debian binary package with dpkg-buildpackage -b -us -uc
- installed the generated cde-desktop_2.5.3-1_amd64.deb
- confirmed /usr/bin/dtksh runs successfully
- confirmed dtksh reports:

Version AJM 93u+m/1.0.4+d4503c15/MOD 2022-10-22

For anyone testing the branch:
https://sourceforge.net/u/johngrimmreaper/cdesktopenv/ci/experiment/ksh93-submodule-v1.0.4-audit/~/

the submodule can be initialized with:

git submodule update --init --recursive

The goal of this merge request is to make future KornShell maintenance easier and auditable, while preserving the current CDE behavior and the exact same ksh93 version.

Thank you again for your work on CDE.

Best regards,
Reaper
_______________________________________________
cdesktopenv-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to