* [meta-oe] [PATCH] mariadb: drop anonymous function @ 2014-09-16 13:54 Robert Yang 2014-09-16 14:30 ` Paul Eggleton 0 siblings, 1 reply; 6+ messages in thread From: Robert Yang @ 2014-09-16 13:54 UTC (permalink / raw) To: openembedded-devel 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@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}" -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [meta-oe] [PATCH] mariadb: drop anonymous function 2014-09-16 13:54 [meta-oe] [PATCH] mariadb: drop anonymous function Robert Yang @ 2014-09-16 14:30 ` Paul Eggleton 2014-09-16 14:39 ` Robert Yang 0 siblings, 1 reply; 6+ messages in thread From: Paul Eggleton @ 2014-09-16 14:30 UTC (permalink / raw) To: Robert Yang; +Cc: openembedded-devel 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@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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe] [PATCH] mariadb: drop anonymous function 2014-09-16 14:30 ` Paul Eggleton @ 2014-09-16 14:39 ` Robert Yang 2014-09-19 2:02 ` Robert Yang 0 siblings, 1 reply; 6+ messages in thread From: Robert Yang @ 2014-09-16 14:39 UTC (permalink / raw) To: Paul Eggleton; +Cc: openembedded-devel 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@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. // Robert > > Cheers, > Paul > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe] [PATCH] mariadb: drop anonymous function 2014-09-16 14:39 ` Robert Yang @ 2014-09-19 2:02 ` Robert Yang 2014-09-19 8:48 ` Paul Eggleton 0 siblings, 1 reply; 6+ messages in thread From: Robert Yang @ 2014-09-19 2:02 UTC (permalink / raw) To: openembedded-devel, Paul Eggleton 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@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) // Robert > > // Robert > >> >> Cheers, >> Paul >> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe] [PATCH] mariadb: drop anonymous function 2014-09-19 2:02 ` Robert Yang @ 2014-09-19 8:48 ` Paul Eggleton 2014-09-20 2:44 ` Robert Yang 0 siblings, 1 reply; 6+ messages in thread From: Paul Eggleton @ 2014-09-19 8:48 UTC (permalink / raw) To: Robert Yang; +Cc: openembedded-devel 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@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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe] [PATCH] mariadb: drop anonymous function 2014-09-19 8:48 ` Paul Eggleton @ 2014-09-20 2:44 ` Robert Yang 0 siblings, 0 replies; 6+ messages in thread From: Robert Yang @ 2014-09-20 2:44 UTC (permalink / raw) To: Paul Eggleton; +Cc: openembedded-devel On 09/19/2014 04:48 PM, Paul Eggleton wrote: > 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@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. Sorry, I didn't say clearly, it breaks the sstate between different builds, for example "bitbake mariadb-native" in build1, then create another build2, but let them use the same SSTATE_DIR, and run "bitbake mariadb-native", we will see that mariadb-native is built again (but it should be installed from sstate). I think it is because bindir_noprefix can be replaced with FIXMESTAGINGDIR the by sstate.bcclass. All the recipes' sstate which depends on mariadb/-native can not be reused. // Robert > > Cheers, > Paul > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-09-20 2:44 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-09-16 13:54 [meta-oe] [PATCH] mariadb: drop anonymous function Robert Yang 2014-09-16 14:30 ` Paul Eggleton 2014-09-16 14:39 ` Robert Yang 2014-09-19 2:02 ` Robert Yang 2014-09-19 8:48 ` Paul Eggleton 2014-09-20 2:44 ` Robert Yang
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.