buildroot/package/rpm/0001-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch
Thomas Petazzoni 0018d7d6ba rpm: add patches to fix bfd.h related build issues
This commit adds two patches to the rpm package to fix two separate but
related build issues:

 - The first patch fixes a build that occurs when rpm is built after
   elfutils, but without binutils. In this case, dwarf.h is present, so
   rpm enables the build of a number of additional tools. But one of
   them uses bfd.h, provided by binutils, without checking for its
   existence. So the first patch fixes that by checking for bfd.h
   existence before enabling the tool.

   Fixes:

     http://autobuild.buildroot.net/results/810/810e24cab65f67d143da29c78c0f89d37a851cd7/build-end.log

 - The second patch fixes a build issue that occurs when rpm is built
   after both dwarf and binutils. In this case, bfd.h complains because
   config.h is not included. That's a weird and silly issue in bfd.h
   that the binutils developers don't want to fix, and you have to
   define PACKAGE or PACKAGE_VERSION before including bfd.h to use it
   outside of binutils.

   Fixes:

     http://autobuild.buildroot.net/results/362/362502f89631c9ba1d71906527674657ccff01ed/build-end.log

Thanks a lot to James Knight <james.knight@rockwellcollins.com> for the
initial investigation about the first issue.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-09 00:04:36 +01:00

56 lines
1.7 KiB
Diff

From edadcf67980764c104c25c7c1a0ba91257b89698 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Thu, 8 Dec 2016 23:33:30 +0100
Subject: [PATCH 1/2] Detect bfd.h to enable/disable sepdebugcrcfix building
tools/sepdebugcrcfix includes <bfd.h>, but this header from binutils
is not checked in the configure script. Due to this, sepdebugcrcfix is
attempted to be built even when <bfd.h> is not available. This commit
addresses that by adding the appropriate configure check.
This fixes the following build error:
tools/sepdebugcrcfix.c:31:17: fatal error: bfd.h: No such file or directory
compilation terminated.
make[3]: *** [tools/sepdebugcrcfix.o] Error 1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Makefile.am | 2 ++
configure.ac | 3 +++
2 files changed, 5 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 863138c..d8a68f0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -168,9 +168,11 @@ elfdeps_SOURCES = tools/elfdeps.c
elfdeps_LDADD = rpmio/librpmio.la
elfdeps_LDADD += @WITH_LIBELF_LIB@ @WITH_POPT_LIB@
+if HAS_BFD_H
rpmlibexec_PROGRAMS += sepdebugcrcfix
sepdebugcrcfix_SOURCES = tools/sepdebugcrcfix.c
sepdebugcrcfix_LDADD = @WITH_LIBELF_LIB@
+endif # HAS_BFD_H
endif
endif
diff --git a/configure.ac b/configure.ac
index c5ae701..b99ecb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,6 +242,9 @@ AC_CHECK_HEADERS([dwarf.h], [
])
AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes])
+AC_CHECK_HEADERS([bfd.h])
+AM_CONDITIONAL(HAS_BFD_H, [test "${ac_cv_header_bfd_h}" = "yes"])
+
#=================
# Check for beecrypt library if requested.
AC_ARG_WITH(beecrypt, [ --with-beecrypt build with beecrypt support ],,[with_beecrypt=no])
--
2.7.4