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 db72140a0e..f7ee1c04d0 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 f9953d1cee..8ac31d8f77 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 0a2fa28d79..6faa7a2a44 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 4e94df7e8c..244fabe1eb 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" | 
