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