Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo
@ 2024-01-03 19:11 Bernd Kuhls
  2024-01-03 19:11 ` [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities Bernd Kuhls
  2024-01-06 10:12 ` [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 6+ messages in thread
From: Bernd Kuhls @ 2024-01-03 19:11 UTC (permalink / raw)
  To: buildroot; +Cc: Luca Ceresoli

Upstream added optional support for execinfo

https://git.exim.org/exim.git/commitdiff/204a7a2c2e8601558905dc34c576a627045a9f21
https://git.exim.org/exim.git/commitdiff/48ea675fee2d5fee8d33c525e28727b69114cfce

in version 4.97 which was added to buildroot with commit
faec3ca30e358575f70a036879029f63f7da9b29

Fixes:
http://autobuild.buildroot.net/results/282/282882371e1d8c224c457bf65016f8abd11f8c45/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v2: add -DNO_EXECINFO only for non-glibc builds (Yann)

 package/exim/exim.mk | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/package/exim/exim.mk b/package/exim/exim.mk
index fb9eecd71b..25d171875d 100644
--- a/package/exim/exim.mk
+++ b/package/exim/exim.mk
@@ -104,6 +104,7 @@ define EXIM_CONFIGURE_TOOLCHAIN
 	$(call exim-config-add,HOSTCC,$(HOSTCC))
 	$(call exim-config-add,HOSTCFLAGS,$(HOSTCFLAGS))
 	$(EXIM_FIX_IP_OPTIONS_FOR_MUSL)
+	$(EXIM_EXTRALIBS)
 endef
 
 ifneq ($(call qstrip,$(BR2_PACKAGE_EXIM_CUSTOM_CONFIG_FILE)),)
@@ -126,6 +127,15 @@ ifeq ($(BR2_STATIC_LIBS),y)
 EXIM_STATIC_FLAGS = LFLAGS="-pthread --static"
 endif
 
+ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
+EXIM_DEPENDENCIES += libexecinfo
+define EXIM_EXTRALIBS
+$(call exim-config-add,EXTRALIBS,-lexecinfo)
+endef
+else ifneq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
+EXIM_C_FLAGS = -DNO_EXECINFO
+endif
+
 # We need the host version of macro_predef during the build, before
 # building it we need to prepare the makefile.
 define EXIM_BUILD_CMDS
@@ -136,7 +146,7 @@ define EXIM_BUILD_CMDS
 		CFLAGS="-std=c99 $(HOST_CFLAGS)" \
 		LFLAGS="-fPIC $(HOST_LDFLAGS)"
 	$(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \
-		CFLAGS="-std=c99 $(TARGET_CFLAGS)"
+		CFLAGS="-std=c99 $(TARGET_CFLAGS) $(EXIM_C_FLAGS)"
 endef
 
 # Need to replicate the LFLAGS in install, as exim still wants to build
-- 
2.39.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities
  2024-01-03 19:11 [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Bernd Kuhls
@ 2024-01-03 19:11 ` Bernd Kuhls
  2024-01-06 10:12   ` Thomas Petazzoni via buildroot
  2024-01-13 15:10   ` Peter Korsgaard
  2024-01-06 10:12 ` [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Thomas Petazzoni via buildroot
  1 sibling, 2 replies; 6+ messages in thread
From: Bernd Kuhls @ 2024-01-03 19:11 UTC (permalink / raw)
  To: buildroot; +Cc: Luca Ceresoli

Upstream added various utilities, for example exim_id_update
with commit https://github.com/Exim/exim/commit/46a36afae41f63de654269c8a0b7cf5852a85a14
which is a "Utility for one-time upgrage/downgrade between exim message-
id formats, around the 4.97 transition" which would add a dependency to
host-perl/perl so we build and install only the needed exim binary.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v2: removed comment before EXIM_INSTALL_TARGET_CMDS, reworded commit log
    text (Luca)

 package/exim/exim.mk | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/package/exim/exim.mk b/package/exim/exim.mk
index 25d171875d..fa4afbba01 100644
--- a/package/exim/exim.mk
+++ b/package/exim/exim.mk
@@ -146,16 +146,13 @@ define EXIM_BUILD_CMDS
 		CFLAGS="-std=c99 $(HOST_CFLAGS)" \
 		LFLAGS="-fPIC $(HOST_LDFLAGS)"
 	$(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \
-		CFLAGS="-std=c99 $(TARGET_CFLAGS) $(EXIM_C_FLAGS)"
+		CFLAGS="-std=c99 $(TARGET_CFLAGS) $(EXIM_C_FLAGS)" exim
 endef
 
-# Need to replicate the LFLAGS in install, as exim still wants to build
-# something when installing...
 define EXIM_INSTALL_TARGET_CMDS
-	DESTDIR=$(TARGET_DIR) INSTALL_ARG="-no_chown -no_symlink" build=br \
-	  $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \
-		CFLAGS="-std=c99 $(TARGET_CFLAGS)" \
-		install
+	cd $(@D)/build-br; \
+	DESTDIR=$(TARGET_DIR) build=br \
+	../scripts/exim_install -no_chown -no_symlink exim
 	chmod u+s $(TARGET_DIR)/usr/sbin/exim
 endef
 
-- 
2.39.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo
  2024-01-03 19:11 [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Bernd Kuhls
  2024-01-03 19:11 ` [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities Bernd Kuhls
@ 2024-01-06 10:12 ` Thomas Petazzoni via buildroot
  2024-01-13 15:11   ` Peter Korsgaard
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-01-06 10:12 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Luca Ceresoli, buildroot

Hello,

On Wed,  3 Jan 2024 20:11:50 +0100
Bernd Kuhls <bernd@kuhls.net> wrote:

> diff --git a/package/exim/exim.mk b/package/exim/exim.mk
> index fb9eecd71b..25d171875d 100644
> --- a/package/exim/exim.mk
> +++ b/package/exim/exim.mk
> @@ -104,6 +104,7 @@ define EXIM_CONFIGURE_TOOLCHAIN
>  	$(call exim-config-add,HOSTCC,$(HOSTCC))
>  	$(call exim-config-add,HOSTCFLAGS,$(HOSTCFLAGS))
>  	$(EXIM_FIX_IP_OPTIONS_FOR_MUSL)
> +	$(EXIM_EXTRALIBS)

I've changed this to:

+       $(call exim-config-add,EXTRALIBS,$(EXIM_EXTRALIBS))

> +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
> +EXIM_DEPENDENCIES += libexecinfo
> +define EXIM_EXTRALIBS
> +$(call exim-config-add,EXTRALIBS,-lexecinfo)
> +endef
> +else ifneq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
> +EXIM_C_FLAGS = -DNO_EXECINFO
> +endif

And changed this to:

+ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
+EXIM_DEPENDENCIES += libexecinfo
+EXIM_EXTRALIBS += -lexecinfo
+else ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
+EXIM_CFLAGS = -DNO_EXECINFO
+endif

so EXIM_EXTRALIBS becomes really the list of extra libraries, and the
exim-config-add call is inside EXIM_CONFIGURE_TOOLCHAIN. This means
that we can add more things to EXIM_EXTRALIBS for other reasons if
needed in the future.

Also, I've used EXIM_CFLAGS instead of EXIM_C_FLAGS, and used a
slightly different construct for the glibc condition.

Applied with those changes, thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities
  2024-01-03 19:11 ` [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities Bernd Kuhls
@ 2024-01-06 10:12   ` Thomas Petazzoni via buildroot
  2024-01-13 15:10   ` Peter Korsgaard
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-01-06 10:12 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Luca Ceresoli, buildroot

On Wed,  3 Jan 2024 20:11:51 +0100
Bernd Kuhls <bernd@kuhls.net> wrote:

> Upstream added various utilities, for example exim_id_update
> with commit https://github.com/Exim/exim/commit/46a36afae41f63de654269c8a0b7cf5852a85a14
> which is a "Utility for one-time upgrage/downgrade between exim message-
> id formats, around the 4.97 transition" which would add a dependency to
> host-perl/perl so we build and install only the needed exim binary.
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> ---
> v2: removed comment before EXIM_INSTALL_TARGET_CMDS, reworded commit log
>     text (Luca)

I've added a reference to an autobuilder failure fixed by this, and
applied. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities
  2024-01-03 19:11 ` [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities Bernd Kuhls
  2024-01-06 10:12   ` Thomas Petazzoni via buildroot
@ 2024-01-13 15:10   ` Peter Korsgaard
  1 sibling, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2024-01-13 15:10 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Luca Ceresoli, buildroot

>>>>> "Bernd" == Bernd Kuhls <bernd@kuhls.net> writes:

 > Upstream added various utilities, for example exim_id_update
 > with commit https://github.com/Exim/exim/commit/46a36afae41f63de654269c8a0b7cf5852a85a14
 > which is a "Utility for one-time upgrage/downgrade between exim message-
 > id formats, around the 4.97 transition" which would add a dependency to
 > host-perl/perl so we build and install only the needed exim binary.

 > Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
 > ---
 > v2: removed comment before EXIM_INSTALL_TARGET_CMDS, reworded commit log
 >     text (Luca)

Committed to 2023.02.x and 2023.11.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo
  2024-01-06 10:12 ` [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Thomas Petazzoni via buildroot
@ 2024-01-13 15:11   ` Peter Korsgaard
  0 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2024-01-13 15:11 UTC (permalink / raw)
  To: Thomas Petazzoni via buildroot
  Cc: Bernd Kuhls, Luca Ceresoli, Thomas Petazzoni

>>>>> "Thomas" == Thomas Petazzoni via buildroot <buildroot@buildroot.org> writes:

 > Hello,
 > On Wed,  3 Jan 2024 20:11:50 +0100
 > Bernd Kuhls <bernd@kuhls.net> wrote:

 >> diff --git a/package/exim/exim.mk b/package/exim/exim.mk
 >> index fb9eecd71b..25d171875d 100644
 >> --- a/package/exim/exim.mk
 >> +++ b/package/exim/exim.mk
 >> @@ -104,6 +104,7 @@ define EXIM_CONFIGURE_TOOLCHAIN
 >> $(call exim-config-add,HOSTCC,$(HOSTCC))
 >> $(call exim-config-add,HOSTCFLAGS,$(HOSTCFLAGS))
 >> $(EXIM_FIX_IP_OPTIONS_FOR_MUSL)
 >> +	$(EXIM_EXTRALIBS)

 > I've changed this to:

 > +       $(call exim-config-add,EXTRALIBS,$(EXIM_EXTRALIBS))

 >> +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
 >> +EXIM_DEPENDENCIES += libexecinfo
 >> +define EXIM_EXTRALIBS
 >> +$(call exim-config-add,EXTRALIBS,-lexecinfo)
 >> +endef
 >> +else ifneq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 >> +EXIM_C_FLAGS = -DNO_EXECINFO
 >> +endif

 > And changed this to:

 > +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
 > +EXIM_DEPENDENCIES += libexecinfo
 > +EXIM_EXTRALIBS += -lexecinfo
 > +else ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
 > +EXIM_CFLAGS = -DNO_EXECINFO
 > +endif

 > so EXIM_EXTRALIBS becomes really the list of extra libraries, and the
 > exim-config-add call is inside EXIM_CONFIGURE_TOOLCHAIN. This means
 > that we can add more things to EXIM_EXTRALIBS for other reasons if
 > needed in the future.

 > Also, I've used EXIM_CFLAGS instead of EXIM_C_FLAGS, and used a
 > slightly different construct for the glibc condition.

 > Applied with those changes, thanks a lot!

Committed to 2023.02.x and 2023.11.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-01-13 15:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 19:11 [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Bernd Kuhls
2024-01-03 19:11 ` [Buildroot] [PATCH v2 2/2] package/exim: do not build perl-based utilities Bernd Kuhls
2024-01-06 10:12   ` Thomas Petazzoni via buildroot
2024-01-13 15:10   ` Peter Korsgaard
2024-01-06 10:12 ` [Buildroot] [PATCH v2 1/2] package/exim: fix build with libexecinfo Thomas Petazzoni via buildroot
2024-01-13 15:11   ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox