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. >> We also need a good way to release: >> 1) every time zone table update at our website >> 2) release the latest table with every Firebird release >> >> This could be done downloading the appropriate ICU tzdata *.res files >> and commiting as a zip to our github (in FirebirdSQL/firebird, in every >> supported branches). Then build/package scripts would put that files in >> the right place of distribution kits. > > Is putting such external binary dependencies in the repository is the > right course of action? Why not download the latest directly from the > ICU site > (https://github.com/unicode-org/icu-data/tree/master/tzdata/icunew) when > you need it? Though that has the downside of decreasing the > repeatability of a build. > Build currently works without internet and at least thinking in a single component does not make sense to change it. Also... > I'm also not sure if it makes sense to include the .res files in the > build: in that case you can (and I think should) use the updated ICU > data file or expect the system ICU to be up-to-date. > > It also doesn't really address the fact that over the past few years, > there have been more frequent tzdata updates than there have been > Firebird releases. > The problem is that in their site it's not a single downloadable file. One need to get whole repository or many files individually. Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
