[Buildroot] [PATCH 1/1] package/ushare: fix build without msgfmt
Fabrice Fontaine
fontaine.fabrice at gmail.com
Wed Aug 25 19:43:11 UTC 2021
Le mer. 25 août 2021 à 21:33, Arnout Vandecappelle <arnout at mind.be> a écrit :
>
>
>
> On 22/08/2021 10:57, Fabrice Fontaine wrote:
> > Fix the following build failure without /usr/bin/msgfmt raised since the
> > addition of ushare in commit 74097fd659154499612f21fabeda4e3e7c8fdbfc:
> >
> > make[3]: Entering directory `/home/buildroot/autobuild/run/instance-3/output-1/build/ushare-2.1/po'
> > /usr/bin/msgfmt -c --statistics -o fr.gmo fr.po
> > make[3]: /usr/bin/msgfmt: Command not found
> >
> > To fix this build failure, set GMSGFMT to $(HOST_DIR)/bin/msgfmt and
> > don't build po files if NLS is disabled
> >
> > Fixes:
> > - http://autobuild.buildroot.org/results/9f6b5b8f38386135bacd2d8f6e97c1fea77bbe69
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> > ---
> > ...-t-build-po-files-if-NLS-is-disabled.patch | 47 +++++++++++++++++++
> > package/ushare/ushare.mk | 5 +-
> > 2 files changed, 51 insertions(+), 1 deletion(-)
> > create mode 100644 package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch
> >
> > diff --git a/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch b/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch
> > new file mode 100644
> > index 0000000000..f0fa89998f
> > --- /dev/null
> > +++ b/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch
> > @@ -0,0 +1,47 @@
> > +From 977171781f5d49e61b46c0241fb67cbb7d666498 Mon Sep 17 00:00:00 2001
> > +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> > +Date: Sun, 22 Aug 2021 10:44:48 +0200
> > +Subject: [PATCH] Don't build po files if NLS is disabled
> > +
> > +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> > +[Upstream status: https://github.com/ddugovic/uShare/pull/12]
> > +---
> > + Makefile | 7 +++++--
> > + configure | 1 +
> > + 2 files changed, 6 insertions(+), 2 deletions(-)
> > +
> > +diff --git a/Makefile b/Makefile
> > +index ebd8f91..6686cfd 100644
> > +--- a/Makefile
> > ++++ b/Makefile
> > +@@ -14,10 +14,13 @@ EXTRADIST = AUTHORS \
> > + THANKS \
> > + TODO \
> > +
> > +-SUBDIRS = po \
> > +- scripts \
> > ++SUBDIRS = scripts \
> > + src \
> > +
> > ++ifeq ($(NLS),yes)
> > ++SUBDIRS += po
> > ++endif
> > ++
> > + all:
> > + for subdir in $(SUBDIRS); do \
> > + $(MAKE) -C $$subdir $@; \
> > +diff --git a/configure b/configure
> > +index 4a3efe0..162a776 100755
> > +--- a/configure
> > ++++ b/configure
> > +@@ -723,6 +723,7 @@ append_config "LDFLAGS=$LDFLAGS"
> > + append_config "INSTALL=$INSTALL"
> > +
> > + append_config "DEBUG=$debug"
> > ++append_config "NLS=$nls"
> > +
> > +
> > + echolog "Creating $CONFIG_H ..."
> > +--
> > +2.32.0
> > +
> > diff --git a/package/ushare/ushare.mk b/package/ushare/ushare.mk
> > index a4c9711600..7c7359c385 100644
> > --- a/package/ushare/ushare.mk
> > +++ b/package/ushare/ushare.mk
> > @@ -18,8 +18,11 @@ USHARE_CONF_OPTS = \
> > --sysconfdir=/etc \
> > --disable-strip
> >
> > +USHARE_MAKE_OPTS = LDFLAGS="$(TARGET_LDFLAGS) $(USHARE_LDFLAGS)"
> > +
> > ifeq ($(BR2_SYSTEM_ENABLE_NLS),)
> > USHARE_CONF_OPTS += --disable-nls
> > +USHARE_MAKE_OPTS += GMSGFMT="$(HOST_DIR)/bin/msgfmt"
>
> This looks fishy... If NLS is disabled, there's no dependency that makes sure
> that gettext is built before ushare (or at all). Conversely, if gettext is
> enabled, shouldn't we specify GMSGFMT?
It's already handled by (TARGET_NLS_DEPENDENCIES) at line 9 of
ushare.mk but I can always define GMSGFMT if you prefer.
I'll also set --enable-nls even if this is not needed to fix the build
failure as NLS is enabled by default.
>
> Regards,
> Arnout
>
> > endif
> >
> > define USHARE_CONFIGURE_CMDS
> > @@ -31,7 +34,7 @@ define USHARE_CONFIGURE_CMDS
> > endef
> >
> > define USHARE_BUILD_CMDS
> > - $(TARGET_MAKE_ENV) $(MAKE) LDFLAGS="$(TARGET_LDFLAGS) $(USHARE_LDFLAGS)" -C $(@D)
> > + $(TARGET_MAKE_ENV) $(MAKE) $(USHARE_MAKE_OPTS) -C $(@D)
> > endef
> >
> > define USHARE_INSTALL_TARGET_CMDS
> >
Best Regards,
Fabrice
More information about the buildroot
mailing list