* [Buildroot] [PATCH/RFC 1/1] package/pkg-utils.mk: fix per-package build
@ 2021-01-17 12:24 Bernd Kuhls
2021-01-17 12:53 ` Yann E. MORIN
0 siblings, 1 reply; 3+ messages in thread
From: Bernd Kuhls @ 2021-01-17 12:24 UTC (permalink / raw)
To: buildroot
Building host-cairo is broken:
>>> host-cairo 1.16.0 Configuring
mkdir -p output/per-package/host-cairo/host
rsync -a -K --link-dest=output/per-package/host-fontconfig/host/ output/per-package/host-fontconfig/host/ output/per-package/host-cairo/host
rsync -a -K --link-dest=output/per-package/host-freetype/host/ output/per-package/host-freetype/host/ output/per-package/host-cairo/host
rsync -a -K --link-dest=output/per-package/host-libglib2/host/ output/per-package/host-libglib2/host/ output/per-package/host-cairo/host
cannot delete non-empty directory: share/gettext
could not make way for new symlink: share/gettext
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
While host-fontconfig provides share/gettext as a directory
$ ls -la output/per-package/host-fontconfig/host/share | grep gettext
drwxr-xr-x 3 build build 4096 Jan 17 12:27 gettext
in host-libglib2 share/gettext is a link
$ ls -la output/per-package/host-libglib2/host/share | grep gettext
lrwxrwxrwx 3 build build 90 Jan 17 12:27 gettext -> output/per-package/host-gettext-tiny/host/usr/share/gettext-tiny
drwxr-xr-x 5 build build 4096 Jan 17 12:27 gettext-tiny
causing an error with rsync.
Fixes:
http://autobuild.buildroot.net/results/cae/caecde3dc21717745c9b202435e8ddae85c5bb8f/
Signed-off-by: Bernd Kuhls <bernd.kuhls@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.
package/pkg-utils.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
index 11090cb628..1f3ff05b6c 100644
--- a/package/pkg-utils.mk
+++ b/package/pkg-utils.mk
@@ -178,7 +178,7 @@ ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
define per-package-rsync
mkdir -p $(3)
$(foreach pkg,$(1),\
- rsync -a --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
+ rsync -a --force --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
$(3)$(sep))
endef
--
2.29.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH/RFC 1/1] package/pkg-utils.mk: fix per-package build
2021-01-17 12:24 [Buildroot] [PATCH/RFC 1/1] package/pkg-utils.mk: fix per-package build Bernd Kuhls
@ 2021-01-17 12:53 ` Yann E. MORIN
2021-01-17 13:53 ` Yann E. MORIN
0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN @ 2021-01-17 12:53 UTC (permalink / raw)
To: buildroot
Bernd, All,
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@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.
In my opinion, this is not the correct patch.
I think the proper approach is to fix either package so that they
provide dentries of the same type.
In this case, it seems like a workaround would be to have
host-fontconfig to also depend on host-gettext, which would ensure that
gettext is a proper symlink in host-fontconfig too.
Regards,
Yann E. MORIN.
> package/pkg-utils.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
> index 11090cb628..1f3ff05b6c 100644
> --- a/package/pkg-utils.mk
> +++ b/package/pkg-utils.mk
> @@ -178,7 +178,7 @@ ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
> define per-package-rsync
> mkdir -p $(3)
> $(foreach pkg,$(1),\
> - rsync -a --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
> + rsync -a --force --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
> $(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
> $(3)$(sep))
> endef
> --
> 2.29.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH/RFC 1/1] package/pkg-utils.mk: fix per-package build
2021-01-17 12:53 ` Yann E. MORIN
@ 2021-01-17 13:53 ` Yann E. MORIN
0 siblings, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2021-01-17 13:53 UTC (permalink / raw)
To: buildroot
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@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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-01-17 13:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-17 12:24 [Buildroot] [PATCH/RFC 1/1] package/pkg-utils.mk: fix per-package build Bernd Kuhls
2021-01-17 12:53 ` Yann E. MORIN
2021-01-17 13:53 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox