On Thu, Oct 24, 2019 at 03:05:24PM +0200, 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(a)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 there are used by
python-zanata-client
Changes in v2:
- keep the zanata binary name, this will be fixed by separate patch
.gitignore | 4 ----
po/Makefile.am | 35 +++++++++++++++++++++--------------
2 files changed, 21 insertions(+), 18 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..7011890255 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,19 +83,17 @@ $(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 $@
.PRECIOUS: $(POTFILE) $(POFILES)
-endif HAVE_GNU_GETTEXT_TOOLS
-
if ENABLE_NLS
# Cannot use 'localedir' since this conflicts with autoconf.
@@ -99,7 +104,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:
@@ -109,3 +114,5 @@ uninstall-hook:
done
endif ENABLE_NLS
+
+endif HAVE_GNU_GETTEXT_TOOLS
Moving this HAVE_GNU_GETTEXT_TOOLS conditional means that on OS that
lack the GNU gettext impl, we are no longer able to 'make install'
the translation files, despite having them prebuilt & bundled in the
tarball.
IIRC, this affects any non-Linux host.
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 :|