diff options
-rw-r--r-- | meta/conf/distro/include/poky-default-revisions.inc | 2 | ||||
-rw-r--r-- | meta/conf/local.conf.sample | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch | 18 | ||||
-rw-r--r-- | meta/recipes-devtools/pseudo/pseudo_git.bb | 38 |
4 files changed, 52 insertions, 15 deletions
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" |