[oe] [PATCHv3 1/2] soci: Add recipe

Martin Jansa martin.jansa at gmail.com
Thu Mar 12 11:32:58 UTC 2015


On Sun, Mar 08, 2015 at 10:59:30AM +0000, Khem Raj wrote:
> Define PACKAGECONFIG to enable a given backend of choice
> by default its 'empty'
> 
> Change-Id: Ie1123af658ca94d2fe22a3ca1a32dfb47d58979e
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  .../recipes-support/soci/soci/soci_libdir.patch    | 28 +++++++++++++
>  meta-oe/recipes-support/soci/soci_3.2.2.bb         | 48 ++++++++++++++++++++++
>  2 files changed, 76 insertions(+)
>  create mode 100644 meta-oe/recipes-support/soci/soci/soci_libdir.patch
>  create mode 100644 meta-oe/recipes-support/soci/soci_3.2.2.bb

The patch fails to apply:
ERROR: Command Error: exit status: 1  Output:
Applying patch soci_libdir.patch
patching file CMakeLists.txt
Hunk #1 FAILED at 69.
1 out of 1 hunk FAILED -- rejects in file CMakeLists.txt
Patch soci_libdir.patch does not apply (enforce with -f)
ERROR: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5e-oe-linux-gnueabi/soci/3.2.2-r0/temp/log.do_patch.26404
NOTE: recipe soci-3.2.2-r0: task do_patch: Failed
ERROR: Task 21069 (/home/jenkins/oe/world/shr-core/meta-openembedded/meta-oe/recipes-support/soci/soci_3.2.2.bb, do_patch) failed with exit code '1'

Can you push it to contrib repo to exclude possible patchwork breakage of it?

> diff --git a/meta-oe/recipes-support/soci/soci/soci_libdir.patch b/meta-oe/recipes-support/soci/soci/soci_libdir.patch
> new file mode 100644
> index 0000000..8da57ce
> --- /dev/null
> +++ b/meta-oe/recipes-support/soci/soci/soci_libdir.patch
> @@ -0,0 +1,28 @@
> +Define SOCI_LIBDIR only if its not passed via environemnt. In OE we
> +want to set it per our choice since we use 'lib' for 64bit unless we
> +are using multilib
> +
> +-Khem
> +
> +Index: soci-3.2.2/CMakeLists.txt
> +===================================================================
> +--- soci-3.2.2.orig/CMakeLists.txt
> ++++ soci-3.2.2/CMakeLists.txt
> +@@ -69,11 +69,12 @@ include(SociDependencies)
> + ###############################################################################
> + # Installation
> + ###############################################################################
> +-
> +-if(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
> +-  set(SOCI_LIBDIR "lib")
> +-else()
> +-  set(SOCI_LIBDIR "lib")
> ++if(NOT DEFINED SOCI_LIBDIR)
> ++  if(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
> ++    set(SOCI_LIBDIR "lib")
> ++  else()
> ++    set(SOCI_LIBDIR "lib")
> ++  endif()
> + endif()
> + 
> + set(BINDIR "bin" CACHE PATH "The directory to install binaries into.")
> diff --git a/meta-oe/recipes-support/soci/soci_3.2.2.bb b/meta-oe/recipes-support/soci/soci_3.2.2.bb
> new file mode 100644
> index 0000000..887f5a2
> --- /dev/null
> +++ b/meta-oe/recipes-support/soci/soci_3.2.2.bb
> @@ -0,0 +1,48 @@
> +# Copyright (C) 2015 Khem Raj <raj.khem at gmail.com>
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +DESCRIPTION = "The C++ Database Access Library"
> +HOMEPAGE = "http://soci.sourceforge.net"
> +LICENSE = "BSL-1.0"
> +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> +SECTION = "libs"
> +DEPENDS = "boost"
> +
> +
> +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${P}/${P}.tar.gz \
> +           file://soci_libdir.patch \
> +          "
> +SRC_URI[md5sum] = "bc3c35f6cd3f80a1be19fe30b3c111bf"
> +SRC_URI[sha256sum] = "30ea2f4d26639ef5b5cdc24fb300b3896746243dbb77b743582de2ff443ccb1c"
> +
> +TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
> +              -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
> +              -DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=oe password=oe"'
> +
> +OBASEDIR ?= "/opt/oracle"
> +OINCDIR = "rdbms/public"
> +OLIBDIR = "lib"
> +
> +PACKAGECONFIG[sqlite3] = "-DSOCI_SQLITE3=ON,-DSOCI_SQLITE3=OFF,sqlite3,"
> +PACKAGECONFIG[mysql] = "-DSOCI_MYSQL=ON,-DSOCI_MYSQL=OFF,mariadb,"
> +PACKAGECONFIG[postgresql] = "-DSOCI_POSTGRESQL=ON,-DSOCI_POSTGRESQL=OFF,postgresql,"
> +PACKAGECONFIG[odbc] = "-DSOCI_ODBC=ON,-DSOCI_ODBC=OFF,,"
> +PACKAGECONFIG[empty] = "-DSOCI_EMPTY=ON,-DSOCI_EMPTY=OFF,,"
> +PACKAGECONFIG[oracle] = "-DWITH_ORACLE=ON --with-oracle-include=${OINCDIR} --with-oracle-lib=${OLIBDIR},-DWITH_ORACLE=OFF,,"
> +PACKAGECONFIG[ptest] = "${TESTCONFIG},,,"
> +
> +# enable your backend by default we enable 'empty'
> +PACKAGECONFIG ??= "empty"
> +
> +# Take the flags added by PACKAGECONFIG and pass them to cmake.
> +EXTRA_OECMAKE = "${EXTRA_OECONF} -DSOCI_LIBDIR=${libdir}"
> +
> +inherit cmake
> +
> +PACKAGES += "${PN}-sqlite3 ${PN}-mysql ${PN}-postgresql ${PN}-odbc ${PN}-oracle"
> +
> +FILES_${PN}-sqlite3 = "${libdir}/lib${BPN}_sqlite3.so.*"
> +FILES_${PN}-mysql = "${libdir}/lib${BPN}_mysql.so.*"
> +FILES_${PN}-postgresql = "${libdir}/lib${BPN}_postgresql.so.*"
> +FILES_${PN}-odbc = "${libdir}/lib${BPN}_odbc.so.*"
> +FILES_${PN}-oracle = "${libdir}/lib${BPN}_oracle.so.*"
> -- 
> 2.1.4
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20150312/27962ba7/attachment-0002.sig>


More information about the Openembedded-devel mailing list