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.
programs/dtwm/Dtwm.defs.src: Update default Dtwm backdrop
localized/*/app-defaults/Dtwm.tmsg: Update translations to reflect change
For CDE users with sufficiently high resolution screens, the abrupt
transition towards the end of the default SkyLight backdrop image bore
a close enough resemblance to graphical corruption to spur bug
reports. This problem likely did not manifest to the original CDE
developers using the typical monitors of the 1990s.
This patch changes the default backdrop to KnitLight, which comports
well with CDE's low distraction UI while still offering something
visually interesting enough to showcase CDE's support for bitmap
backdrops. Because of the repeating pattern within KnitLight, this
problem will not occur in the future. Additionally, SkyLight will be
retained as a CDE backdrop.
CDE has relied upon catgets() implementations following a relaxed
interpretation of the XPG internationalization standard that ignored
-1, the standard error value returned by catopen, as the catalog
argument. However, this same behavior causes segmentation faults with
the musl C library.
This patch:
- Centralizes (with the exception of ToolTalk) all calls to catopen(),
catgets(), and catclose() through MsgCat within the DtSvc library.
- Prevents calls to catgets() and catclose() that rely upon
undefined behavior.
- Eliminates a number of bespoke catgets() wrappers, including multiple
redundant caching implementations designed to work around a design
peculiarity in HP/UX.
- Eases building CDE without XPG internationalization support by providing
the appropriate macros.
make distclean ignores the language definitions, as it should.
However, we had options that suggested that the Japanese locale was
supported. Distclean would decend into that locale directory and
fail, since of course we do not actually support that locale and it is
not currently buildable.
The localized/utils/merge utility used hardcoded temporary filenames
to do its thing. This prevented any Makefiles that called merge from
enabling parallel builds in order avoid the file collisions that would
result.
Now we:
- use filenames that embed the PID in them, making them unique
per-process
- place them in /tmp, rather than the current directory
As a result, we can now re-enable parallel builds for localized
app-defaults, config, and types.
The appmanager action files (/usr/dt/appconfig/appmanager/*) are now
created properly for the main 4 languages supported. As usual, the
en_US.UTF-8 locale is a symlink to C.
These files were previously created via the UDB database files via
imake. Obviously we aren't going to be using those in autotools.
So, each language now has an appmanager/ dir in
programs/localized/$LANG/ that will create them properly on a make and
make install. It uses a new appmgr.am template in localized/templates
to do this.
This also means all of these languages now can use the new actions
added by Antonis, even though they are not translated, they are at
least usable in those languages now.
Use a common make include file to do most of the work and set the
appropriate LANG from localized/templates/ . This should simplify it
quite a bit and reduce duplication.
Also we were not even installing them, so now we are.
These use the 'merge' utility which hardcodes temp files and the like
- it cannot be run with other instances without generating bogus
errors and occasionally coredumping. :(
There are still some issues here - specifically with the C
dtbuilder/dtcodegen catalogs. They may be broken due to dtbuilder not
being built yet.
Also, once dtinfo can be built, the msgs and app-defaults for it
should be re-enabled.
I also see gencat coredumping in localization/ while doing a multicore
(-jX) make. Regular single core builds seem to work fine.