cpupower: add checks for xgettext and msgfmt
PATCH v3 1/1 cpupower: add checks for xgettext and msgfmt
Check whether xgettext and msgfmt are available on the system before attempting to generate GNU gettext Language Translations. In case of missing dependency, generate warning message directing user to install the necessary package.
---
v1->v2:
- Checks for gettext tools outside the target definitions instead of inline
- Replace command with which
v2->v3:
- Update commit message
tools/power/cpupower/Makefile | 12 ++++++++++++ 1 file changed, 12 insertions(+)
tools/power/cpupower/Makefile +12 -0
@@ -218,17 +218,28 @@ else endif $(QUIET) $(STRIPCMD) $@ +ifeq (, $(shell which xgettext)) +$(warning "Install xgettext to extract translatable strings.") +else $(OUTPUT)po/$(PACKAGE).pot: $(UTIL_SRC) $(ECHO) " GETTEXT " $@ $(QUIET) xgettext --default-domain=$(PACKAGE) --add-comments \ --keyword=_ --keyword=N_ $(UTIL_SRC) -p $(@D) -o $(@F) +endif +ifeq (, $(shell which msgfmt)) +$(warning "Install msgfmt to generate binary message catalogs.") +else $(OUTPUT)po/%.gmo: po/%.po $(ECHO) " MSGFMT " $@ $(QUIET) msgfmt -o $@ po/$*.po +endif create-gmo: ${GMO_FILES} +ifeq (, $(shell which msgmerge)) +$(warning "Install msgmerge to merge translations.") +else update-po: $(OUTPUT)po/$(PACKAGE).pot $(ECHO) " MSGMRG " $@ $(QUIET) @for HLANG in $(LANGUAGES); do \
@@ -241,6 +252,7 @@ update-po: $(OUTPUT)po/$(PACKAGE).pot rm -f $(OUTPUT)po/$$HLANG.new.po; \ fi; \ done; +endif compile-bench: $(OUTPUT)libcpupower.so.$(LIB_MAJ) @V=$(V) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT)
Signature · 1 line
2.39.5
Shuah Khan
maintainerQuoted 5 lines · Siddharth Menon
Check whether xgettext and msgfmt are available on the system before attempting to generate GNU gettext Language Translations. In case of missing dependency, generate warning message directing user to install the necessary package.
Quoted 8 lines
Signed-off-by Siddharth Menon <[email protected]>---
v1->v2:
- Checks for gettext tools outside the target definitions instead of inline
- Replace command with which
v2->v3:
- Update commit message
Looks like there is more than just updating commit log in this version. You fixed a problem in your v2. :)
Also when someone suggests an approach and give you a diff, the practice is to add Suggested-by
John, Do you have time to test this? Asking since you tested the previous version. Just want to make sure this one works as well.
Quoted 38 lines
tools/power/cpupower/Makefile | 12 ++++++++++++ 1 file changed, 12 insertions(+)tools/power/cpupower/Makefile +11
-0@@ -218,17 +218,28 @@ else endif $(QUIET) $(STRIPCMD) $@ +ifeq (, $(shell which xgettext)) +$(warning "Install xgettext to extract translatable strings.") +else $(OUTPUT)po/$(PACKAGE).pot: $(UTIL_SRC) $(ECHO) " GETTEXT " $@ $(QUIET) xgettext --default-domain=$(PACKAGE) --add-comments \ --keyword=_ --keyword=N_ $(UTIL_SRC) -p $(@D) -o $(@F) +endif +ifeq (, $(shell which msgfmt)) +$(warning "Install msgfmt to generate binary message catalogs.") +else $(OUTPUT)po/%.gmo: po/%.po $(ECHO) " MSGFMT " $@ $(QUIET) msgfmt -o $@ po/$*.po +endif create-gmo: ${GMO_FILES} +ifeq (, $(shell which msgmerge)) +$(warning "Install msgmerge to merge translations.") +else update-po: $(OUTPUT)po/$(PACKAGE).pot $(ECHO) " MSGMRG " $@ $(QUIET) @for HLANG in $(LANGUAGES); do \
tools/power/cpupower/Makefile update-po: $(OUTPUT)po/$(PACKAGE).pot · line 258
Quoted 7 lines
tools/power/cpupower/Makefile +1
-0@@ -241,6 +252,7 @@ update-po: $(OUTPUT)po/$(PACKAGE).pot rm -f $(OUTPUT)po/$$HLANG.new.po; \ fi; \ done; +endif compile-bench: $(OUTPUT)libcpupower.so.$(LIB_MAJ) @V=$(V) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT)
thanks,
-- Shuah
Quoted 18 lines · Shuah Khan
Quoted 5 lines · Siddharth Menon
Check whether xgettext and msgfmt are available on the system before attempting to generate GNU gettext Language Translations. In case of missing dependency, generate warning message directing user to install the necessary package.
Quoted 8 lines
Signed-off-by Siddharth Menon <[email protected]>---
v1->v2:
- Checks for gettext tools outside the target definitions instead of inline
- Replace command with which
v2->v3:
- Update commit messageLooks like there is more than just updating commit log in this version. You fixed a problem in your v2. :)
Quoted 7 lines
Also when someone suggests an approach and give you a diff, the practice is to add Suggested-by
John, Do you have time to test this? Asking since you tested the previous version. Just want to make sure this one works as well.
Yes I do, all 3 messages only appear once when the gettext pkg is not installed on a Fedora 40 server using the make command. When it is installed none of the messages show. Works as expected.
Siddharth, assuming no other changes. :) Please include my Tested-by tags so others know your code was tested in your V4 along with Shuah's Suggested-by and document the clean up of V3's msgmerge.
Quoted 3 lines
thanks,
-- Shuah
Signature · 4 lines
Sincerely, John Wyatt Software Engineer, Core Kernel Red Hat