Message ID | 20220603064121.7395-1-pavel@zhukoff.net |
---|---|
State | Accepted, archived |
Commit | de6c3f9cb2c589aecbf8d9d25fa83cd18bf80891 |
Headers | show |
Series | bitbake.conf: Make TCLIBC and TCMODE lazy assigned | expand |
You can always override it from local.conf with an override, right? That always worked for me and I don't see why this change is needed. On Fri, Jun 3, 2022 at 8:42 AM Pavel Zhukov <pavel@zhukoff.net> wrote: > This allows two level of overriding (distro level and local.conf/shell > variable). Previous settings blocked shell variables overring > if it was overriden on distro level. > > Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> > --- > meta/conf/bitbake.conf | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 0e939aca4f..2a3cf6f8aa 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -386,8 +386,8 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if > oe.types.boolean(d.getVar > # General work and output directories for the build system. > ################################################################## > > -TCMODE ?= "default" > -TCLIBC ?= "glibc" > +TCMODE ??= "default" > +TCLIBC ??= "glibc" > TMPDIR ?= "${TOPDIR}/tmp" > > CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + > str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + > str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}" > -- > 2.35.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#166509): > https://lists.openembedded.org/g/openembedded-core/message/166509 > Mute This Topic: https://lists.openembedded.org/mt/91516557/3617156 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > Martin.Jansa@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
An example we have right now: bitbake.conf: TCLIBC ?= "glibc" linux-distro.conf: TCLIBC = "musl" TCLIBC="glibc" bitbake -e distro-image-base => TCLIBC == "musl" which confuses users a lot (and it was not working this way in dunfell). Same applies to if TCLIBC="glibc" is in conf/local.conf then musl is used. With linux-distro.conf : TCLIBC ?= "musl" image is build with "glibc" which is not that we want. With suggested changes: bitbake.conf: TCLIBC ??= "glibc" linux-distro.conf: TCLIBC ?= "musl" TCLIBC="glibc" bitbake -e distro-image-base => TCLIBC == "glibc" bitbake -e distro-image-base => TCLIBC == "musl" If distro maintainers wants they can set to TCLIBC = "<implementation>" and disable overriding explicitly. Do I miss something? "Martin Jansa" <Martin.Jansa@gmail.com> writes: > You can always override it from local.conf with an override, right? That always worked for me and I don't see why this change is needed. > > On Fri, Jun 3, 2022 at 8:42 AM Pavel Zhukov <pavel@zhukoff.net> wrote: > > This allows two level of overriding (distro level and local.conf/shell > variable). Previous settings blocked shell variables overring > if it was overriden on distro level. > > Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> > --- > meta/conf/bitbake.conf | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 0e939aca4f..2a3cf6f8aa 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -386,8 +386,8 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar > # General work and output directories for the build system. > ################################################################## > > -TCMODE ?= "default" > -TCLIBC ?= "glibc" > +TCMODE ??= "default" > +TCLIBC ??= "glibc" > TMPDIR ?= "${TOPDIR}/tmp" > > CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar > ('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}" > -- > 2.35.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#166510): https://lists.openembedded.org/g/openembedded-core/message/166510 > Mute This Topic: https://lists.openembedded.org/mt/91516557/6390638 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [pavel@zhukoff.net] > -=-=-=-=-=-=-=-=-=-=-=-
On Fri, Jun 3, 2022 at 12:04 AM Pavel Zhukov <pavel@zhukoff.net> wrote: > > > An example we have right now: > > bitbake.conf: TCLIBC ?= "glibc" > linux-distro.conf: TCLIBC = "musl" > > TCLIBC="glibc" bitbake -e distro-image-base => TCLIBC == "musl" which > confuses users a lot (and it was not working this way in dunfell). > Same applies to if TCLIBC="glibc" is in conf/local.conf then musl is used. > > With linux-distro.conf : TCLIBC ?= "musl" image is build with "glibc" > which is not that we want. > > With suggested changes: > > bitbake.conf: TCLIBC ??= "glibc" > linux-distro.conf: TCLIBC ?= "musl" > > TCLIBC="glibc" bitbake -e distro-image-base => TCLIBC == "glibc" > bitbake -e distro-image-base => TCLIBC == "musl" > > If distro maintainers wants they can set to TCLIBC = "<implementation>" > and disable overriding explicitly. > > Do I miss something? > Its better to define different distros profiles sometimes they are not beneficial to have knobs on cmdline e.g. see https://github.com/YoeDistro/yoe-distro/blob/master/conf/site.conf#L14-L15 and https://github.com/YoeDistro/yoe-distro/blob/master/sources/meta-yoe/conf/distro/yoe.conf Since there could be multiple factors deciding the policy. > "Martin Jansa" <Martin.Jansa@gmail.com> writes: > > > You can always override it from local.conf with an override, right? That always worked for me and I don't see why this change is needed. > > > > On Fri, Jun 3, 2022 at 8:42 AM Pavel Zhukov <pavel@zhukoff.net> wrote: > > > > This allows two level of overriding (distro level and local.conf/shell > > variable). Previous settings blocked shell variables overring > > if it was overriden on distro level. > > > > Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> > > --- > > meta/conf/bitbake.conf | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > > index 0e939aca4f..2a3cf6f8aa 100644 > > --- a/meta/conf/bitbake.conf > > +++ b/meta/conf/bitbake.conf > > @@ -386,8 +386,8 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar > > # General work and output directories for the build system. > > ################################################################## > > > > -TCMODE ?= "default" > > -TCLIBC ?= "glibc" > > +TCMODE ??= "default" > > +TCLIBC ??= "glibc" > > TMPDIR ?= "${TOPDIR}/tmp" > > > > CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar > > ('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}" > > -- > > 2.35.1 > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#166511): https://lists.openembedded.org/g/openembedded-core/message/166511 > Mute This Topic: https://lists.openembedded.org/mt/91516557/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 0e939aca4f..2a3cf6f8aa 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -386,8 +386,8 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar # General work and output directories for the build system. ################################################################## -TCMODE ?= "default" -TCLIBC ?= "glibc" +TCMODE ??= "default" +TCLIBC ??= "glibc" TMPDIR ?= "${TOPDIR}/tmp" CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"
This allows two level of overriding (distro level and local.conf/shell variable). Previous settings blocked shell variables overring if it was overriden on distro level. Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> --- meta/conf/bitbake.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)