On Wed, 2015-01-28 at 18:26 +0100, Patrick Ohly wrote:
> On Wed, 2015-01-28 at 18:07 +0100, Patrick Ohly wrote:
> > Known issues are:
> >       * bashisms in recipes derived from .spec files. Developers are
> >         adding those back to .spec files faster than we can add fixes,
> >         so I suggest that we accept the bash dependency for now. If you
> >         are on a distro with /bin/sh -> dash instead of bash,
> >         replace /bin/sh with /bin/bash in
> >         meta-tizen/bitbake/lib/bb/build.py. I'm in favor of shipping a
> >         tizen-distro with such a change applied.
> >       * The refreshed tlm recipe does not build the ivi config package
> >         required by tizen-ivi images, breaking the image building. I'm
> >         working on it, but the latest rebuild is still running, while I
> >         am running out of time today.
> 
> As I was sending the email, the start-from-scratch build of
> tizen-ivi-Modello-image-dev completed.
> 
> There were three failures that I had not seen when doing incremental
> builds:
> 
> Summary: 3 tasks failed:
>   
> /data/yocto/tizen-distro/meta-tizen/meta-tizen-common-base/recipes-applications/libslp-location/libslp-location_git.bb,
>  do_install

We lost do_compile during the recent spec2yocto run. Patch attached
because I haven't had the time to refresh all repos.

>   
> /data/yocto/tizen-distro/meta-tizen/meta-tizen-ivi/recipes-graphics/genivi-shell/genivi-shell_git.bb,
>  do_compile

It fails to build because it does not find /usr/weston/ivi-shell.so from
weston-ivi.

The reason might be this change:

commit 4d5d49355dec23b3161718b0b85fbe00db3dc085
Author: Nobuhiko Tanibata <nobuhiko_tanib...@denso.co.jp>
Date:   Mon Feb 17 14:11:00 2014 +0900

    downstream: weston-ivi-shell: implementation to get_native handle
    
    Change-Id: I5bfac45e47c811d23e9ef7876cc55322703bf744
    Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanib...@denso.co.jp>

diff --git a/weston-ivi-shell/CMakeLists.txt b/weston-ivi-shell/CMakeLists.txt
index df91cb9..cd4425a 100644
--- a/weston-ivi-shell/CMakeLists.txt
+++ b/weston-ivi-shell/CMakeLists.txt
@@ -84,7 +84,7 @@ set(LIBS
 
 set(CMAKE_C_LDFLAGS "-module -avoid-version")
 
-target_link_libraries(${PROJECT_NAME} ${LIBS})
+target_link_libraries(${PROJECT_NAME} ${LIBS} 
${WESTON_LIBDIR}/weston/ivi-shell.so)
 
 install (
     TARGETS             ${PROJECT_NAME}

Whatever determines ${WESTON_LIBDIR} must also consider
cross-compilation where the actual file location is somewhere in a
sysroot and not in /usr/ of the build host.

No fix yet.

>   
> /data/yocto/tizen-distro/meta-tizen/meta-tizen-common-share/recipes-efl/lemolo/lemolo_git.bb,
>  do_compile

Lemolo is not supposed to use contacts-service anymore. But it has a
redundant configure check for it, which we need to remove. Patch
attached.

When testing the "tizen-next" from the tizen-distro, I noticed that one
new recipe hadn't been included. The existing opencv_2.4.bb no longer
compiles, something to do with libva. See the attached opencv patch.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.


From 88d5f50b562c54bb6a45e3446c3818a1406acd49 Mon Sep 17 00:00:00 2001
From: Patrick Ohly <patrick.o...@intel.com>
Date: Wed, 28 Jan 2015 13:56:34 -0800
Subject: [PATCH 1/3] libslp-location: restore do_compile

Somehow the latest spec2yocto run ended up removing the do_compile
content. Restore it by reverting that commit (1285e331).

Change-Id: I09e9d8293665c62178989aef99e6347ace62d3d7
---
 .../libslp-location/libslp-location.inc                   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/meta-tizen-common-base/recipes-applications/libslp-location/libslp-location.inc b/meta-tizen-common-base/recipes-applications/libslp-location/libslp-location.inc
index c2882be..cb2a13a 100644
--- a/meta-tizen-common-base/recipes-applications/libslp-location/libslp-location.inc
+++ b/meta-tizen-common-base/recipes-applications/libslp-location/libslp-location.inc
@@ -55,7 +55,22 @@ do_configure() {
 }
 
 do_compile() {
+ cd ${S}
+  LANG=C
+  export LANG
+  unset DISPLAY
+  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
+  
+  ./autogen.sh
+  
+  autotools_do_configure
+  oe_runmake -j16
+  
+  
+  
+  
 }
+EXTRA_OECONF += " --enable-dlog --enable-debug"
 
 do_install() {
  export RPM_BUILD_ROOT=${D}
-- 
1.8.4.5

From b95670c7fa4918376b43e4ed2c4a7a0a48ebaf8b Mon Sep 17 00:00:00 2001
From: Patrick Ohly <patrick.o...@intel.com>
Date: Wed, 28 Jan 2015 15:34:16 -0800
Subject: [PATCH 2/3] lemolo: disable redundant contacts-service check

It is not just that the Lemolo .spec file unnecessarily
specifies a build dependency on contacts-service, there is
also a redundant configure check which we need to remove.
The code itself then compiles fine without contacts-service.

Change-Id: I7a696b269e0e31128d6d762cff5dcf336cc105a7
---
 .../recipes-efl/lemolo/lemolo-extraconf.inc                  |  6 +++++-
 .../lemolo/lemolo/remove-contacts-service-check.patch        | 12 ++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 meta-tizen-common-share/recipes-efl/lemolo/lemolo/remove-contacts-service-check.patch

diff --git a/meta-tizen-common-share/recipes-efl/lemolo/lemolo-extraconf.inc b/meta-tizen-common-share/recipes-efl/lemolo/lemolo-extraconf.inc
index 9284603..2b189b0 100644
--- a/meta-tizen-common-share/recipes-efl/lemolo/lemolo-extraconf.inc
+++ b/meta-tizen-common-share/recipes-efl/lemolo/lemolo-extraconf.inc
@@ -1,4 +1,8 @@
+# Upstream source contains a redundant configure check for
+# contacts-service. The library is never really used.
+SRC_URI += "file://remove-contacts-service-check.patch"
+
 do_configure_prepend() {
     # Set the path to the binary edje_cc otherwise it will search it in the host rootfs
     sed -i 's!@edje_cc@!${STAGING_BINDIR_NATIVE}/edje_cc!g' Makefile.am
-}
\ No newline at end of file
+}
diff --git a/meta-tizen-common-share/recipes-efl/lemolo/lemolo/remove-contacts-service-check.patch b/meta-tizen-common-share/recipes-efl/lemolo/lemolo/remove-contacts-service-check.patch
new file mode 100644
index 0000000..1839484
--- /dev/null
+++ b/meta-tizen-common-share/recipes-efl/lemolo/lemolo/remove-contacts-service-check.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index 6a4f680..0309755 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -51,7 +51,6 @@ if test "$want_tizen" != "no"; then
+    PKG_CHECK_MODULES([TIZEN],
+                 [
+                         appcore-efl
+-                        contacts-service2
+                         vconf
+                         capi-system-power
+                         aul
-- 
1.8.4.5

From 91ec6701935e75b69cc7f867cdee633523d791b6 Mon Sep 17 00:00:00 2001
From: Patrick Ohly <patrick.o...@intel.com>
Date: Wed, 28 Jan 2015 15:44:33 -0800
Subject: [PATCH 3/3] opencv: bump version and disable ffmpeg to match Tizen

The meta-oe opencv_2.4.bb no longer compiles, something
related to ffmpeg support.

That is not enabled in Tizen anyway, so we could use that
recipe and just modify the PACKAGECONFIG in a .bbappend file.
But as Tizen is on a different, more recent version, better
copy the recipe and update it to use source and default
features as in Tizen.

Change-Id: I8bdd14b5e2d57399e7bd8b6fcc4525f0ad32fa81
---
 .../recipes-graphics/opencv/opencv_3.0.bb          | 103 +++++++++++++++++++++
 1 file changed, 103 insertions(+)
 create mode 100644 meta-tizen-ivi/recipes-graphics/opencv/opencv_3.0.bb

diff --git a/meta-tizen-ivi/recipes-graphics/opencv/opencv_3.0.bb b/meta-tizen-ivi/recipes-graphics/opencv/opencv_3.0.bb
new file mode 100644
index 0000000..2647e10
--- /dev/null
+++ b/meta-tizen-ivi/recipes-graphics/opencv/opencv_3.0.bb
@@ -0,0 +1,103 @@
+SUMMARY = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.willowgarage.com/wiki/";
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
+
+ARM_INSTRUCTION_SET = "arm"
+
+DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
+
+SRCREV = "ae4cb571ab4fdca3c7be57f0de19743f823daf3f"
+SRC_URI = "git://github.com/Itseez/opencv.git;branch=master \
+"
+
+PV = "3.0.0-beta+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+# Do an out-of-tree build
+OECMAKE_SOURCEPATH = "${S}"
+OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
+
+EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
+                 -DBUILD_PYTHON_SUPPORT=ON \
+                 -DWITH_GSTREAMER=OFF \
+                 -DCMAKE_SKIP_RPATH=ON \
+                 ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
+                 ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
+                 ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
+"
+
+# libav not enabled by default because ffmpeg_codecs.hpp fails to compile
+# (missing CODEC_ID_H264 define).
+# Tizen .spec file also enables qt, which we currently do not use when
+# building with Yocto.
+PACKAGECONFIG ??= "eigen jpeg png tiff v4l \
+                   ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
+PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
+PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
+PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+PACKAGECONFIG[jasper] = "-DBUILD_JASPER=ON,-DBUILD_JASPER=OFF,jasper"
+
+inherit distutils-base pkgconfig cmake
+
+export BUILD_SYS
+export HOST_SYS
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/python"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${PN}-apps python-opencv"
+
+python populate_packages_prepend () {
+    cv_libdir = d.expand('${libdir}')
+    cv_libdir_dbg = d.expand('${libdir}/.debug')
+    do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+    do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+    do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+    do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+    pn = d.getVar('PN', 1)
+    metapkg =  pn + '-dev'
+    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    blacklist = [ metapkg ]
+    metapkg_rdepends = [ ] 
+    packages = d.getVar('PACKAGES', 1).split()
+    for pkg in packages[1:]:
+        if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+            metapkg_rdepends.append(pkg)
+    d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+}
+
+PACKAGES_DYNAMIC += "^libopencv-.*"
+
+FILES_${PN} = ""
+FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
+FILES_${PN}-dbg += "${libdir}/.debug"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
+FILES_${PN}-doc = "${datadir}/OpenCV/doc"
+
+ALLOW_EMPTY_${PN} = "1"
+
+INSANE_SKIP_python-opencv = "True"
+SUMMARY_python-opencv = "Python bindings to opencv"
+FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-opencv = "python-core python-numpy"
+
+do_install_append() {
+    cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
+    sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
+
+    # Move Python files into correct library folder (for multilib build)
+    if [ "$libdir" != "/usr/lib" ]; then
+        mv ${D}/usr/lib/* ${D}/${libdir}/
+        rm -rf ${D}/usr/lib
+    fi
+}
-- 
1.8.4.5

_______________________________________________
Dev mailing list
Dev@lists.tizen.org
https://lists.tizen.org/listinfo/dev

Reply via email to