From 5ade6c7de84893b4f94f7c068d775beeaecb9f5f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 3 Feb 2011 18:54:58 -0600 Subject: pseudo: Uprev pseudo and fix a few minor bugs Uprev pseudo to the latest version. This corrects a linking problem on some newer host systems. In addition, we add more detail to the local.conf.sample file to explain the NO32LIBS and why someone would set it to 0. Also fix a minor bug in pseudo that prevented it from building for the target. Signed-off-by: Mark Hatle --- .../conf/distro/include/poky-default-revisions.inc | 2 +- meta/conf/local.conf.sample | 9 +++++ .../pseudo/pseudo/static_sqlite.patch | 18 +++++----- meta/recipes-devtools/pseudo/pseudo_git.bb | 38 +++++++++++++++++++--- 4 files changed, 52 insertions(+), 15 deletions(-) (limited to 'meta') diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc index db72140a0..f7ee1c04d 100644 --- a/meta/conf/distro/include/poky-default-revisions.inc +++ b/meta/conf/distro/include/poky-default-revisions.inc @@ -152,7 +152,7 @@ PRELINKSRCREV ??= "909470ee441237563d6236c505cb2d02ddc48704" SRCREV_pn-prelink ??= "${PRELINKSRCREV}" SRCREV_pn-prelink-native ??= "${PRELINKSRCREV}" SRCREV_pn-psplash ??= "424" -PSEUDOSRCREV ??= "bcb42d80c0817da5479ab9c4f2cd8c4727e98ef8" +PSEUDOSRCREV ??= "5434325fc887817ebb2bad36313d8277992cef1d" SRCREV_pn-pseudo ??= "${PSEUDOSRCREV}" SRCREV_pn-pseudo-native ??= "${PSEUDOSRCREV}" SRCREV_pn-pseudo-nativesdk ??= "${PSEUDOSRCREV}" diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample index f9953d1ce..8ac31d8f7 100644 --- a/meta/conf/local.conf.sample +++ b/meta/conf/local.conf.sample @@ -170,6 +170,15 @@ ENABLE_BINARY_LOCALE_GENERATION = "1" #IMAGE_LINGUAS ?= "en-gb" #LIMIT_BUILT_LOCALES ?= "POSIX en_GB" +# This value is currently used by PSEUDO to determine if the recipe should +# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system. +# +# PSEUDO will attempt to determine if a 32-bit wrapper is necessary, but +# it doesn't always guess properly. If you have 32-bit executables on +# your 64-bit build system, you likely want to set this to "0", +# otherwise you could end up with incorrect file attributes on the +# target filesystem. +# # Default to not build 32 bit libs on 64 bit systems, comment this # out if that is desired NO32LIBS = "1" diff --git a/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch b/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch index 0a2fa28d7..6faa7a2a4 100644 --- a/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch +++ b/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch @@ -2,14 +2,14 @@ Due to disabling the LD_LIBRARY_PATH handling, we need to use a static libsqlite. diff -ur git.orig/Makefile.in git/Makefile.in ---- git.orig/Makefile.in 2010-07-20 17:13:56.000000000 -0700 -+++ git/Makefile.in 2010-07-20 17:12:14.000000000 -0700 -@@ -45,7 +45,7 @@ - GLOB_PATTERN=guts/*.c - GUTS=$(filter-out "$(GLOB_PATTERN)",$(wildcard $(GLOB_PATTERN))) +--- git.orig/Makefile.in ++++ git/Makefile.in +@@ -55,7 +55,7 @@ --DBLDFLAGS=-lsqlite3 -+DBLDFLAGS=$(SQLITE)/lib/libsqlite3.a - USE_64=wrapfuncs64.in + # needed for anything that links with pseduo_client.o, pretty much + CLIENT_LDFLAGS=-ldl -lpthread +-DB_LDFLAGS=-lsqlite3 -lpthread ++DB_LDFLAGS=$(SQLITE)/lib/libsqlite3.a -lpthread - SHOBJS=pseudo_table.o pseudo_util.o + PSEUDO=$(BIN)/pseudo + PSEUDODB=$(BIN)/pseudodb diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb index 4e94df7e8..244fabe1e 100644 --- a/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -6,7 +6,7 @@ LICENSE = "LGPL2.1" DEPENDS = "sqlite3" PV = "0.0+git${SRCPV}" -PR = "r17" +PR = "r18" SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \ file://static_sqlite.patch \ @@ -25,7 +25,26 @@ do_configure () { NO32LIBS ??= "0" +# Compile for the local machine arch... do_compile () { + ${S}/configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} + oe_runmake 'LIB=lib/pseudo/lib$(MARK64)' +} + +# Two below are the same +# If necessary compile for the alternative machine arch. This is only +# necessary in a native build. +do_compile_prepend_virtclass-native () { + if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then + # We need the 32-bit libpseudo on a 64-bit machine... + ./configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 + oe_runmake 'CFLAGS=-m32' 'LIB=lib/pseudo/lib' libpseudo + # prevent it from removing the lib, but remove everything else + make 'LIB=foo' distclean + fi +} + +do_compile_prepend_virtclass-nativesdk () { if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then # We need the 32-bit libpseudo on a 64-bit machine... ./configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 @@ -33,18 +52,27 @@ do_compile () { # prevent it from removing the lib, but remove everything else make 'LIB=foo' distclean fi - ${S}/configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} - oe_runmake 'LIB=lib/pseudo/lib$(MARK64)' } do_install () { oe_runmake 'DESTDIR=${D}' 'LIB=lib/pseudo/lib$(MARK64)' install +} + +# Two below are the same +# If necessary install for the alternative machine arch. This is only +# necessary in a native build. +do_install_append_virtclass-native () { if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then mkdir -p ${D}${prefix}/lib/pseudo/lib cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. fi } -BBCLASSEXTEND = "native nativesdk" - +do_install_append_virtclass-nativesdk () { + if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then + mkdir -p ${D}${prefix}/lib/pseudo/lib + cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. + fi +} +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3