[oe] [meta-oe] [PATCH] mariadb: drop anonymous function

Paul Eggleton paul.eggleton at linux.intel.com
Tue Sep 16 14:30:43 UTC 2014


Hi Robert,

On Tuesday 16 September 2014 06:54:40 Robert Yang wrote:
> The anonymous function redefined bindir to bindir_noprefix (and others),
> which broke the sstate between build dirs. After checked the vars in
> CMakeCache.txt, we can drop it safely, and the builds are OK.
> 
> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> ---
>  meta-oe/recipes-support/mysql/mariadb_5.5.39.inc |   28
> +++++++--------------- 1 file changed, 8 insertions(+), 20 deletions(-)
> 
> diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc
> b/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc index 9cc2cc9..f5c0a1f
> 100644
> --- a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc
> +++ b/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc
> @@ -35,18 +35,6 @@ SYSTEMD_AUTO_ENABLE_mariadb-server = "disable"
> 
>  EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
> 
> -python __anonymous() {
> -    # This is a pain but it's the only way to pass these in since
> -    # MariaDB's cmake scripts insist on prepending the prefix to the
> -    # specified values for INSTALL_*
> -    localdata = d.createCopy()
> -    localdata.setVar('prefix', '')
> -    localdata.setVar('exec_prefix', '')
> -    d.setVar('bindir_noprefix', localdata.getVar('bindir',
> True).lstrip('/')) -    d.setVar('sbindir_noprefix',
> localdata.getVar('sbindir', True).lstrip('/')) -   
> d.setVar('datadir_noprefix', localdata.getVar('datadir', True).lstrip('/'))
> -    d.setVar('libdir_noprefix', localdata.getVar('libdir',
> True).lstrip('/')) -}
> 
>  PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam',
> '', d)}" PACKAGECONFIG_class-native = ""
> @@ -64,15 +52,15 @@ EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
>                   -DNROFF=FALSE \
>                   -DENABLE_DTRACE=FALSE \
>                   -DWITH_PIC=ON \
> -                 -DINSTALL_DOCDIR:PATH=${datadir_noprefix}/doc/${BPN} \
> -                 -DINSTALL_BINDIR:PATH=${bindir_noprefix} \
> -                 -DINSTALL_SBINDIR:PATH=${sbindir_noprefix} \
> -                 -DINSTALL_SCRIPTDIR:PATH=${bindir_noprefix} \
> -                 -DINSTALL_LIBDIR:PATH=${libdir_noprefix} \
> -                 -DINSTALL_PLUGINDIR:PATH=${libdir_noprefix}/plugin \
> +                 -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
> +                 -DINSTALL_BINDIR:PATH=${bindir} \
> +                 -DINSTALL_SBINDIR:PATH=${sbindir} \
> +                 -DINSTALL_SCRIPTDIR:PATH=${bindir} \
> +                 -DINSTALL_LIBDIR:PATH=${libdir} \
> +                 -DINSTALL_PLUGINDIR:PATH=${libdir}/plugin \
>                   -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
> -                 -DINSTALL_MYSQLSHAREDIR:PATH=${datadir_noprefix}/mysql \
> -                
> -DINSTALL_SUPPORTFILESDIR:PATH=${datadir_noprefix}/mysql-support-files \ + 
>                -DINSTALL_MYSQLSHAREDIR:PATH=${datadir}/mysql \
> +                
> -DINSTALL_SUPPORTFILESDIR:PATH=${datadir}/mysql-support-files \
> -DMYSQL_DATADIR:PATH=/var/mysql \
>                   -DCAT_EXECUTABLE=`which cat` \
>                   -DCMAKE_AR:FILEPATH=${AR}"

I'm pretty sure I tested this beforehand; the problem I found is that some of 
the scripts end up with the prefix twice in substituted paths because it is 
expected that the paths supplied at configuration time do not include the 
prefix, but our paths normally include them.

Did you do runtime tests with this change?

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-devel mailing list