[1/1] package/swupdate: fix static build without lua
diff mbox series

Message ID 20190304214720.13703-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series
  • [1/1] package/swupdate: fix static build without lua
Related show

Commit Message

Fabrice Fontaine March 4, 2019, 9:47 p.m. UTC
Fixes:
 - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 .../swupdate/0001-Makefile-fix-static-build.patch  | 62 ++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 package/swupdate/0001-Makefile-fix-static-build.patch

Comments

James Hilliard March 4, 2019, 10:58 p.m. UTC | #1
On Mon, Mar 4, 2019 at 2:51 PM Fabrice Fontaine
<fontaine.fabrice@gmail.com> wrote:
>
> Fixes:
>  - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  .../swupdate/0001-Makefile-fix-static-build.patch  | 62 ++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
>  create mode 100644 package/swupdate/0001-Makefile-fix-static-build.patch
>
> diff --git a/package/swupdate/0001-Makefile-fix-static-build.patch b/package/swupdate/0001-Makefile-fix-static-build.patch
> new file mode 100644
> index 0000000000..56901f9871
> --- /dev/null
> +++ b/package/swupdate/0001-Makefile-fix-static-build.patch
> @@ -0,0 +1,62 @@
> +From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +Date: Mon, 4 Mar 2019 21:51:36 +0100
> +Subject: [PATCH] Makefile: fix static build
> +
> +Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y
> +otherwise build will fail if the toolchain only suports building static
> +libraries
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[Upstream status: https://github.com/sbabic/swupdate/pull/49]
The swupdate project doesn't accept patches via github pull requests,
you should send this to the mailing list swupdate@googlegroups.com.
http://sbabic.github.io/swupdate/contributing.html
> +---
> + Makefile | 12 +++++++++---
> + 1 file changed, 9 insertions(+), 3 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index cfeb9a6..cac99b5 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -369,11 +369,15 @@ tools-bins       := $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c))
> + tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins))
> + tools-all     := $(tools-objs)
> +
> ++ifeq ($(HAVE_LUA),y)
> ++lua_swupdate  := lua_swupdate.so
> ++endif
> ++
> + shared-dirs   := $(shareds-y)
> + shared-libs   := $(patsubst %,%/built-in.o, $(shareds-y))
> + shared-all    := $(shared-libs)
> +
> +-all: swupdate ${tools-bins} lua_swupdate.so
> ++all: swupdate ${tools-bins} ${lua_swupdate}
> +
> + # Do modpost on a prelinked vmlinux. The finally linked vmlinux has
> + # relevant sections renamed as per the linker script.
> +@@ -434,7 +438,6 @@ install: all
> +       install -d ${DESTDIR}/usr/bin
> +       install -d ${DESTDIR}/usr/include
> +       install -d ${DESTDIR}/usr/lib
> +-      install -d ${DESTDIR}/usr/lib/lua/$(LUAVER)
> +       install -m 755 swupdate ${DESTDIR}/usr/bin
> +       for i in ${tools-bins};do \
> +               install -m 755 $$i ${DESTDIR}/usr/bin; \
> +@@ -443,7 +446,10 @@ install: all
> +       install -m 0644 include/swupdate_status.h ${DESTDIR}/usr/include
> +       install -m 0644 include/progress_ipc.h ${DESTDIR}/usr/include
> +       install -m 0755 ipc/lib.a ${DESTDIR}/usr/lib/libswupdate.a
> +-      install -m 0755 lua_swupdate.so $(DESTDIR)/usr/lib/lua/$(LUAVER)
> ++      if [ $(HAVE_LUA) = y ]; then \
> ++              install -d ${DESTDIR}/usr/lib/lua/$(LUAVER); \
> ++              install -m 0755 ${lua_swupdate} $(DESTDIR)/usr/lib/lua/$(LUAVER); \
> ++      fi
> +
> + PHONY += run-tests
> + tests: \
> +--
> +2.14.1
> +
> --
> 2.14.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thomas Petazzoni March 7, 2019, 9:43 p.m. UTC | #2
Hello Fabrice,

On Mon,  4 Mar 2019 22:47:20 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> diff --git a/package/swupdate/0001-Makefile-fix-static-build.patch b/package/swupdate/0001-Makefile-fix-static-build.patch
> new file mode 100644
> index 0000000000..56901f9871
> --- /dev/null
> +++ b/package/swupdate/0001-Makefile-fix-static-build.patch
> @@ -0,0 +1,62 @@
> +From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +Date: Mon, 4 Mar 2019 21:51:36 +0100
> +Subject: [PATCH] Makefile: fix static build
> +
> +Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y
> +otherwise build will fail if the toolchain only suports building static
> +libraries
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[Upstream status: https://github.com/sbabic/swupdate/pull/49]
> +---
> + Makefile | 12 +++++++++---
> + 1 file changed, 9 insertions(+), 3 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index cfeb9a6..cac99b5 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -369,11 +369,15 @@ tools-bins	:= $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c))
> + tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins))
> + tools-all	:= $(tools-objs)
> + 
> ++ifeq ($(HAVE_LUA),y)
> ++lua_swupdate	:= lua_swupdate.so
> ++endif

I am a bit confused. How could lua_swupdate.so build at all (even in
shared library configurations) when HAVE_LUA is not enabled ?

I see the patch has been applied upstream, so I guess it is correct,
but still that confuses me a bit. Or maybe lua_swupdate.so doesn't link
with Lua ? 

Thanks,

Thomas
Fabrice Fontaine March 8, 2019, 6:19 p.m. UTC | #3
Hello Thomas,
Le jeu. 7 mars 2019 à 22:43, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a écrit :
>
> Hello Fabrice,
>
> On Mon,  4 Mar 2019 22:47:20 +0100
> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>
> > diff --git a/package/swupdate/0001-Makefile-fix-static-build.patch b/package/swupdate/0001-Makefile-fix-static-build.patch
> > new file mode 100644
> > index 0000000000..56901f9871
> > --- /dev/null
> > +++ b/package/swupdate/0001-Makefile-fix-static-build.patch
> > @@ -0,0 +1,62 @@
> > +From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001
> > +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > +Date: Mon, 4 Mar 2019 21:51:36 +0100
> > +Subject: [PATCH] Makefile: fix static build
> > +
> > +Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y
> > +otherwise build will fail if the toolchain only suports building static
> > +libraries
> > +
> > +Fixes:
> > + - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb
> > +
> > +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > +[Upstream status: https://github.com/sbabic/swupdate/pull/49]
> > +---
> > + Makefile | 12 +++++++++---
> > + 1 file changed, 9 insertions(+), 3 deletions(-)
> > +
> > +diff --git a/Makefile b/Makefile
> > +index cfeb9a6..cac99b5 100644
> > +--- a/Makefile
> > ++++ b/Makefile
> > +@@ -369,11 +369,15 @@ tools-bins     := $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c))
> > + tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins))
> > + tools-all   := $(tools-objs)
> > +
> > ++ifeq ($(HAVE_LUA),y)
> > ++lua_swupdate        := lua_swupdate.so
> > ++endif
>
> I am a bit confused. How could lua_swupdate.so build at all (even in
> shared library configurations) when HAVE_LUA is not enabled ?
>
> I see the patch has been applied upstream, so I guess it is correct,
> but still that confuses me a bit. Or maybe lua_swupdate.so doesn't link
> with Lua ?
The issue (fixed by the patch) is that swudpate always tries to build
lua_swupdate.so even if there is no object files in this shared
library when CONFIG_LUA is not set.

Here is an extract of bindings/Makefile (see
https://github.com/sbabic/swupdate/commit/624904cc18003fae413011563dac83a333f10509):
obj-$(CONFIG_LUA) += auxiliar.o lua_swupdate.o

>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

Best Regards,

Fabrice
Arnout Vandecappelle March 26, 2019, 11:01 p.m. UTC | #4
On 08/03/2019 19:19, Fabrice Fontaine wrote:
> The issue (fixed by the patch) is that swudpate always tries to build
> lua_swupdate.so even if there is no object files in this shared
> library when CONFIG_LUA is not set.

 I've included this explanation in the commit message and applied to master, thanks.

 Regards,
 Arnout
Peter Korsgaard March 28, 2019, 9:53 a.m. UTC | #5
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 > On 08/03/2019 19:19, Fabrice Fontaine wrote:
 >> The issue (fixed by the patch) is that swudpate always tries to build
 >> lua_swupdate.so even if there is no object files in this shared
 >> library when CONFIG_LUA is not set.

 >  I've included this explanation in the commit message and applied to master, thanks.

Committed to 2018.11.x and 2019.02.x, thanks.

Patch
diff mbox series

diff --git a/package/swupdate/0001-Makefile-fix-static-build.patch b/package/swupdate/0001-Makefile-fix-static-build.patch
new file mode 100644
index 0000000000..56901f9871
--- /dev/null
+++ b/package/swupdate/0001-Makefile-fix-static-build.patch
@@ -0,0 +1,62 @@ 
+From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Mon, 4 Mar 2019 21:51:36 +0100
+Subject: [PATCH] Makefile: fix static build
+
+Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y
+otherwise build will fail if the toolchain only suports building static
+libraries
+
+Fixes:
+ - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/sbabic/swupdate/pull/49]
+---
+ Makefile | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cfeb9a6..cac99b5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -369,11 +369,15 @@ tools-bins	:= $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c))
+ tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins))
+ tools-all	:= $(tools-objs)
+ 
++ifeq ($(HAVE_LUA),y)
++lua_swupdate	:= lua_swupdate.so
++endif
++
+ shared-dirs	:= $(shareds-y)
+ shared-libs	:= $(patsubst %,%/built-in.o, $(shareds-y))
+ shared-all	:= $(shared-libs)
+ 
+-all: swupdate ${tools-bins} lua_swupdate.so
++all: swupdate ${tools-bins} ${lua_swupdate}
+ 
+ # Do modpost on a prelinked vmlinux. The finally linked vmlinux has
+ # relevant sections renamed as per the linker script.
+@@ -434,7 +438,6 @@ install: all
+ 	install -d ${DESTDIR}/usr/bin
+ 	install -d ${DESTDIR}/usr/include
+ 	install -d ${DESTDIR}/usr/lib
+-	install -d ${DESTDIR}/usr/lib/lua/$(LUAVER)
+ 	install -m 755 swupdate ${DESTDIR}/usr/bin
+ 	for i in ${tools-bins};do \
+ 		install -m 755 $$i ${DESTDIR}/usr/bin; \
+@@ -443,7 +446,10 @@ install: all
+ 	install -m 0644 include/swupdate_status.h ${DESTDIR}/usr/include
+ 	install -m 0644 include/progress_ipc.h ${DESTDIR}/usr/include
+ 	install -m 0755 ipc/lib.a ${DESTDIR}/usr/lib/libswupdate.a
+-	install -m 0755 lua_swupdate.so $(DESTDIR)/usr/lib/lua/$(LUAVER)
++	if [ $(HAVE_LUA) = y ]; then \
++		install -d ${DESTDIR}/usr/lib/lua/$(LUAVER); \
++		install -m 0755 ${lua_swupdate} $(DESTDIR)/usr/lib/lua/$(LUAVER); \
++	fi
+ 
+ PHONY += run-tests
+ tests: \
+-- 
+2.14.1
+