* [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 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-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 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