On 31/12/2019 19:45, Adriano dos Santos Fernandes wrote:
On 31/12/2019 13:31, Mark Rotteveel wrote:
On 30/12/2019 16:39, Adriano dos Santos Fernandes wrote:
We need to consistently handle the situation, in regarding to multiple
OS and different deploy of ICU, so CORE-6215 seems not the way to go IMO.
In Linux, Firebird is far more likely to use the system ICU
distribution, which will be kept up-to-date externally. And otherwise
the ICU tools are readily available from a package manager.
In Ubuntu, ICU tzdata is not updated.
It's easy to make a standard subdirectory inside Firebird tree to put
the *.res files and automatically call setenv in the engine start before
load ICU.
However it will not work in embedded if the application previously
loaded ICU (the same DLLs used in Firebird). Maybe this is not important
and in the worst case application developer may explicitly call setenv
at appropriate moment.
There is also u_setDataDirectory() (see
http://userguide.icu-project.org/icudata), but I don't see how that
meshes with our current usage.
I think it needs the .dat file with everything, not only the time zones.
I don't know, but http://userguide.icu-project.org/datetime/timezone says
"""
ICU4C TZ update when ICU is configured for individual files
If the ICU-using application sets an ICU data path (or can be changed to
set one), then the time zone .res file can be placed there. Download the
files as described above and copy them to the specified directory. See
the [ICU Data](http://userguide.icu-project.org/icudata) page of the
user guide for more information about the ICU data path.
"""
Mark
--
Mark Rotteveel
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel