[libvirt] [PATCH v4 06/20] po: generate files into build directory

Pavel Hrdina posted 20 patches 6 years, 3 months ago
[libvirt] [PATCH v4 06/20] po: generate files into build directory
Posted by Pavel Hrdina 6 years, 3 months ago
Historically we did not support VPATH builds and everything was
generated into source directory.  The introduction of VPATH builds
did not changed the way how our translation files are handled.

This patch changes the rules to generate everything into build
directory and stops distributing generated files in order to have
properly separated VPATH builds.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---

Notes:
    Changes in v2:
        - keep the zanata binary name, this will be fixed by separate patch
    
    Chnages in v3:
        - update --transdir and --srcdir options as they are used by
          python-zanata-client
    
    Changes in v4:
        - reverted the HAVE_GNU_GETTEXT_TOOLS move

 .gitignore     |  4 ----
 po/Makefile.am | 31 +++++++++++++++++++------------
 2 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/.gitignore b/.gitignore
index bd64eb5b1a..4c4807019c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,12 +39,8 @@ Makefile.in
 .git-module-status
 
 # libvirt related ignores
-!/po/*.mini.po
 /build/
 /ci/scratch/
-/po/*gmo
-/po/*po
-/po/*pot
 /src/access/org.libvirt.api.policy
 /src/access/viraccessapicheck.c
 /src/access/viraccessapicheck.h
diff --git a/po/Makefile.am b/po/Makefile.am
index b0e2c15d44..89e831f839 100644
--- a/po/Makefile.am
+++ b/po/Makefile.am
@@ -16,17 +16,16 @@ LANGS := \
 
 
 POTFILE_DEPS := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES)
-POTFILE := $(srcdir)/$(DOMAIN).pot
-POFILES := $(LANGS:%=$(srcdir)/%.po)
-GMOFILES := $(LANGS:%=$(srcdir)/%.gmo)
+POTFILE := $(DOMAIN).pot
+POMINIFILES := $(LANGS:%=%.mini.po)
+POFILES := $(LANGS:%=%.po)
+GMOFILES := $(LANGS:%=%.gmo)
 
-MAINTAINERCLEANFILES = $(POTFILE) $(POFILES) $(GMOFILES)
+CLEANFILES = $(POTFILE) $(POFILES) $(GMOFILES)
 
 EXTRA_DIST = \
 	POTFILES \
-	$(POTFILE) \
-	$(POFILES) \
-	$(GMOFILES)
+	$(POMINIFILES)
 
 if HAVE_GNU_GETTEXT_TOOLS
 
@@ -63,10 +62,18 @@ update-mini-po: $(POTFILE)
 	done
 
 push-pot: $(POTFILE)
-	zanata push --push-type=source
+	zanata push \
+		--project-config $(srcdir)/zanata.xml \
+		--push-type=source \
+		--transdir $(builddir) \
+		--srcdir $(srcdir)
 
 pull-po: $(POTFILE)
-	zanata pull --create-skeletons
+	zanata pull \
+		--project-config $(srcdir)/zanata.xml \
+		--create-skeletons \
+		--transdir $(builddir) \
+		--srcdir $(srcdir)
 	$(MAKE) update-mini-po
 	$(MAKE) update-gmo
 
@@ -76,11 +83,11 @@ $(POTFILE): POTFILES $(POTFILE_DEPS)
 	$(SED) $(SED_PO_FIXUP_ARGS) < $@-t > $@
 	rm -f $@-t
 
-$(srcdir)/%.po: $(srcdir)/%.mini.po $(POTFILE)
+%.po: %.mini.po $(POTFILE)
 	$(MSGMERGE) --no-fuzzy-matching $< $(POTFILE) | \
 	  $(SED) $(SED_PO_FIXUP_ARGS) > $@
 
-$(srcdir)/%.gmo: $(srcdir)/%.po
+%.gmo: %.po
 	rm -f $@ $@-t
 	$(MSGFMT) -c -o $@-t $<
 	mv $@-t $@
@@ -99,7 +106,7 @@ install-data-hook: $(GMOFILES)
 	for lang in $(LANGS); do \
 	  d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
 	  mkdir -p $$d; \
-	  install -m 0644 $(srcdir)/$$lang.gmo $$d/$(DOMAIN).mo; \
+	  install -m 0644 $$lang.gmo $$d/$(DOMAIN).mo; \
 	done
 
 uninstall-hook:
-- 
2.23.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH v4 06/20] po: generate files into build directory
Posted by Daniel P. Berrangé 6 years, 3 months ago
On Fri, Nov 08, 2019 at 04:42:07PM +0100, Pavel Hrdina wrote:
> Historically we did not support VPATH builds and everything was
> generated into source directory.  The introduction of VPATH builds
> did not changed the way how our translation files are handled.
> 
> This patch changes the rules to generate everything into build
> directory and stops distributing generated files in order to have
> properly separated VPATH builds.
> 
> Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
> ---
> 
> Notes:
>     Changes in v2:
>         - keep the zanata binary name, this will be fixed by separate patch
>     
>     Chnages in v3:
>         - update --transdir and --srcdir options as they are used by
>           python-zanata-client
>     
>     Changes in v4:
>         - reverted the HAVE_GNU_GETTEXT_TOOLS move
> 
>  .gitignore     |  4 ----
>  po/Makefile.am | 31 +++++++++++++++++++------------
>  2 files changed, 19 insertions(+), 16 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v4 06/20] po: generate files into build directory
Posted by Pavel Hrdina 6 years, 3 months ago
On Fri, Nov 08, 2019 at 03:51:25PM +0000, Daniel P. Berrangé wrote:
> On Fri, Nov 08, 2019 at 04:42:07PM +0100, Pavel Hrdina wrote:
> > Historically we did not support VPATH builds and everything was
> > generated into source directory.  The introduction of VPATH builds
> > did not changed the way how our translation files are handled.
> > 
> > This patch changes the rules to generate everything into build
> > directory and stops distributing generated files in order to have
> > properly separated VPATH builds.
> > 
> > Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
> > ---
> > 
> > Notes:
> >     Changes in v2:
> >         - keep the zanata binary name, this will be fixed by separate patch
> >     
> >     Chnages in v3:
> >         - update --transdir and --srcdir options as they are used by
> >           python-zanata-client
> >     
> >     Changes in v4:
> >         - reverted the HAVE_GNU_GETTEXT_TOOLS move
> > 
> >  .gitignore     |  4 ----
> >  po/Makefile.am | 31 +++++++++++++++++++------------
> >  2 files changed, 19 insertions(+), 16 deletions(-)
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

Thanks, pushed now.

Pavel
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list