Suggestion from Giacomo Comes <comes@naic.edu>:
In this way, after a login, the desktop manager will set the
environment variables: XDG_CURRENT_DESKTOP and XDG_SESSION_DESKTOP
Fix many -Wint-conversion errors such as the example below, including
an aso atomics error.
connect.c:87:12: error: incompatible pointer to integer conversion initializing 'LONG' (aka 'int') with an expression of type 'void *' [-Wint-conversion]
DB_ADDR mdba = NULL; /* db address of current member record */
^ ~~~~
The man page dtksh.1 only refers to the dt extensions. For options,
operands, input files, etc, such man page points to the (k)sh.1 man
page. Since the version of ksh installed with the OS is different from
the one used to build dtksh, the correct documantation of dtksh can be
found only in cde's ksh man page. To avoid any conflict or confusion,
my patch renames cde's ksh.1 as ksh-cde.1
This makes certain changes if you are bold enough to use a different
installation prefix than /usr/dt:
- fix MANDIR output from dtsearchpath
- missing dtopn_* links
- /usr/dt/bin is always needed
- fix DTKORNSHELL output for dtlp
This commit upgrades ksh93 to the latest version. Some minor changes
were required in the dtkcmds.c to make this work.
Most of the changes were in Makefile.am - primarily ensuring that
SHOPTS_* defines matched between dtksh and ksh93 builds, and that
ksh93 was actually told about them :)
The SHOPTS_* defines need to be assigned as the integer 1 as well, or
various preprocessor checks in ksh93 would fail.
Also:
- got rid of SUIDEXECDEFINES - this is a holdover from the Imake days
and was never defined anyway.
- removed some SHOPT_* defines that no longer existed.
- do not pass CFLAGS to the ksh build at all - no need to complicate
things.
This has meant very little for a long time as configure.ac just
hardcoded these values depending on the current OS versions at the
time.
The only place where this is really 'needed' is XlationSvc.c in DtSvc
so that differences between locale specifications on various versions
of an OS can be accounted for. So for now, we just define those when
building DtSvc.
We could probably safely remove them as well with an update to the
Xlate locale DB to remove ancient cruft we don't care about anymore.
For various other modules, like dtlogin, dtsession, etc we just use
the code that was already being used due to the hardcoded values we've
had for the last 10-ish years.
OS_VERSION was used with a '#if defined(sun)', but since it was never
set anywhere it just omitted that block. If the block turns up to be
broken on sun systems, then someone will fix it properly.
In previous versions of CDE (<2.5.0), these were directories with
en_US symlinked to them. Attempting to do a 'make install' with 2.5.0
would yield errors since only a non-recursive 'rm' was being done.
On 2.5.0+, these are symlinks to the en_US versions now.
Previously we would fail in some parts of the code if we did not have a
premade configuration, now we use any code that was marked as Linux, BSD and
Solaris as our basis in order to support building unknown Unix systems.