diff options
author | Jens Rehsack <sno@netbsd.org> | 2018-11-18 19:36:46 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-11-20 10:11:24 +0000 |
commit | 042af406583acc091ef82c3d1dcedd41315046de (patch) | |
tree | 5a62053b50fea6c59f2a3580bc208dd6dede33ca | |
parent | d533ad9b93383a8d721b72b4030b112a3799d559 (diff) | |
download | openembedded-core-contrib-042af406583acc091ef82c3d1dcedd41315046de.tar.gz |
pseudo: fix link of sqlite3 using pkg-config
If sqlite3 is built with FTS5 it uses log() from libm, it sqlite3 is built
with READLINE it uses tgetent from a curses lib and readline from libreadline,
if it is built using deflate from libz ... , but all that linkage is lost
if we manually statically link so explicitely extract extra static linking
options from pkg-config and force them into pseudo as well.
This commit obsoletes (so include the implicit revert)
e39fec613d pseudo: fix link with new sqlite3
Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/pseudo/files/libm.patch | 33 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo.inc | 19 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_git.bb | 1 |
3 files changed, 16 insertions, 37 deletions
diff --git a/meta/recipes-devtools/pseudo/files/libm.patch b/meta/recipes-devtools/pseudo/files/libm.patch deleted file mode 100644 index 1a82979313d..00000000000 --- a/meta/recipes-devtools/pseudo/files/libm.patch +++ /dev/null @@ -1,33 +0,0 @@ -If sqlite3 is built with FTS5 enabled then it links to libm.so for log(), but if -we statically link to libsqlite3.a then this linkage is lost. - -Work around this by always linking to libm.so. - -Upstream-Status: Submitted -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 4633a8750f0966621d258548fba82bc6aa5aa997 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Tue, 6 Nov 2018 12:13:17 +0000 -Subject: [PATCH] Makefile: sqlite can need libm - ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index ad6541b..28b5ecb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -73,7 +73,7 @@ WRAPOBJS=pseudo_wrappers.o - - # needed for anything that links with pseduo_client.o, pretty much - CLIENT_LDFLAGS=-ldl -lpthread --DB_LDFLAGS=@SQLITE_LDARG@ -lpthread -+DB_LDFLAGS=@SQLITE_LDARG@ -lpthread -lm - - PSEUDO=$(BIN)/pseudo - PSEUDODB=$(BIN)/pseudodb --- -2.11.0 - diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index cdc2a5823f6..8b05735bb1c 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -17,7 +17,7 @@ PROVIDES += "virtual/fakeroot" MAKEOPTS = "" -inherit siteinfo +inherit siteinfo pkgconfig do_configure () { : @@ -30,10 +30,23 @@ PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback --enable-ep # Compile for the local machine arch... do_compile () { + SQLITE_LDADD='$(SQLITE)/$(SQLITE_LIB)/libsqlite3.a' + for sqlite_link_opt in $(pkg-config sqlite3 --libs --static) + do + case "$sqlite_link_opt" in + -lsqlite3) + ;; + -l*) + SQLITE_LDADD="${SQLITE_LDADD} ${sqlite_link_opt}" + ;; + *) + ;; + esac + done if [ "${SITEINFO_BITS}" = "64" ]; then - ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath + ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath else - ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath + ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath fi oe_runmake ${MAKEOPTS} } diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb index c9a4ecd2e23..79e0b6bd21a 100644 --- a/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -2,7 +2,6 @@ require pseudo.inc SRC_URI = "git://git.yoctoproject.org/pseudo \ file://0001-configure-Prune-PIE-flags.patch \ - file://libm.patch \ file://fallback-passwd \ file://fallback-group \ file://moreretries.patch \ |