On Tue, Oct 29, 2019 at 6:06 AM Peter Eisentraut <peter.eisentr...@2ndquadrant.com> wrote: > > Continuing the discussion from [0] and [1], here is a patch that > automates the process of updating Unicode derived files. Summary: > > - Edit UNICODE_VERSION and/or CLDR_VERSION in src/Makefile.global.in > - Run make update-unicode > - Commit
Hi Peter, I gave "make update-unicode" a try. It's unclear to me what the state of the build tree should be when a maintainer runs this, so I'll just report what happens when running naively (on MacOS). After only running configure, "make update-unicode" gives this error at normalization-check: ld: library not found for -lpgcommon clang: error: linker command failed with exit code 1 (use -v to see invocation) After commenting that out, the next command "$(MAKE) -C contrib/unaccent $@" failed, seemingly because $(PYTHON) is empty unless --with-python was specified at configure time. > Open questions that are currently not handled consistently: > > - Should the downloaded files be listed in .gitignore? These files are transient byproducts of a build, and we don't want them committed, so they seem like a normal candidate for .gitignore. > - Should the downloaded files be cleaned by make clean (or distclean or > maintainer-clean or none)? It seems one would want to make clean without removing these files, and maintainer clean is for removing things that are preserved in distribution tarballs. So I would go with distclean. > - Should the generated files be excluded from pgindent? Currently, the > generated files will not pass pgindent unchanged, so that could cause > annoying whitespace battles when these files are updated and re-indented > around release time. I see what you mean in the norm table header. I think generated files should not be pgindent'd, since creating them is already a consistent, mechanical process, and their presentation is not as important as other code. Other comments: +print "/* generated by src/common/unicode/generate-unicode_combining_table.pl, do not edit */\n\n"; I would print out the full boilerplate like for other generated headers. Lastly, src/common/unicode/README is outdated (and possibly no longer useful at all?). -- John Naylor https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services