Re: [oe] [meta-multimedia][PATCH v2] libmusicbrainz: workaround for build-native/do_configure
Sounds like another reason to go with Mike Looijman's ${B}=${S} route for this package? On Tue, Mar 11, 2014 at 8:11 AM, Martin Jansa martin.ja...@gmail.comwrote: On Tue, Mar 11, 2014 at 03:26:39PM +0100, Martin Jansa wrote: On Thu, Feb 27, 2014 at 08:03:06AM -0800, Tim Orling wrote: From: Tim Orling ticot...@gmail.com Changes in v2: bump PR to r2 rather than drop (doh!) Signed-off-by: Tim Orling ticot...@gmail.com --- .../musicbrainz/libmusicbrainz_git.bb | 50 +- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/ libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/ libmusicbrainz_git.bb index f6a8f53..2928587 100644 --- a/meta-multimedia/recipes-multimedia/musicbrainz/ libmusicbrainz_git.bb +++ b/meta-multimedia/recipes-multimedia/musicbrainz/ libmusicbrainz_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 DEPENDS = expat neon PV = 5.0.1+git${SRCPV} -PR = r1 +PR = r2 SRCREV = 0749dd0a35b4a54316da064475863a4ac6e28e7e SRC_URI = git://github.com/metabrainz/libmusicbrainz.git \ @@ -30,9 +30,55 @@ do_configure_prepend() { -DCMAKE_C_COMPILER=${BUILD_CC} \ -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ - .. + ${S} make make-c-interface cd .. + +# the first thing cmake_do_configure does is delete ${B} +# stash it first +cp -r build-native .. +} + +# recreate default here, with work around for build-native +cmake_do_configure() { + if [ ${OECMAKE_BUILDPATH} -o ${OECMAKE_SOURCEPATH} ]; then + bbnote cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build. + fi + + if [ ${S} != ${B} ]; then + rm -rf ${B} + mkdir -p ${B} + cd ${B} + fi + + # bring build-native back into build/ + mv ../build-native . + + # Just like autotools cmake can use a site file to cache result that need generated binaries to run + if [ -e ${WORKDIR}/site-file.cmake ] ; then + OECMAKE_SITEFILE= -C ${WORKDIR}/site-file.cmake + else + OECMAKE_SITEFILE= + fi + + cmake \ + ${OECMAKE_SITEFILE} \ + ${S} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ + -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ + -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ + -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \ + -DCMAKE_INSTALL_SO_NO_EXE=0 \ + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ + -DCMAKE_VERBOSE_MAKEFILE=1 \ + ${EXTRA_OECMAKE} \ + -Wno-dev } There is still some issue with this patch applied: ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744) ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744 Log data follows: | DEBUG: Executing python function sysroot_cleansstate | DEBUG: Python function sysroot_cleansstate finished | DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux', 'common'] | DEBUG: Executing shell function autotools_preconfigure | DEBUG: Shell function autotools_preconfigure finished | DEBUG: Executing python function autotools_copy_aclocals | DEBUG: Python function autotools_copy_aclocals finished | DEBUG: Executing shell function do_configure | fatal: Not a git repository (or any parent up to mount parent /home/jenkins/oe/shr-core-branches/shr-core) | Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). | WARNING: exit code 128 from a shell command. | ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744) NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r2: task do_configure: Failed ERROR: Task 1242 (/home/jenkins/oe/shr-core-branches/shr-core/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/ libmusicbrainz_git.bb, do_configure)
Re: [oe] [meta-multimedia][PATCH v2] libmusicbrainz: workaround for build-native/do_configure
On Thu, Feb 27, 2014 at 08:03:06AM -0800, Tim Orling wrote: From: Tim Orling ticot...@gmail.com Changes in v2: bump PR to r2 rather than drop (doh!) Signed-off-by: Tim Orling ticot...@gmail.com --- .../musicbrainz/libmusicbrainz_git.bb | 50 +- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index f6a8f53..2928587 100644 --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 DEPENDS = expat neon PV = 5.0.1+git${SRCPV} -PR = r1 +PR = r2 SRCREV = 0749dd0a35b4a54316da064475863a4ac6e28e7e SRC_URI = git://github.com/metabrainz/libmusicbrainz.git \ @@ -30,9 +30,55 @@ do_configure_prepend() { -DCMAKE_C_COMPILER=${BUILD_CC} \ -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ - .. + ${S} make make-c-interface cd .. + +# the first thing cmake_do_configure does is delete ${B} +# stash it first +cp -r build-native .. +} + +# recreate default here, with work around for build-native +cmake_do_configure() { + if [ ${OECMAKE_BUILDPATH} -o ${OECMAKE_SOURCEPATH} ]; then + bbnote cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build. + fi + + if [ ${S} != ${B} ]; then + rm -rf ${B} + mkdir -p ${B} + cd ${B} + fi + + # bring build-native back into build/ + mv ../build-native . + + # Just like autotools cmake can use a site file to cache result that need generated binaries to run + if [ -e ${WORKDIR}/site-file.cmake ] ; then + OECMAKE_SITEFILE= -C ${WORKDIR}/site-file.cmake + else + OECMAKE_SITEFILE= + fi + + cmake \ + ${OECMAKE_SITEFILE} \ + ${S} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ + -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ + -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ + -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \ + -DCMAKE_INSTALL_SO_NO_EXE=0 \ + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ + -DCMAKE_VERBOSE_MAKEFILE=1 \ + ${EXTRA_OECMAKE} \ + -Wno-dev } There is still some issue with this patch applied: ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744) ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744 Log data follows: | DEBUG: Executing python function sysroot_cleansstate | DEBUG: Python function sysroot_cleansstate finished | DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux', 'common'] | DEBUG: Executing shell function autotools_preconfigure | DEBUG: Shell function autotools_preconfigure finished | DEBUG: Executing python function autotools_copy_aclocals | DEBUG: Python function autotools_copy_aclocals finished | DEBUG: Executing shell function do_configure | fatal: Not a git repository (or any parent up to mount parent /home/jenkins/oe/shr-core-branches/shr-core) | Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). | WARNING: exit code 128 from a shell command. | ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744) NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r2: task do_configure: Failed ERROR: Task 1242 (/home/jenkins/oe/shr-core-branches/shr-core/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb, do_configure) failed with exit code '1' (link to full log in last State of bitbake world, Failed tasks 2014-03-11 e-mail) -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature -- ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org
Re: [oe] [meta-multimedia][PATCH v2] libmusicbrainz: workaround for build-native/do_configure
On Tue, Mar 11, 2014 at 03:26:39PM +0100, Martin Jansa wrote: On Thu, Feb 27, 2014 at 08:03:06AM -0800, Tim Orling wrote: From: Tim Orling ticot...@gmail.com Changes in v2: bump PR to r2 rather than drop (doh!) Signed-off-by: Tim Orling ticot...@gmail.com --- .../musicbrainz/libmusicbrainz_git.bb | 50 +- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index f6a8f53..2928587 100644 --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 DEPENDS = expat neon PV = 5.0.1+git${SRCPV} -PR = r1 +PR = r2 SRCREV = 0749dd0a35b4a54316da064475863a4ac6e28e7e SRC_URI = git://github.com/metabrainz/libmusicbrainz.git \ @@ -30,9 +30,55 @@ do_configure_prepend() { -DCMAKE_C_COMPILER=${BUILD_CC} \ -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ - .. + ${S} make make-c-interface cd .. + +# the first thing cmake_do_configure does is delete ${B} +# stash it first +cp -r build-native .. +} + +# recreate default here, with work around for build-native +cmake_do_configure() { + if [ ${OECMAKE_BUILDPATH} -o ${OECMAKE_SOURCEPATH} ]; then + bbnote cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build. + fi + + if [ ${S} != ${B} ]; then + rm -rf ${B} + mkdir -p ${B} + cd ${B} + fi + + # bring build-native back into build/ + mv ../build-native . + + # Just like autotools cmake can use a site file to cache result that need generated binaries to run + if [ -e ${WORKDIR}/site-file.cmake ] ; then + OECMAKE_SITEFILE= -C ${WORKDIR}/site-file.cmake + else + OECMAKE_SITEFILE= + fi + + cmake \ + ${OECMAKE_SITEFILE} \ + ${S} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ + -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ + -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ + -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \ + -DCMAKE_INSTALL_SO_NO_EXE=0 \ + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ + -DCMAKE_VERBOSE_MAKEFILE=1 \ + ${EXTRA_OECMAKE} \ + -Wno-dev } There is still some issue with this patch applied: ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744) ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744 Log data follows: | DEBUG: Executing python function sysroot_cleansstate | DEBUG: Python function sysroot_cleansstate finished | DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux', 'common'] | DEBUG: Executing shell function autotools_preconfigure | DEBUG: Shell function autotools_preconfigure finished | DEBUG: Executing python function autotools_copy_aclocals | DEBUG: Python function autotools_copy_aclocals finished | DEBUG: Executing shell function do_configure | fatal: Not a git repository (or any parent up to mount parent /home/jenkins/oe/shr-core-branches/shr-core) | Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). | WARNING: exit code 128 from a shell command. | ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r2/temp/log.do_configure.20744) NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r2: task do_configure: Failed ERROR: Task 1242 (/home/jenkins/oe/shr-core-branches/shr-core/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb, do_configure) failed with exit code '1' (link to full log in last State of bitbake world, Failed tasks 2014-03-11 e-mail) Ah, it seems like I've reported this before :) Yes it's caused by: do_configure() { # The native build really doesn't like
[oe] [meta-multimedia][PATCH v2] libmusicbrainz: workaround for build-native/do_configure
From: Tim Orling ticot...@gmail.com Changes in v2: bump PR to r2 rather than drop (doh!) Signed-off-by: Tim Orling ticot...@gmail.com --- .../musicbrainz/libmusicbrainz_git.bb | 50 +- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index f6a8f53..2928587 100644 --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 DEPENDS = expat neon PV = 5.0.1+git${SRCPV} -PR = r1 +PR = r2 SRCREV = 0749dd0a35b4a54316da064475863a4ac6e28e7e SRC_URI = git://github.com/metabrainz/libmusicbrainz.git \ @@ -30,9 +30,55 @@ do_configure_prepend() { -DCMAKE_C_COMPILER=${BUILD_CC} \ -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ - .. + ${S} make make-c-interface cd .. + +# the first thing cmake_do_configure does is delete ${B} +# stash it first +cp -r build-native .. +} + +# recreate default here, with work around for build-native +cmake_do_configure() { + if [ ${OECMAKE_BUILDPATH} -o ${OECMAKE_SOURCEPATH} ]; then + bbnote cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build. + fi + + if [ ${S} != ${B} ]; then + rm -rf ${B} + mkdir -p ${B} + cd ${B} + fi + + # bring build-native back into build/ + mv ../build-native . + + # Just like autotools cmake can use a site file to cache result that need generated binaries to run + if [ -e ${WORKDIR}/site-file.cmake ] ; then + OECMAKE_SITEFILE= -C ${WORKDIR}/site-file.cmake + else + OECMAKE_SITEFILE= + fi + + cmake \ + ${OECMAKE_SITEFILE} \ + ${S} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ + -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \ + -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ + -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \ + -DCMAKE_INSTALL_SO_NO_EXE=0 \ + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ + -DCMAKE_VERBOSE_MAKEFILE=1 \ + ${EXTRA_OECMAKE} \ + -Wno-dev } EXTRA_OECMAKE = -DLIB_INSTALL_DIR:PATH=${libdir} \ -- 1.8.3.2 ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel