make update-po problem with USE_PGXS

Started by wangsh.fnst@fujitsu.comabout 4 years ago2 messages
#1wangsh.fnst@fujitsu.com
wangsh.fnst@fujitsu.com

Hi,

I'm developing an extension, after modifying some source file(add some message
like gettext('xxxxx')) and execute

$ make USE_PGXS=1 update-po
make: Nothing to be done for 'update-po'.

I feel strange because I think *.po.new files should be created.

After some research, I find in $pginstall/lib/postgresql/pgxs/src/nls-global.mk

ifneq (,$(filter update-po %.po.new,$(MAKECMDGOALS)))
ALL_LANGUAGES := $(shell find $(top_srcdir) -name '*.po' -print | sed 's,^.*/\([^/]*\).po$$,\1,' | LC_ALL=C sort -u)
all_compendia := $(shell find $(top_srcdir) -name '*.po' -print | LC_ALL=C sort)
else

When USE_PGXS is on, the value of $(top_srcdir) is

$pginstall/lib/postgresql/pgxs/src/makefiles/../..

Therefore, command find will nerver find any po file.

I think this is a problem and plan to modify this,
when USE_PGXS is on, we can use:
find . -name '*.po' -print

Or there are some advice/comments?

Regards
Shenhao Wang

#2Peter Eisentraut
peter.eisentraut@enterprisedb.com
In reply to: wangsh.fnst@fujitsu.com (#1)
Re: make update-po problem with USE_PGXS

On 01.11.21 04:56, wangsh.fnst@fujitsu.com wrote:

I'm developing an extension, after modifying some source file(add some message
like gettext('xxxxx')) and execute

$ make USE_PGXS=1 update-po
make: Nothing to be done for 'update-po'.

I feel strange because I think *.po.new files should be created.

I don't think the NLS makefiles were ever adjusted to work with PGXS.
It's not surprising to me that some amount of adjustment appears to be
necessary to make the paths right.