[oe] [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure

Martin Jansa martin.jansa at gmail.com
Thu Feb 27 11:40:37 UTC 2014


On Wed, Feb 26, 2014 at 11:14:31PM -0800, Tim Orling wrote:
> From: Tim Orling <TicoTimo at gmail.com>
> 
> * drop PR
> * default cmake_do_configure deletes build/ which wipes out build-native
> * workaround to stash build-native first
> * <ugly>hack</ugly>

I've just noticed libmusicbraniz failing like this:

NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r1: task do_configure: Started
ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213)
ERROR: Logfile of failure stored in: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure 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/armv5te-oe-linux-gnueabi/libmusicbrainz/5.0.1+gitAUTOINC+0749dd0a35-r1/temp/log.do_configure.2213)
NOTE: recipe libmusicbrainz-5.0.1+gitAUTOINC+0749dd0a35-r1: task do_configure: Failed

Is it fix for this problem? or have you seen this?


> 
> Signed-off-by: Tim Orling <TicoTimo at gmail.com>
> ---
>  .../musicbrainz/libmusicbrainz_git.bb              | 49 +++++++++++++++++++++-
>  1 file changed, 47 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..b4d1ad3 100644
> --- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
> +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
> @@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
>  DEPENDS = "expat neon"
>  
>  PV = "5.0.1+git${SRCPV}"
> -PR = "r1"

This would make the whole package version going backwards, so please
remove it only when incrementing PV/PE/SRCREV.

>  SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
>  SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
> @@ -30,9 +29,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 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: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20140227/2dbe3f2b/attachment-0002.sig>


More information about the Openembedded-devel mailing list