diff options
author | Mark Johnston <markj@FreeBSD.org> | 2023-01-16 21:47:03 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2023-01-23 16:04:36 +0000 |
commit | e5c98e35692008f9633e768e2875d93b9dc93a25 (patch) | |
tree | 318221260584ac5f63ff706739184c6c4155439a /archivers/rpm4 | |
parent | 9451684e51c2a4e39b9987c6b67faf03cc28c7df (diff) | |
download | ports-e5c98e35692008f9633e768e2875d93b9dc93a25.tar.gz ports-e5c98e35692008f9633e768e2875d93b9dc93a25.zip |
archivers/rpm4: re-enable the build of the bundled elfdeps utility
Commit 5ff99a4c9df9 disabled libelf detection to work around the build
failure, but rpmbuild expects to be able to find the elfdeps utility and
misbehaves when it's not present. Since the build failure is easy to
address (different names for an ELF machine type constant for the rather
obsolescent DEC Alpha), let's just do that.
As a part of this, elfutils must be listed as a runtime dependency.
Note that we cannot list it in LIB_DEPENDS since the ports framework
ends up finding the base system libelf.so and decides that the
dependency is satisifed without installing elfutils. But the base
system libelf is missing a symbol (gelf_getvernaux) required by elfdeps.
Work around this by listing elfutils as both build and runtime
dependencies.
Approved by: rodrigo
Reviewed by: rodrigo
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D38092
Diffstat (limited to 'archivers/rpm4')
-rw-r--r-- | archivers/rpm4/Makefile | 12 | ||||
-rw-r--r-- | archivers/rpm4/files/patch-tools_elfdeps.c | 11 | ||||
-rw-r--r-- | archivers/rpm4/pkg-plist | 1 |
3 files changed, 19 insertions, 5 deletions
diff --git a/archivers/rpm4/Makefile b/archivers/rpm4/Makefile index 716ac758cda1..adbe2a427321 100644 --- a/archivers/rpm4/Makefile +++ b/archivers/rpm4/Makefile @@ -11,13 +11,16 @@ WWW= https://rpm.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= gsed:textproc/gsed +BUILD_DEPENDS= gsed:textproc/gsed \ + ${LOCALBASE}/lib/libelf.so:devel/elfutils LIB_DEPENDS= libpopt.so:devel/popt \ libnss3.so:security/nss \ libzstd.so:archivers/zstd \ - libgcrypt.so:security/libgcrypt + libgcrypt.so:security/libgcrypt \ + libelf.so:devel/elfutils RUN_DEPENDS= bash:shells/bash \ - gxargs:misc/findutils + gxargs:misc/findutils \ + ${LOCALBASE}/lib/libelf.so:devel/elfutils USES= alias bdb sqlite cpe gmake iconv libarchive libtool \ lua pathfix pkgconfig shebangfix tar:bzip2 @@ -35,8 +38,7 @@ CONFIGURE_ARGS= --enable-sqlite=yes\ --sysconfdir=${PREFIX}/etc \ --localstatedir=/var \ --without-javaglue \ - am_cv_python_version=${PYTHON_VER}${PYTHON_ABIVER} \ - ac_cv_lib_elf_gelf_getvernaux=no # otherwise fails to build in presence of devel/elfutils + am_cv_python_version=${PYTHON_VER}${PYTHON_ABIVER} CONFIGURE_ENV= LUA_CFLAGS=-I${LUA_INCDIR} \ LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER} -lm" INSTALL_TARGET= install-strip diff --git a/archivers/rpm4/files/patch-tools_elfdeps.c b/archivers/rpm4/files/patch-tools_elfdeps.c new file mode 100644 index 000000000000..6f71f12f4c9e --- /dev/null +++ b/archivers/rpm4/files/patch-tools_elfdeps.c @@ -0,0 +1,11 @@ +--- tools/elfdeps.c.orig 2023-01-16 16:44:45.666870000 -0500 ++++ tools/elfdeps.c 2023-01-16 16:44:57.548011000 -0500 +@@ -84,7 +84,7 @@ + if (ehdr->e_ident[EI_CLASS] == ELFCLASS64) { + switch (ehdr->e_machine) { + case EM_ALPHA: +- case EM_FAKE_ALPHA: ++ case EM_ALPHA_STD: + /* alpha doesn't traditionally have 64bit markers */ + break; + default: diff --git a/archivers/rpm4/pkg-plist b/archivers/rpm4/pkg-plist index 44b26c0610da..091cc43e8a86 100644 --- a/archivers/rpm4/pkg-plist +++ b/archivers/rpm4/pkg-plist @@ -79,6 +79,7 @@ lib/rpm/check-files lib/rpm/check-prereqs lib/rpm/check-rpaths lib/rpm/check-rpaths-worker +lib/rpm/elfdeps lib/rpm/fileattrs/debuginfo.attr lib/rpm/fileattrs/desktop.attr lib/rpm/fileattrs/elf.attr |