diff mbox series

[v3] cpupower: add checks for xgettext and msgfmt

Message ID 20241017133223.53070-1-simeddon@gmail.com (mailing list archive)
State Superseded
Delegated to: Shuah Khan
Headers show
Series [v3] cpupower: add checks for xgettext and msgfmt | expand

Commit Message

Siddharth Menon Oct. 17, 2024, 1:32 p.m. UTC
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.

Signed-off-by: Siddharth Menon <simeddon@gmail.com>
---
 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(+)

Comments

Shuah Khan Oct. 17, 2024, 4:04 p.m. UTC | #1
On 10/17/24 07:32, Siddharth Menon wrote:
> 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.
> 
> Signed-off-by: Siddharth Menon <simeddon@gmail.com>
> ---
>   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.

>   
>   tools/power/cpupower/Makefile | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/tools/power/cpupower/Makefile b/tools/power/cpupower/Makefile
> index 6c02f401069e..84987f91d11f 100644
> --- a/tools/power/cpupower/Makefile
> +++ b/tools/power/cpupower/Makefile
> @@ -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)

thanks,
-- Shuah
John B. Wyatt IV Oct. 17, 2024, 7:52 p.m. UTC | #2
On Thu, Oct 17, 2024 at 10:04:29AM -0600, Shuah Khan wrote:
> On 10/17/24 07:32, Siddharth Menon wrote:
> > 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.
> > 
> > Signed-off-by: Siddharth Menon <simeddon@gmail.com>
> > ---
> >   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.
> 

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.

Tested-by: John B. Wyatt IV <jwyatt@redhat.com>
Tested-by: John B. Wyatt IV <sageofredondo@gmail.com>

> thanks,
> -- Shuah
>
diff mbox series

Patch

diff --git a/tools/power/cpupower/Makefile b/tools/power/cpupower/Makefile
index 6c02f401069e..84987f91d11f 100644
--- a/tools/power/cpupower/Makefile
+++ b/tools/power/cpupower/Makefile
@@ -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)