konkretcmpi: add new recipe for openlmi

Konkretcmpi is dependence of openlmi.

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
leimaohui
2015-08-25 13:19:52 +08:00
committed by Martin Jansa
parent d21a985c48
commit b7003eb198
5 changed files with 167 additions and 0 deletions
@@ -0,0 +1,28 @@
SUMMARY = "Tool for rapid CMPI providers development"
DESCRIPTION = "\
KonkretCMPI makes CMPI provider development easier by generating type-safe \
concrete CIM interfaces from MOF definitions and by providing default \
implementations for many of the provider operations."
HOMEPAGE = "https://github.com/rnovacek/konkretcmpi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873"
DEPENDS = "cmake-native cmpi-bindings-native"
SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
file://konkretcmpi-0.9.2-fix-returning-instance-from-method.patch \
file://0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch "
SRCREV = "460e6421c16a8216d29ccd1b7490f814dab8b769"
S = "${WORKDIR}/git"
inherit native cmake
LDFLAGS_append = "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
EXTRA_OECMAKE = "-DWITH_PYTHON=ON \
${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
"
do_install_append() {
rm -rf ${D}${datadir}
}
@@ -0,0 +1,31 @@
From d97ac2bf2ed9c84ffd65ff10989068b202e09fdf Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Mon, 3 Aug 2015 00:29:54 +0900
Subject: [PATCH] CMakeLists.txt: fix lib64 can not be shiped in 64bit target
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
CMakeLists.txt | 7 -------
1 file changed, 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index be544d1..14696e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,13 +11,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_P
find_package(CMPI)
-# Set LIB_SUFFIX to 64 on 64bit architectures
-if(CMAKE_SIZEOF_VOID_P EQUAL 4)
- set(LIB_SUFFIX "")
-else(CMAKE_SIZEOF_VOID_P EQUAL 4)
- set(LIB_SUFFIX 64)
-endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
-
option(WITH_PYTHON "Build experimental Python bindings" OFF)
add_subdirectory(cmake)
--
1.8.4.2
@@ -0,0 +1,36 @@
From f3c39fd2a4b5f53338b5f821788c63858bf860cf Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Sun, 2 Aug 2015 22:08:43 +0900
Subject: [PATCH] to fix lib64 can not be shiped in 64bit target
To fix the warning as following:
WARNING: QA Issue: konkretcmpi: Files/directories were installed but not shipped in any package:
/usr/lib64
/usr/lib64/libkonkret.so
/usr/lib64/libkonkret.so.0.0.1
/usr/lib64/libkonkret.so.0
/usr/lib64/libkonkretmof.so.0.0.1
/usr/lib64/libkonkretmof.so
...
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
cmake/modules/FindKonkretCMPI.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/modules/FindKonkretCMPI.cmake b/cmake/modules/FindKonkretCMPI.cmake
index b888cfd..097caed 100644
--- a/cmake/modules/FindKonkretCMPI.cmake
+++ b/cmake/modules/FindKonkretCMPI.cmake
@@ -9,7 +9,7 @@ find_path(KONKRETCMPI_INCLUDE_DIR
find_library(KONKRETCMPI_LIBRARY
NAMES konkret
HINTS $ENV{KONKRETCMPI_LIB_DIR}
- PATH_SUFFIXES lib64 lib
+ PATH_SUFFIXES lib lib64
PATHS /usr /usr/local
)
--
1.8.4.2
@@ -0,0 +1,38 @@
Port from Fedora20
| commit aca6c7f910ffe9930b5789969f0adfadd668bb46
| Author: Michal Minar <miminar@redhat.com>
| Date: Fri Jun 20 10:50:45 2014 +0200
|
| Fix returning instance as an output argument from method
|
| Submitted By: Radek Novacek <rnovacek@redhat.com>
Upstream-Status: Pending
Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
diff --git a/src/program/main.cpp b/src/program/main.cpp
index 885dc12..9e7108a 100644
--- a/src/program/main.cpp
+++ b/src/program/main.cpp
@@ -506,7 +506,11 @@ static void gen_feature_decls(
// Add sig entry [type][length][name][zero-terminator]
- KTag tag = _ktag(pd->data_type, pd->array_index, key, false, false);
+ KTag tag;
+ if (pd->qualifiers->has_key("EmbeddedInstance"))
+ tag = _ktag(TOK_INSTANCE, pd->array_index, key, false, false);
+ else
+ tag = _ktag(pd->data_type, pd->array_index, key, false, false);
pack_tag(sig, tag);
pack_name(sig, pd->name);
count++;
@@ -640,6 +644,7 @@ static void gen_param(FILE* os, MOF_Parameter* p, vector<unsigned char>& sig)
const char* ktn = _ktype_name(p->data_type);
if (p->qualifiers->has_key("EmbeddedInstance")) {
+ tag = _ktag(TOK_INSTANCE, p->array_index, false, in, out);
if (p->array_index)
put(os, " KInstanceA $0;\n", p->name, NULL);
else
@@ -0,0 +1,34 @@
SUMMARY = "Tool for rapid CMPI providers development"
DESCRIPTION = "\
KonkretCMPI makes CMPI provider development easier by generating type-safe \
concrete CIM interfaces from MOF definitions and by providing default \
implementations for many of the provider operations."
HOMEPAGE = "https://github.com/rnovacek/konkretcmpi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873"
DEPENDS = "swig sblim-cmpi-devel python cmake-native"
SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
file://konkretcmpi-0.9.2-fix-returning-instance-from-method.patch \
file://0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch \
"
SRCREV = "460e6421c16a8216d29ccd1b7490f814dab8b769"
S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE = "-DWITH_PYTHON=ON \
${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
"
do_install_append() {
rm -rf ${D}${datadir}
}
PACKAGES =+ "${PN}-python ${PN}-python-dbg"
FILES_${PN}-python = "${libdir}/python2.7/site-packages/konkretmof.py* ${libdir}/python2.7/site-packages/_konkretmof.so"
FILES_${PN}-python-dbg = "${libdir}/python2.7/site-packages/.debug/*"