[oe] [meta-oe] [PATCH] mariadb: drop anonymous function
Paul Eggleton
paul.eggleton at linux.intel.com
Fri Sep 19 08:48:16 UTC 2014
On Friday 19 September 2014 10:02:29 Robert Yang wrote:
> On 09/16/2014 10:39 PM, Robert Yang wrote:
> > On 09/16/2014 10:30 PM, Paul Eggleton wrote:
> >> 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?
> >
> > Thanks, not yet, I will do and reply later.
>
> Hi Paul,
>
> You are right, there are problems when runtime testing. I will try to fix
> it in another way, we need fix it is because it breaks the sstate which
> depends on mariadb. (and several ones)
When you say it breaks sstate is that because the system is unable to see the
dependencies between e.g. bindir_noprefix and bindir? If that's the issue then
perhaps the answer is just to explicitly add those dependencies.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the Openembedded-devel
mailing list