[Buildroot] [PATCH/RFC 1/1] package/pkg-utils.mk: fix per-package build

Yann E. MORIN yann.morin.1998 at free.fr
Sun Jan 17 13:53:49 UTC 2021


Bernd, All,

On 2021-01-17 13:53 +0100, Yann E. MORIN spake thusly:
> On 2021-01-17 13:24 +0100, Bernd Kuhls spake thusly:
> > While host-fontconfig provides share/gettext as a directory
> > in host-libglib2 share/gettext is a link
> > causing an error with rsync.
> [--SNIP--]
> > Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
> > ---
> > This patch is a RFC because I am unsure whether this is the correct fix
> > as I do not have much experience with rsync. But nonetheless I would like
> > to point into the imho right direction for the fix.
> I think the proper approach is to fix either package so that they
> provide dentries of the same type.

Now that I thought about it a bit more, I wonder if in fact, we would
not be better adding a post-install hook to host-gettext-tiny, so that:

  - it does not create a symlink
  - renames the 'gettext-tiny' directory to jsut 'gettext'

That way, we're back to a more clasic situation, as we'd have with the
full-blown gettext.

And the symlink is already our doing, anyway, so probably something
along those lines:

    diff --git a/package/gettext-tiny/gettext-tiny.mk b/package/gettext-tiny/gettext-tiny.mk
    index c297cb1fe5..473c58a94f 100644
    --- a/package/gettext-tiny/gettext-tiny.mk
    +++ b/package/gettext-tiny/gettext-tiny.mk
    @@ -52,6 +52,7 @@ define HOST_GETTEXT_TINY_BUILD_CMDS
     	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
     		$(HOST_CONFIGURE_OPTS) \
     		prefix=$(HOST_DIR) \
    +		datadir=$(HOST_DIR)/usr/share/gettext \
     		CFLAGS="$(HOST_CFLAGS) -fPIC" \
     		LIBINTL=NONE
     
    @@ -70,8 +71,8 @@ define HOST_GETTEXT_TINY_BUILD_CMDS
     endef
     
     define HOST_GETTEXT_TINY_INSTALL_CMDS
    -	$(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/po
    -	$(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/m4
    +	$(Q)mkdir -p $(HOST_DIR)/share/gettext/po
    +	$(Q)mkdir -p $(HOST_DIR)/share/gettext/m4
     
     	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
     		$(HOST_CONFIGURE_OPTS) \
    @@ -81,21 +82,21 @@ define HOST_GETTEXT_TINY_INSTALL_CMDS
     	$(SED) '/read dummy/d' $(@D)/gettextize
     
     	$(INSTALL) -m 0755 -D $(@D)/gettextize $(HOST_DIR)/bin/gettextize
    -	$(INSTALL) -m 0644 -D $(@D)/build-aux/config.rpath $(HOST_DIR)/share/gettext-tiny/config.rpath
    -	$(INSTALL) -m 0644 -D $(@D)/extra/Makefile.in.in $(HOST_DIR)/share/gettext-tiny/po/Makefile.in.in
    -	$(INSTALL) -m 0644 -D $(@D)/extra/boldquot.sed $(HOST_DIR)/share/gettext-tiny/po/boldquot.sed
    -	$(INSTALL) -m 0644 -D $(@D)/extra/en at boldquot.header $(HOST_DIR)/share/gettext-tiny/po/en at boldquot.header
    -	$(INSTALL) -m 0644 -D $(@D)/extra/en at quot.header $(HOST_DIR)/share/gettext-tiny/po/en at quot.header
    -	$(INSTALL) -m 0644 -D $(@D)/extra/insert-header.sin $(HOST_DIR)/share/gettext-tiny/po/insert-header.sin
    -	$(INSTALL) -m 0644 -D $(@D)/extra/quot.sed $(HOST_DIR)/share/gettext-tiny/po/quot.sed
    -	$(INSTALL) -m 0644 -D $(@D)/extra/remove-potcdate.sin $(HOST_DIR)/share/gettext-tiny/po/remove-potcdate.sin
    -	$(INSTALL) -m 0644 -D $(@D)/extra/Rules-quot $(HOST_DIR)/share/gettext-tiny/po/Rules-quot
    -	$(INSTALL) -m 0644 -D $(@D)/extra/Makevars.template $(HOST_DIR)/share/gettext-tiny/po/Makevars.template
    +	$(INSTALL) -m 0644 -D $(@D)/build-aux/config.rpath $(HOST_DIR)/share/gettext/config.rpath
    +	$(INSTALL) -m 0644 -D $(@D)/extra/Makefile.in.in $(HOST_DIR)/share/gettext/po/Makefile.in.in
    +	$(INSTALL) -m 0644 -D $(@D)/extra/boldquot.sed $(HOST_DIR)/share/gettext/po/boldquot.sed
    +	$(INSTALL) -m 0644 -D $(@D)/extra/en at boldquot.header $(HOST_DIR)/share/gettext/po/en at boldquot.header
    +	$(INSTALL) -m 0644 -D $(@D)/extra/en at quot.header $(HOST_DIR)/share/gettext/po/en at quot.header
    +	$(INSTALL) -m 0644 -D $(@D)/extra/insert-header.sin $(HOST_DIR)/share/gettext/po/insert-header.sin
    +	$(INSTALL) -m 0644 -D $(@D)/extra/quot.sed $(HOST_DIR)/share/gettext/po/quot.sed
    +	$(INSTALL) -m 0644 -D $(@D)/extra/remove-potcdate.sin $(HOST_DIR)/share/gettext/po/remove-potcdate.sin
    +	$(INSTALL) -m 0644 -D $(@D)/extra/Rules-quot $(HOST_DIR)/share/gettext/po/Rules-quot
    +	$(INSTALL) -m 0644 -D $(@D)/extra/Makevars.template $(HOST_DIR)/share/gettext/po/Makevars.template
     
     	$(Q)touch $(HOST_DIR)/share/gettext-tiny/ABOUT-NLS
     
    -	# for gettextize
    -	ln -sf $(HOST_DIR)/usr/share/gettext-tiny $(HOST_DIR)/usr/share/gettext
    +	# for legacy
    +	ln -sf gettext-tiny $(HOST_DIR)/usr/share/gettext-tiny
     endef
     
     # Install simple echo wrapper for gettext tool

Disclaimer: totally untested, as usual! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list