* [RFC] can we just extend openembedded to get Isar 2.0
@ 2017-07-20 8:30 Henning Schild
2017-07-20 9:03 ` Claudius Heine
2017-07-20 9:15 ` Jan Kiszka
0 siblings, 2 replies; 9+ messages in thread
From: Henning Schild @ 2017-07-20 8:30 UTC (permalink / raw)
To: isar-users
Hi,
looking at Isar it basically is a bitbake recipe to extract a bunch
of .debs into a rootfs. It also has support for a few more things, like
(cross-)compiling your own packages, basic configuration etc. Things
like image creation with wic have been added as well.
But a lot of things are still missing. For true customization one would
need a way to smuggle files into the rootfs, patch files in there,
execute scripts in there. Ideally with collision protection and special
protection for config-files etc. Claudius already suggested building
custom .debs in Isar to solve that.
Another thing i already came across is Image conversion .raw
-> .qcow2/.vdi/.vmdk all that is missing in Isar. Same was true for the
wic support until recently.
People that are coming from Yocto and want to switch to Isar will never
get their recipes to work, because all the utils-classes are missing in
Isar and would need to be ported/pulled-in.
Isar needs sudo, and someone has to integrate libpseudo.
Isar still has several small issues with correct rebuilds after config
changes etc.
OE solved all those problems already, but what it can not do is
fetch .debs from a mirror and bundle them together with multistrap. OE
most likely contains a lot of other usefull stuff that we might need
eventually. But without a doubt it also contains tons of stuff that we
do not need and that might confuse users if the have to look into it.
Does it really make sense for us to reinvent all those OE-features in
Isar, or should we just got the other way around and put the Isar
features into OE?
At a first glance it looks like you have to teach OE to get debian
packages and create a rootfs from them. Tell it to not compile anything
at first. Probably much like the do_rootfs from Isar. We might get away
with a layer on top of OE and maybe a few patches to OE that can maybe
be mainlined. Or maybe the whole thing could become mainline OE some
day.
Has anyone considered or even tried that already? Going down that road
sounds like solving a lot of the open points in Isar at once, by
adding a few 100 LoC to OE. But i might be totally wrong here.
I guess everyone working on Isar needs a good technical answer to
why we seemingly start from scratch.
Henning
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-20 8:30 [RFC] can we just extend openembedded to get Isar 2.0 Henning Schild
@ 2017-07-20 9:03 ` Claudius Heine
2017-07-20 9:15 ` Jan Kiszka
1 sibling, 0 replies; 9+ messages in thread
From: Claudius Heine @ 2017-07-20 9:03 UTC (permalink / raw)
To: Henning Schild, isar-users
[-- Attachment #1: Type: text/plain, Size: 3450 bytes --]
On Thu, 2017-07-20 at 10:30 +0200, Henning Schild wrote:
> Hi,
>
> looking at Isar it basically is a bitbake recipe to extract a bunch
> of .debs into a rootfs. It also has support for a few more things,
> like
> (cross-)compiling your own packages, basic configuration etc. Things
> like image creation with wic have been added as well.
>
> But a lot of things are still missing. For true customization one
> would
> need a way to smuggle files into the rootfs, patch files in there,
> execute scripts in there. Ideally with collision protection and
> special
> protection for config-files etc. Claudius already suggested building
> custom .debs in Isar to solve that.
>
> Another thing i already came across is Image conversion .raw
> -> .qcow2/.vdi/.vmdk all that is missing in Isar. Same was true for
> the
> wic support until recently.
>
> People that are coming from Yocto and want to switch to Isar will
> never
> get their recipes to work, because all the utils-classes are missing
> in
> Isar and would need to be ported/pulled-in.
>
> Isar needs sudo, and someone has to integrate libpseudo.
>
> Isar still has several small issues with correct rebuilds after
> config
> changes etc.
>
> OE solved all those problems already, but what it can not do is
> fetch .debs from a mirror and bundle them together with multistrap.
> OE
> most likely contains a lot of other usefull stuff that we might need
> eventually. But without a doubt it also contains tons of stuff that
> we
> do not need and that might confuse users if the have to look into it.
>
> Does it really make sense for us to reinvent all those OE-features in
> Isar, or should we just got the other way around and put the Isar
> features into OE?
>
> At a first glance it looks like you have to teach OE to get debian
> packages and create a rootfs from them. Tell it to not compile
> anything
> at first. Probably much like the do_rootfs from Isar. We might get
> away
> with a layer on top of OE and maybe a few patches to OE that can
> maybe
> be mainlined. Or maybe the whole thing could become mainline OE some
> day.
>
> Has anyone considered or even tried that already? Going down that
> road
> sounds like solving a lot of the open points in Isar at once, by
> adding a few 100 LoC to OE. But i might be totally wrong here.
> I guess everyone working on Isar needs a good technical answer to
> why we seemingly start from scratch.
I agree. Currently looking at the debian package creation code in
openembedded and thinking about how to reimplement this rather complex
and featureful code into isar is what triggered this line of thought
for me.
There is a lot of stuff in bitbake that is written for openembedded in
mind, so retrofitting it to a completely different build process seems
like an anti-pattern to me. Going the other way and integrating the
debian repositories as a binary package source into openembedded seems
more reasonable, and might be doable with the same or less amount of
code.
Cheers,
Claudius
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de
PGP key: 6FF2 E59F 00C6 BC28 31D8 64C1 1173 CB19 9808 B153
Keyserver: hkp://pool.sks-keyservers.net
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-20 8:30 [RFC] can we just extend openembedded to get Isar 2.0 Henning Schild
2017-07-20 9:03 ` Claudius Heine
@ 2017-07-20 9:15 ` Jan Kiszka
2017-07-20 23:05 ` Baurzhan Ismagulov
1 sibling, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2017-07-20 9:15 UTC (permalink / raw)
To: Henning Schild, isar-users, Baurzhan Ismagulov,
Alexander Smirnov, KOBAYASHI Yoshitake, Daniel Sangorrin
On 2017-07-20 10:30, Henning Schild wrote:
> Hi,
>
> looking at Isar it basically is a bitbake recipe to extract a bunch
> of .debs into a rootfs. It also has support for a few more things, like
> (cross-)compiling your own packages, basic configuration etc. Things
> like image creation with wic have been added as well.
>
> But a lot of things are still missing. For true customization one would
> need a way to smuggle files into the rootfs, patch files in there,
> execute scripts in there. Ideally with collision protection and special
> protection for config-files etc. Claudius already suggested building
> custom .debs in Isar to solve that.
>
> Another thing i already came across is Image conversion .raw
> -> .qcow2/.vdi/.vmdk all that is missing in Isar. Same was true for the
> wic support until recently.
>
> People that are coming from Yocto and want to switch to Isar will never
> get their recipes to work, because all the utils-classes are missing in
> Isar and would need to be ported/pulled-in.
>
> Isar needs sudo, and someone has to integrate libpseudo.
>
> Isar still has several small issues with correct rebuilds after config
> changes etc.
>
> OE solved all those problems already, but what it can not do is
> fetch .debs from a mirror and bundle them together with multistrap. OE
> most likely contains a lot of other usefull stuff that we might need
> eventually. But without a doubt it also contains tons of stuff that we
> do not need and that might confuse users if the have to look into it.
>
> Does it really make sense for us to reinvent all those OE-features in
> Isar, or should we just got the other way around and put the Isar
> features into OE?
>
> At a first glance it looks like you have to teach OE to get debian
> packages and create a rootfs from them. Tell it to not compile anything
> at first. Probably much like the do_rootfs from Isar. We might get away
> with a layer on top of OE and maybe a few patches to OE that can maybe
> be mainlined. Or maybe the whole thing could become mainline OE some
> day.
>
> Has anyone considered or even tried that already? Going down that road
> sounds like solving a lot of the open points in Isar at once, by
> adding a few 100 LoC to OE. But i might be totally wrong here.
> I guess everyone working on Isar needs a good technical answer to
> why we seemingly start from scratch.
>
> Henning
>
This is a very important architectural question as we need to decide now
where to focus our resources on: porting/implementing missing features
or enabling OE.
Baurzhan, Alex, I suspect you have thought about this before and may
provide some insights on the traps and pitfalls of an OE-core-based path.
I also take the freedom to add Yoshi and Daniel to this discussion to
bring in their meta-debian experience. Possibly, you solved some of the
issues regarding Debian with OE already, although you focus on
out-of-source building. Maybe this path would also allows us to move
even closer together. But that's still a 10000-meters view on the topic.
Thanks,
Jan
--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-20 9:15 ` Jan Kiszka
@ 2017-07-20 23:05 ` Baurzhan Ismagulov
2017-07-21 7:31 ` Jan Kiszka
0 siblings, 1 reply; 9+ messages in thread
From: Baurzhan Ismagulov @ 2017-07-20 23:05 UTC (permalink / raw)
To: isar-users
Cc: Henning Schild, Alexander Smirnov, KOBAYASHI Yoshitake,
Daniel Sangorrin, kazuhiro3.hayashi, jan.kiszka
Hello,
thanks for all the ideas.
The short answer is, Isar has started from scratch as a rootfs generator from
existing binary distro + self-built packages. In plain German ;) , OE is not
necessary for this purpose. OE is a distro, and Isar is a builder.
Of course, this is not that simple. You, and other people at various
conferences, ask about the tools that you know and want to use, and this is
exactly what we care about: Re-use mainstream tools and don't invent our own
wheel.
What we are doing now is exactly bringing the tools many people are familiar
with into Debian(-based system) development. Where the modified tools are
hosted (OE vs. Isar repos) is secondary; the primary issue is to make them
useful for both worlds -- one has to do that also if one inherits from OE.
Developing this same feature requires just the same effort compared to adapting
the OE tools for Debian directly in OE repos. Our plan is to harmonize the
tools for both use cases, submit the patches, and see what the OE community
thinks about that.
So, to answer your original question, I don't exclude the possibility of using
Isar on top of OE if it would ever make sense. However, keeping the possibility
of using plain Isar is important for commercial product builders. Rationale:
The short answer above, plus a major disadvantage: OE is huge, and this luggage
is a problem for CM and integrators (I had to maintain OE in ClearCase, and I'm
glad I don't anymore).
Regarding bitbake, I don't agree it's retrofitting. Bitbake is a great generic
tool, perfectly suitable for the task. In fact, we build other commercial
embedded systems with bitbake, without Isar or OE. Other tools like wic,
runqemu, etc. are more OE-centric (mostly due to sysroot), but I'm glad to see
that the required changes were quite manageable.
The problem with Debian support in OE is that it is very undebian. Debian has
its strengths, and there are reasons why Debian developers strongly dislike OE
(see e.g. [1], and I've heard many such discussions). Deby / meta-debian
follows the OE way of building Debian packages, and currently considers moving
to the Debian way. The reason is, as soon as you oeize a package, you have to
maintain it. That is why Isar does things the Debian way and aims at avoiding
massive package modifications; OE doesn't really help here.
A couple of comments below.
On Thu, Jul 20, 2017 at 11:15:09AM +0200, Jan Kiszka wrote:
> > But a lot of things are still missing. For true customization one would
> > need a way to smuggle files into the rootfs, patch files in there,
> > execute scripts in there. Ideally with collision protection and special
> > protection for config-files etc.
Customization is implemented in configscript.sh. Some more structure could be
introduced, but we didn't need it till now, as the changes beyond custom debs
were reasonable in size.
> > Claudius already suggested building custom .debs in Isar to solve that.
Yes. we built them where the effort was justified.
> > Another thing i already came across is Image conversion .raw
> > -> .qcow2/.vdi/.vmdk all that is missing in Isar. Same was true for the
> > wic support until recently.
As introduced above, Isar follows the Debian way to reuse as much as possible.
That is why just basing on OE won't make the tools work for the Isar layer OOTB
-- it will require the very adaptations we do now.
> > People that are coming from Yocto and want to switch to Isar will never
> > get their recipes to work, because all the utils-classes are missing in
> > Isar and would need to be ported/pulled-in.
This is what we ideally don't want to have. It is possible to build packages in
a basic OE way, but the preferred way is to debianize all packages. We want to
have stuff like clean, etc., but duplicating the whole OE functionality doesn't
make sense and won't work, since Isar and OE have different base systems and
toolchains.
> > Isar needs sudo, and someone has to integrate libpseudo.
This is on TODO.
> > Isar still has several small issues with correct rebuilds after config
> > changes etc.
These issues are inherited from bitbake and its default setting of doing so.
IIRC, there was a var to change that behavior, but I couldn't remember its
name, have to dig the code.
> > OE solved all those problems already
AFAIK, not the rebuild one.
> > but what it can not do is
> > fetch .debs from a mirror and bundle them together with multistrap. OE
> > most likely contains a lot of other usefull stuff that we might need
> > eventually.
You can copy the recipe from Isar, and OE will be able to multistrap. The
problem is, you can't do anything useful with that afterwards due to the
different base system and compiler. OE != Debian, just like Ubuntu != Debian.
> > Does it really make sense for us to reinvent all those OE-features in
> > Isar, or should we just got the other way around and put the Isar
> > features into OE?
The truth is, both ways are the same due to the reasons above (except where the
modified tools are hosted, which doesn't matter), and we are already going that
way. Doing on top of OE doesn't make the tools work OOTB. But it brings the OE
distro luggage, which is not necessary for Isar use cases.
> > At a first glance it looks like you have to teach OE to get debian
> > packages and create a rootfs from them. Tell it to not compile anything
> > at first. Probably much like the do_rootfs from Isar. We might get away
> > with a layer on top of OE and maybe a few patches to OE that can maybe
> > be mainlined. Or maybe the whole thing could become mainline OE some
> > day.
IIUC, not compiling while keeping the whole vars intact would make that a
mutant behaving against the expectations of the users. Changing the vars would
be creating a small Isar inside OE; I don't think this can be done in a layer
alone. Regarding mainlining -- we want to start with the tools. I doubt the two
paradigms (distro vs. builder) can / should be aligned into a single system.
1. https://lists.debian.org/debian-embedded/2016/04/msg00013.html
With kind regards,
Baurzhan.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-20 23:05 ` Baurzhan Ismagulov
@ 2017-07-21 7:31 ` Jan Kiszka
2017-07-24 22:53 ` Baurzhan Ismagulov
0 siblings, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2017-07-21 7:31 UTC (permalink / raw)
To: isar-users, Henning Schild, Alexander Smirnov,
KOBAYASHI Yoshitake, Daniel Sangorrin, kazuhiro3.hayashi
On 2017-07-21 01:05, Baurzhan Ismagulov wrote:
> Hello,
>
> thanks for all the ideas.
>
> The short answer is, Isar has started from scratch as a rootfs generator from
> existing binary distro + self-built packages. In plain German ;) , OE is not
> necessary for this purpose. OE is a distro, and Isar is a builder.
OE-core is also a distro, but that is indeed the uninteresting part. We
are interested in all the stuff in meta/classes, lib, you-name-it. All
what is still missing and needs to be copied, adjusted, and MAINTAINED
separately in isar so far. This gap is still to large, and we need to
define a strategy now how to close it sustainably.
>
> Of course, this is not that simple. You, and other people at various
> conferences, ask about the tools that you know and want to use, and this is
> exactly what we care about: Re-use mainstream tools and don't invent our own
> wheel.
It's not just tools, it's also their infrastructure. The tools are easy
to copy, but the infrastructure has dependencies that need to be
continuously adjusted.
The question is now, can we bend the OE-core towards building a Debian
distro in the Debian way with its pre-existing infrastructure, or do we
really have to fork it?
>
> What we are doing now is exactly bringing the tools many people are familiar
> with into Debian(-based system) development. Where the modified tools are
> hosted (OE vs. Isar repos) is secondary; the primary issue is to make them
> useful for both worlds -- one has to do that also if one inherits from OE.
> Developing this same feature requires just the same effort compared to adapting
> the OE tools for Debian directly in OE repos. Our plan is to harmonize the
> tools for both use cases, submit the patches, and see what the OE community
> thinks about that.
>
> So, to answer your original question, I don't exclude the possibility of using
> Isar on top of OE if it would ever make sense. However, keeping the possibility
> of using plain Isar is important for commercial product builders. Rationale:
> The short answer above, plus a major disadvantage: OE is huge, and this luggage
> is a problem for CM and integrators (I had to maintain OE in ClearCase, and I'm
> glad I don't anymore).
OE-core is also just 58K LOC - smaller than bitbake itself, thus Isar.
(And ClearCase is dead, just not buried everywhere ;).)
>
> Regarding bitbake, I don't agree it's retrofitting. Bitbake is a great generic
> tool, perfectly suitable for the task. In fact, we build other commercial
> embedded systems with bitbake, without Isar or OE. Other tools like wic,
> runqemu, etc. are more OE-centric (mostly due to sysroot), but I'm glad to see
> that the required changes were quite manageable.
>
> The problem with Debian support in OE is that it is very undebian. Debian has
> its strengths, and there are reasons why Debian developers strongly dislike OE
> (see e.g. [1], and I've heard many such discussions). Deby / meta-debian
> follows the OE way of building Debian packages, and currently considers moving
> to the Debian way. The reason is, as soon as you oeize a package, you have to
> maintain it. That is why Isar does things the Debian way and aims at avoiding
> massive package modifications; OE doesn't really help here.
The idea is not to move to the OE way of doing Debian, for sure. It's
about adding the right way to the OE-core tools and libs that are useful
or even mandatory for Isar instead of forking or reimplementing them now.
>
> A couple of comments below.
>
> On Thu, Jul 20, 2017 at 11:15:09AM +0200, Jan Kiszka wrote:
>>> But a lot of things are still missing. For true customization one would
>>> need a way to smuggle files into the rootfs, patch files in there,
>>> execute scripts in there. Ideally with collision protection and special
>>> protection for config-files etc.
>
> Customization is implemented in configscript.sh. Some more structure could be
> introduced, but we didn't need it till now, as the changes beyond custom debs
> were reasonable in size.
The problem is that Isar wasn't applied on a larger scale yet. And it
was only tested against the bitbake-unlike template pattern, instead of
using layering consequently. We are doing both now, and the problems
surface. All fixable, but the question is, where to do that best.
>
>
>>> Claudius already suggested building custom .debs in Isar to solve that.
>
> Yes. we built them where the effort was justified.
No, this is about making this feature available as library (class) so
that you write three lines of recipe and have a customization deb
package. That effort would be minimal for the user, and we only need to
solve this once properly. If OE-core cannot provide that, we will have
to implement it ourselves.
>
>
>>> Another thing i already came across is Image conversion .raw
>>> -> .qcow2/.vdi/.vmdk all that is missing in Isar. Same was true for the
>>> wic support until recently.
>
> As introduced above, Isar follows the Debian way to reuse as much as possible.
> That is why just basing on OE won't make the tools work for the Isar layer OOTB
> -- it will require the very adaptations we do now.
>
Can you provide a concrete code example? What all prevents using
upstream wic (including its image class) more as-is and forces us to
fork it?
>
>>> People that are coming from Yocto and want to switch to Isar will never
>>> get their recipes to work, because all the utils-classes are missing in
>>> Isar and would need to be ported/pulled-in.
>
> This is what we ideally don't want to have. It is possible to build packages in
> a basic OE way, but the preferred way is to debianize all packages. We want to
> have stuff like clean, etc., but duplicating the whole OE functionality doesn't
> make sense and won't work, since Isar and OE have different base systems and
> toolchains.
Again, concrete examples would help to underline this high-level
statement. We will be asked these questions over and over again, so we
need the arguments ready at hand.
>
>
>>> Isar needs sudo, and someone has to integrate libpseudo.
>
> This is on TODO.
>
It's actually WIP by us now - it's urgent because we need CI support,
and that's in conflict with the sudo workarounds.
>
>>> Isar still has several small issues with correct rebuilds after config
>>> changes etc.
>
> These issues are inherited from bitbake and its default setting of doing so.
> IIRC, there was a var to change that behavior, but I couldn't remember its
> name, have to dig the code.
>
>
>>> OE solved all those problems already
>
> AFAIK, not the rebuild one.
>
But, e.g., it has proper support for SRC_URI and fetching, proxies,
mirrors, image types, and possibly more we need. Are all of these
feature so tangled up with OE assumptions that stubbing and adjusting
their dependencies would be worse than reimplementing them?
>
>>> but what it can not do is
>>> fetch .debs from a mirror and bundle them together with multistrap. OE
>>> most likely contains a lot of other usefull stuff that we might need
>>> eventually.
>
> You can copy the recipe from Isar, and OE will be able to multistrap. The
> problem is, you can't do anything useful with that afterwards due to the
> different base system and compiler. OE != Debian, just like Ubuntu != Debian.
>
OK, that is a more concrete example to discuss: assumption of OE-core
about the compiler and the build environment (when we are building, the
exceptional case). Where do they bite us when reusing OE-core to
generate, e.g., images? Or fetching sources? Or any other case?
Yes, 90% of OE-core may be unused with Isar. But even 10% would still be
an order of magnitude more lines of code than Isar has right now. That's
the concern. If we have to port all that, or even just half of it over,
we need strong reasons, ideally documented.
>
>>> Does it really make sense for us to reinvent all those OE-features in
>>> Isar, or should we just got the other way around and put the Isar
>>> features into OE?
>
> The truth is, both ways are the same due to the reasons above (except where the
> modified tools are hosted, which doesn't matter), and we are already going that
> way. Doing on top of OE doesn't make the tools work OOTB. But it brings the OE
> distro luggage, which is not necessary for Isar use cases.
>
>
>>> At a first glance it looks like you have to teach OE to get debian
>>> packages and create a rootfs from them. Tell it to not compile anything
>>> at first. Probably much like the do_rootfs from Isar. We might get away
>>> with a layer on top of OE and maybe a few patches to OE that can maybe
>>> be mainlined. Or maybe the whole thing could become mainline OE some
>>> day.
>
> IIUC, not compiling while keeping the whole vars intact would make that a
> mutant behaving against the expectations of the users. Changing the vars would
> be creating a small Isar inside OE; I don't think this can be done in a layer
> alone. Regarding mainlining -- we want to start with the tools. I doubt the two
> paradigms (distro vs. builder) can / should be aligned into a single system.
>
>
> 1. https://lists.debian.org/debian-embedded/2016/04/msg00013.html
>
>
> With kind regards,
> Baurzhan.
>
Thanks,
Jan
--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-21 7:31 ` Jan Kiszka
@ 2017-07-24 22:53 ` Baurzhan Ismagulov
2017-07-25 6:08 ` Jan Kiszka
0 siblings, 1 reply; 9+ messages in thread
From: Baurzhan Ismagulov @ 2017-07-24 22:53 UTC (permalink / raw)
To: isar-users
Cc: Henning Schild, KOBAYASHI Yoshitake, Daniel Sangorrin,
kazuhiro3.hayashi, jan.kiszka, asmirnov
On Fri, Jul 21, 2017 at 09:31:05AM +0200, Jan Kiszka wrote:
> > The short answer is, Isar has started from scratch as a rootfs generator from
> > existing binary distro + self-built packages. In plain German ;) , OE is not
> > necessary for this purpose. OE is a distro, and Isar is a builder.
>
> OE-core is also a distro, but that is indeed the uninteresting part.
Not just uninteresting, it's 16 MiB of metadata that needs to be CM'ed and
legally cleared.
> We are interested in all the stuff in meta/classes, lib, you-name-it. All
> what is still missing and needs to be copied, adjusted, and MAINTAINED
> separately in isar so far.
Copying is not an issue. Adjusting is required in both ways. For maintenance,
we already want to submit patches to Yocto / OE.
If one goes the OE layer way, the tools have to be adjusted anyway. But they
won't be adjusted all at once. So, some tools would work, others would be
present but won't work, creating a mess.
> This gap is still to large, and we need to define a strategy now how to close
> it sustainably.
The value of Isar is to provide convenient build environment for Debian-based
systems. There are many things we can do on the Debian support side that no
other tools do, and that should be the priority. Closing the gap with OE is
going to be the same effort in either way.
> > Of course, this is not that simple. You, and other people at various
> > conferences, ask about the tools that you know and want to use, and this is
> > exactly what we care about: Re-use mainstream tools and don't invent our own
> > wheel.
...
> The question is now, can we bend the OE-core towards building a Debian
> distro in the Debian way with its pre-existing infrastructure, or do we
> really have to fork it?
We don't fork it to have our own copies. We adjust them to provide the patches
back upstream. So, for those tools, Isar is just a temporary storage place.
> > So, to answer your original question, I don't exclude the possibility of using
> > Isar on top of OE if it would ever make sense. However, keeping the possibility
> > of using plain Isar is important for commercial product builders. Rationale:
> > The short answer above, plus a major disadvantage: OE is huge, and this luggage
> > is a problem for CM and integrators (I had to maintain OE in ClearCase, and I'm
> > glad I don't anymore).
>
> OE-core is also just 58K LOC - smaller than bitbake itself, thus Isar.
I assume your LOC counting tool doesn't count 14 MiB of metadata?
Bitbake is technically in the Isar repository just to ship the right version to
any host version, but it isn't a part of Isar.
> (And ClearCase is dead, just not buried everywhere ;).)
:) That was just an example that one has to CM the stuff.
> > The problem with Debian support in OE is that it is very undebian. Debian has
> > its strengths, and there are reasons why Debian developers strongly dislike OE
> > (see e.g. [1], and I've heard many such discussions). Deby / meta-debian
> > follows the OE way of building Debian packages, and currently considers moving
> > to the Debian way. The reason is, as soon as you oeize a package, you have to
> > maintain it. That is why Isar does things the Debian way and aims at avoiding
> > massive package modifications; OE doesn't really help here.
>
> The idea is not to move to the OE way of doing Debian, for sure. It's
> about adding the right way to the OE-core tools and libs that are useful
> or even mandatory for Isar instead of forking or reimplementing them now.
The idea is clear, the answer is above: The adjustment effort is the same. We
want to merge upstream, we don't reimplement.
> > Customization is implemented in configscript.sh. Some more structure could be
> > introduced, but we didn't need it till now, as the changes beyond custom debs
> > were reasonable in size.
>
> The problem is that Isar wasn't applied on a larger scale yet. And it
> was only tested against the bitbake-unlike template pattern, instead of
> using layering consequently. We are doing both now, and the problems
> surface. All fixable, but the question is, where to do that best.
Ok, please let me know the priorities.
> >>> Claudius already suggested building custom .debs in Isar to solve that.
> >
> > Yes. we built them where the effort was justified.
>
> No, this is about making this feature available as library (class) so
> that you write three lines of recipe and have a customization deb
> package. That effort would be minimal for the user, and we only need to
> solve this once properly. If OE-core cannot provide that, we will have
> to implement it ourselves.
Ah, I see. This is also on TODO. This is an example what we could do for Debian
people, and this is what other tools don't provide.
> > As introduced above, Isar follows the Debian way to reuse as much as possible.
> > That is why just basing on OE won't make the tools work for the Isar layer OOTB
> > -- it will require the very adaptations we do now.
>
> Can you provide a concrete code example? What all prevents using
> upstream wic (including its image class) more as-is and forces us to
> fork it?
For wic, it was mostly sysroot, plus a couple of bits that didn't work OOTB (no
idea whether that worked upstream). We don't have to fork, we need to adjust.
We just happen to stabilize it in the Isar repo before submitting upstream.
> >>> People that are coming from Yocto and want to switch to Isar will never
> >>> get their recipes to work, because all the utils-classes are missing in
> >>> Isar and would need to be ported/pulled-in.
> >
> > This is what we ideally don't want to have. It is possible to build packages in
> > a basic OE way, but the preferred way is to debianize all packages. We want to
> > have stuff like clean, etc., but duplicating the whole OE functionality doesn't
> > make sense and won't work, since Isar and OE have different base systems and
> > toolchains.
>
> Again, concrete examples would help to underline this high-level
> statement. We will be asked these questions over and over again, so we
> need the arguments ready at hand.
Till now, it's mostly toolchain and sysroot. The former should be overridable
via a var. The latter has to be adjusted.
> >>> Isar needs sudo, and someone has to integrate libpseudo.
> >
> > This is on TODO.
>
> It's actually WIP by us now - it's urgent because we need CI support,
> and that's in conflict with the sudo workarounds.
Please let us know when you start working on issues, to avoid effort
duplication.
> But, e.g., it has proper support for SRC_URI and fetching, proxies,
> mirrors, image types, and possibly more we need. Are all of these
> feature so tangled up with OE assumptions that stubbing and adjusting
> their dependencies would be worse than reimplementing them?
To my knowledge, SRC_URI and fetching work in bitbake and thus Isar. Wic image
types are also in Isar. I presume non-wic image types and proxies won't work
OOTB (due to sysroot and chroots, respectively) and would need to be adjusted.
Not sure about mirrors.
> > You can copy the recipe from Isar, and OE will be able to multistrap. The
> > problem is, you can't do anything useful with that afterwards due to the
> > different base system and compiler. OE != Debian, just like Ubuntu != Debian.
>
> OK, that is a more concrete example to discuss: assumption of OE-core
> about the compiler and the build environment (when we are building, the
> exceptional case).
Building is not an exceptional case, every product has its custom applications.
> Where do they bite us when reusing OE-core to
> generate, e.g., images? Or fetching sources? Or any other case?
During image generation, it's sysroot (where stuff is located). Source fetching
is bitbake and should work in the same way.
> Yes, 90% of OE-core may be unused with Isar. But even 10% would still be
> an order of magnitude more lines of code than Isar has right now. That's
> the concern. If we have to port all that, or even just half of it over,
> we need strong reasons, ideally documented.
It isn't about the size, it's about architecture. OE-core is infrastructure +
metadata. If we go the OE way, the infrastructure should be split from the
metadata into different repos. But such kind of changes should not be suggested
by novices like me; the usual practice is to maintain them off-tree for several
years (e.g., PREEMPT-RT, etc.). Which in our case would mean forking and
maintaining OE-core till the upstream accepts it...
But while you are talking about percentage: What tools does OE provide? I'm
aware of isar-init-build-env, bitbake, wic, and runqemu. What else is there?
To summarize, what I hear:
+ Less effort to adjust tools for Debian in OE.
How I see it:
= The same effort to adjust tools for Debian in either repo.
- OE-core contains metadata that is not necessary.
- CM of OE-core metadata.
- Legal clearing of OE-core metadata.
I'll sync with Alex who can look at OE + Isar and report here.
With kind regards,
Baurzhan.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-24 22:53 ` Baurzhan Ismagulov
@ 2017-07-25 6:08 ` Jan Kiszka
2017-07-25 8:06 ` Claudius Heine
0 siblings, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2017-07-25 6:08 UTC (permalink / raw)
To: isar-users, Henning Schild, KOBAYASHI Yoshitake,
Daniel Sangorrin, kazuhiro3.hayashi, asmirnov, Claudius Heine
On 2017-07-25 00:53, Baurzhan Ismagulov wrote:
> On Fri, Jul 21, 2017 at 09:31:05AM +0200, Jan Kiszka wrote:
>>> The short answer is, Isar has started from scratch as a rootfs generator from
>>> existing binary distro + self-built packages. In plain German ;) , OE is not
>>> necessary for this purpose. OE is a distro, and Isar is a builder.
>>
>> OE-core is also a distro, but that is indeed the uninteresting part.
>
> Not just uninteresting, it's 16 MiB of metadata that needs to be CM'ed and
> legally cleared.
That's not much, compared to what we actually install on the device.
I'm buying clearing arguments - as long as there are either real issues
(not cleanly licensed packages) or they are in line with technical
benefits. However, we at least have to process oe-core (via yocto)
frequently anyway, so there would be reuse.
>
>
>> We are interested in all the stuff in meta/classes, lib, you-name-it. All
>> what is still missing and needs to be copied, adjusted, and MAINTAINED
>> separately in isar so far.
>
> Copying is not an issue. Adjusting is required in both ways. For maintenance,
> we already want to submit patches to Yocto / OE.
The fact is that the current classes have little to do with OE, thus
expose no reuse, just rewrites that still need additional work. Also,
Henning found a number of inconsistencies because - in contrast to
OE-core - we were not in lock-step with the bitbake we imported.
>
> If one goes the OE layer way, the tools have to be adjusted anyway. But they
> won't be adjusted all at once. So, some tools would work, others would be
> present but won't work, creating a mess.
That adjustment needs are still unclear to me and probably require a
prototype to actually work out the details. At this level, discussion is
still too vague for me.
>
>
>> This gap is still to large, and we need to define a strategy now how to close
>> it sustainably.
>
> The value of Isar is to provide convenient build environment for Debian-based
> systems. There are many things we can do on the Debian support side that no
> other tools do, and that should be the priority. Closing the gap with OE is
> going to be the same effort in either way.
>
>
>>> Of course, this is not that simple. You, and other people at various
>>> conferences, ask about the tools that you know and want to use, and this is
>>> exactly what we care about: Re-use mainstream tools and don't invent our own
>>> wheel.
> ...
>> The question is now, can we bend the OE-core towards building a Debian
>> distro in the Debian way with its pre-existing infrastructure, or do we
>> really have to fork it?
>
> We don't fork it to have our own copies. We adjust them to provide the patches
> back upstream. So, for those tools, Isar is just a temporary storage place.
>
Can you point to some OE or bitbake patches you have in staging?
>
>>> So, to answer your original question, I don't exclude the possibility of using
>>> Isar on top of OE if it would ever make sense. However, keeping the possibility
>>> of using plain Isar is important for commercial product builders. Rationale:
>>> The short answer above, plus a major disadvantage: OE is huge, and this luggage
>>> is a problem for CM and integrators (I had to maintain OE in ClearCase, and I'm
>>> glad I don't anymore).
>>
>> OE-core is also just 58K LOC - smaller than bitbake itself, thus Isar.
>
> I assume your LOC counting tool doesn't count 14 MiB of metadata?
"cloc ." - that's everything.
>
> Bitbake is technically in the Isar repository just to ship the right version to
> any host version, but it isn't a part of Isar.
>
>
>> (And ClearCase is dead, just not buried everywhere ;).)
>
> :) That was just an example that one has to CM the stuff.
>
>
>>> The problem with Debian support in OE is that it is very undebian. Debian has
>>> its strengths, and there are reasons why Debian developers strongly dislike OE
>>> (see e.g. [1], and I've heard many such discussions). Deby / meta-debian
>>> follows the OE way of building Debian packages, and currently considers moving
>>> to the Debian way. The reason is, as soon as you oeize a package, you have to
>>> maintain it. That is why Isar does things the Debian way and aims at avoiding
>>> massive package modifications; OE doesn't really help here.
>>
>> The idea is not to move to the OE way of doing Debian, for sure. It's
>> about adding the right way to the OE-core tools and libs that are useful
>> or even mandatory for Isar instead of forking or reimplementing them now.
>
> The idea is clear, the answer is above: The adjustment effort is the same. We
> want to merge upstream, we don't reimplement.
>
So far, we do reimplement (which includes code snippet imports).
>
>>> Customization is implemented in configscript.sh. Some more structure could be
>>> introduced, but we didn't need it till now, as the changes beyond custom debs
>>> were reasonable in size.
>>
>> The problem is that Isar wasn't applied on a larger scale yet. And it
>> was only tested against the bitbake-unlike template pattern, instead of
>> using layering consequently. We are doing both now, and the problems
>> surface. All fixable, but the question is, where to do that best.
>
> Ok, please let me know the priorities.
>
>
>>>>> Claudius already suggested building custom .debs in Isar to solve that.
>>>
>>> Yes. we built them where the effort was justified.
>>
>> No, this is about making this feature available as library (class) so
>> that you write three lines of recipe and have a customization deb
>> package. That effort would be minimal for the user, and we only need to
>> solve this once properly. If OE-core cannot provide that, we will have
>> to implement it ourselves.
>
> Ah, I see. This is also on TODO. This is an example what we could do for Debian
> people, and this is what other tools don't provide.
>
OK, great. Then the question is likely if we should extend or write a
separate tool for that or rather a bitbake recipe. Claudius was in favor
of a recipe, Henning found some tool in Debian.
>
>>> As introduced above, Isar follows the Debian way to reuse as much as possible.
>>> That is why just basing on OE won't make the tools work for the Isar layer OOTB
>>> -- it will require the very adaptations we do now.
>>
>> Can you provide a concrete code example? What all prevents using
>> upstream wic (including its image class) more as-is and forces us to
>> fork it?
>
> For wic, it was mostly sysroot, plus a couple of bits that didn't work OOTB (no
> idea whether that worked upstream). We don't have to fork, we need to adjust.
> We just happen to stabilize it in the Isar repo before submitting upstream.
Given that Isar != OE-core, you will end up with two patches on two
repos, and QA requires a second stage (first in Isar, then in OE-core).
That's why using a common code base would be beneficial as well.
>
>
>>>>> People that are coming from Yocto and want to switch to Isar will never
>>>>> get their recipes to work, because all the utils-classes are missing in
>>>>> Isar and would need to be ported/pulled-in.
>>>
>>> This is what we ideally don't want to have. It is possible to build packages in
>>> a basic OE way, but the preferred way is to debianize all packages. We want to
>>> have stuff like clean, etc., but duplicating the whole OE functionality doesn't
>>> make sense and won't work, since Isar and OE have different base systems and
>>> toolchains.
>>
>> Again, concrete examples would help to underline this high-level
>> statement. We will be asked these questions over and over again, so we
>> need the arguments ready at hand.
>
> Till now, it's mostly toolchain and sysroot. The former should be overridable
> via a var. The latter has to be adjusted.
>
Example at hand?
>
>>>>> Isar needs sudo, and someone has to integrate libpseudo.
>>>
>>> This is on TODO.
>>
>> It's actually WIP by us now - it's urgent because we need CI support,
>> and that's in conflict with the sudo workarounds.
>
> Please let us know when you start working on issues, to avoid effort
> duplication.
"It's actually WIP by us *now*". Once we have a prototype, it will be
shared on the list.
>
>
>> But, e.g., it has proper support for SRC_URI and fetching, proxies,
>> mirrors, image types, and possibly more we need. Are all of these
>> feature so tangled up with OE assumptions that stubbing and adjusting
>> their dependencies would be worse than reimplementing them?
>
> To my knowledge, SRC_URI and fetching work in bitbake and thus Isar.
Nope, I tried it. It's only available for the dpkg class, not for all
classes.
> Wic image types are also in Isar.
Nope, otherwise you could build in a single step, without an explicit
wic call.
> I presume non-wic image types and proxies won't work
They weren't copied or forked yet, right.
> OOTB (due to sysroot and chroots, respectively) and would need to be adjusted.
Not if we followed the same layout that OE-core generates. I mean, after
creating the rootfs folder, we are on the same page again, and that's
where all the image types start off.
> Not sure about mirrors.
If it wasn't tested yet, it's broken for sure. E.g., quite a few
variables are not initialized yet that the OE-core classes and even
bitbakes expect.
>
>
>>> You can copy the recipe from Isar, and OE will be able to multistrap. The
>>> problem is, you can't do anything useful with that afterwards due to the
>>> different base system and compiler. OE != Debian, just like Ubuntu != Debian.
>>
>> OK, that is a more concrete example to discuss: assumption of OE-core
>> about the compiler and the build environment (when we are building, the
>> exceptional case).
>
> Building is not an exceptional case, every product has its custom applications.
>
Compared to the primarily goal, installing tons of prebuilt packages,
it's exceptional to Isar. That's what I meant. I agree that we do need
to build a handful of packages in most projects as well.
>
>> Where do they bite us when reusing OE-core to
>> generate, e.g., images? Or fetching sources? Or any other case?
>
> During image generation, it's sysroot (where stuff is located). Source fetching
> is bitbake and should work in the same way.
>
Fetching - like many things bitbake does - is controlled by a bunch of
variables in the classes and recipes. Due to the differences there,
things do not work as expected.
>
>> Yes, 90% of OE-core may be unused with Isar. But even 10% would still be
>> an order of magnitude more lines of code than Isar has right now. That's
>> the concern. If we have to port all that, or even just half of it over,
>> we need strong reasons, ideally documented.
>
> It isn't about the size, it's about architecture. OE-core is infrastructure +
> metadata. If we go the OE way, the infrastructure should be split from the
> metadata into different repos. But such kind of changes should not be suggested
> by novices like me; the usual practice is to maintain them off-tree for several
> years (e.g., PREEMPT-RT, etc.). Which in our case would mean forking and
> maintaining OE-core till the upstream accepts it...
metadata could still be split off later. I really don't care about it
now as we are using it anyway for Yocto in other projects. I agree that
would be be nicer to have the core free of package recipes and patches
we don't use. But that's not a hard precondition.
>
> But while you are talking about percentage: What tools does OE provide? I'm
> aware of isar-init-build-env, bitbake, wic, and runqemu. What else is there?
>
Classes, the secret source to glue all that together and make it
conveniently usable.
>
> To summarize, what I hear:
>
> + Less effort to adjust tools for Debian in OE.
>
> How I see it:
>
> = The same effort to adjust tools for Debian in either repo.
> - OE-core contains metadata that is not necessary.
Unneeded, but acceptable for now.
> - CM of OE-core metadata.
Again, CM is not a compelling reason. We are dealing with packages in
*every* embedded Linux device which are at least one order of magnitude
larger than OE-core.
> - Legal clearing of OE-core metadata.
See above: already done.
We need more technical reasons.
>
>
> I'll sync with Alex who can look at OE + Isar and report here.
Let's discuss this in our local round. We may contribute to that as well.
Jan
--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-25 6:08 ` Jan Kiszka
@ 2017-07-25 8:06 ` Claudius Heine
2017-07-27 13:14 ` Kazuhiro Hayashi
0 siblings, 1 reply; 9+ messages in thread
From: Claudius Heine @ 2017-07-25 8:06 UTC (permalink / raw)
To: [ext] Jan Kiszka, isar-users, Henning Schild,
KOBAYASHI Yoshitake, Daniel Sangorrin, kazuhiro3.hayashi,
asmirnov, Claudius Heine
Hi,
On 07/25/2017 08:08 AM, [ext] Jan Kiszka wrote:
> On 2017-07-25 00:53, Baurzhan Ismagulov wrote:
>> On Fri, Jul 21, 2017 at 09:31:05AM +0200, Jan Kiszka wrote:
>>>>>> Claudius already suggested building custom .debs in Isar to solve that.
>>>>
>>>> Yes. we built them where the effort was justified.
>>>
>>> No, this is about making this feature available as library (class) so
>>> that you write three lines of recipe and have a customization deb
>>> package. That effort would be minimal for the user, and we only need to
>>> solve this once properly. If OE-core cannot provide that, we will have
>>> to implement it ourselves.
>>
>> Ah, I see. This is also on TODO. This is an example what we could do for Debian
>> people, and this is what other tools don't provide.
>>
>
> OK, great. Then the question is likely if we should extend or write a
> separate tool for that or rather a bitbake recipe. Claudius was in favor
> of a recipe, Henning found some tool in Debian.
I am more in favor of a bbclass for this. Creating simple packages this
way should be easy compared to expressing runtime and build dependencies
to upstream packages or own packages created by a bitbake recipe and
resolving and installing them into the build chroot beforehand.
It would be great to get PACKAGES, RDEPENDS_${PN}, FILES_${PN}, etc.
working again.
I am not sure of the best way to do these kind of tasks in isar.
To integrate isar into OE one way could be to have a recipe that fetches
the packet index from the repository and populates the bitbake datastore
with recipes or packages for every package in the repository at runtime.
Or, if that is too hacky or does not scale well, hook into the 'DEPENDS'
resolve mechansim and look into the debian package index there and
generate recipes/packages into the datastore just for the requested
packages.
Also integrate use qemu + native debian toolchain as alternative cross
compiler. This might need some additional finagling.
>>>> You can copy the recipe from Isar, and OE will be able to multistrap. The
>>>> problem is, you can't do anything useful with that afterwards due to the
>>>> different base system and compiler. OE != Debian, just like Ubuntu != Debian.
>>>
>>> OK, that is a more concrete example to discuss: assumption of OE-core
>>> about the compiler and the build environment (when we are building, the
>>> exceptional case).
>>
>> Building is not an exceptional case, every product has its custom applications.
>>
>
> Compared to the primarily goal, installing tons of prebuilt packages,
> it's exceptional to Isar. That's what I meant. I agree that we do need
> to build a handful of packages in most projects as well.
Maybe I am captain obvious here, but should be possible to build static
binaries with muslc in oe. Those would be independent of the toolchain.
>> But while you are talking about percentage: What tools does OE provide? I'm
>> aware of isar-init-build-env, bitbake, wic, and runqemu. What else is there?
>>
>
> Classes, the secret source to glue all that together and make it
> conveniently usable.
>
>>
>> To summarize, what I hear:
>>
>> + Less effort to adjust tools for Debian in OE.
Some of them might be a bit too hopeful and based on my implementation
proposal:
+ Less intrusive change to the build system (bitbake + oe)
-> Less work to keep it working with upstream
-> Higher chance of beeing integrated into upstream
-> Resolve many regressions of isar (compared to bitbake + oe)
-> No need to reimplement most of the functionality (creating
packages, images)
-> Mostly compatible with oe recipes
Cheers,
Claudius
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC] can we just extend openembedded to get Isar 2.0
2017-07-25 8:06 ` Claudius Heine
@ 2017-07-27 13:14 ` Kazuhiro Hayashi
0 siblings, 0 replies; 9+ messages in thread
From: Kazuhiro Hayashi @ 2017-07-27 13:14 UTC (permalink / raw)
To: isar-users, [ext] Jan Kiszka, asmirnov, Claudius Heine,
Henning Schild, KOBAYASHI Yoshitake, Daniel Sangorrin,
Claudius Heine
Hello,
>>>>> The problem with Debian support in OE is that it is very undebian. Debian has
>>>>> its strengths, and there are reasons why Debian developers strongly dislike OE
>>>>> (see e.g. [1], and I've heard many such discussions). Deby / meta-debian
>>>>> follows the OE way of building Debian packages, and currently considers moving
>>>>> to the Debian way. The reason is, as soon as you oeize a package, you have to
>>>>> maintain it. That is why Isar does things the Debian way and aims at avoiding
>>>>> massive package modifications; OE doesn't really help here.
>>>>
>>>> The idea is not to move to the OE way of doing Debian, for sure. It's
>>>> about adding the right way to the OE-core tools and libs that are useful
>>>> or even mandatory for Isar instead of forking or reimplementing them now.
>>>
>>> The idea is clear, the answer is above: The adjustment effort is the same. We
>>> want to merge upstream, we don't reimplement.
>>
>> So far, we do reimplement (which includes code snippet imports).
In Deby, there are more than 700 recipes (.bb) and all of them are
implemented following OE-Core way. As Baurzhan mentioned, the main issue
is to create and maintain such recipes ourselves. On the other hands,
as an advantage, the recipes can reuse (inherits) most common stuffs
like .bbclass, .conf, etc. provided by OE-Core without any changes.
Examples:
* Tasks for cross-building own kernel (kernel.bbclass)
* Functions to run menuconfig through bitbake (cml1.bbclass)
* ptest infrastructure (ptest.bbclass)
* Packaging functions (package_deb.bbclass)
* Recipes for generating rootfs and SDK
(core-image-minimal.bb, meta-toolchain.bb)
* sstate caching (sstate.bbclass)
IIUC, most .bbclass depend on OE-Core infrastructure (some of them
depend on metadata as well). For examples, they add several recipes
(especially native recipes) provided in OE-Core to their DEPENDS,
assume the default task flow (do_configure, do_compile, etc.),
cross toolchain and sysroots of OE-Core. To split such OE-Core
dependent stuffs from existing .bbclass (or to adjust them for
other system like Isar) may require much effort.
Additionally, big issues we met are:
* There is no efficient way to append .bbclass
* Specification of such kind of common stuffs frequently change in upstream
Regarding libraries (meta/lib), I've never tried to reuse or
inherit classes or functions in them, but I guess that they have
less dependencies on OE-Core infrastructure and metadata than .bbclass.
Some of them get values from several global variables define in
the default configs (.conf) in OE-Core.
Regarding scripts, we are just users, no experience of customization.
As Baurzhan mentioned, Deby is now considering moving to the Debian way,
but this change affects only how to implement .bb for Debian packages.
In other words, we will keep using OE-Core infrastructure as before
under the following policies.
* Manage all files (.bb, .bbclass, .conf, etc.) in an independent layer
(meta-debian.git) which works on top of OE-Core
* Don't modify (fork) OE-Core layer, instead, adjust by overriding variables
Actually, due to the above reasons, there might not be so many existing
stuffs, which can be shared with Debian way, in OE-Core (except bitbake).
At least, supporting sysroot and adapting Debian toolchain to OE-Core
are required to reuse most existing .bbclass. We are just considering
the better solution to implement Debian way on top of OE-Core
infrastructure, including such wide adaptation.
Best regards,
Kazuhiro
--
Kazuhiro Hayashi
E-mail: kazuhiro3.hayashi@toshiba.co.jp
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-07-27 13:14 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-20 8:30 [RFC] can we just extend openembedded to get Isar 2.0 Henning Schild
2017-07-20 9:03 ` Claudius Heine
2017-07-20 9:15 ` Jan Kiszka
2017-07-20 23:05 ` Baurzhan Ismagulov
2017-07-21 7:31 ` Jan Kiszka
2017-07-24 22:53 ` Baurzhan Ismagulov
2017-07-25 6:08 ` Jan Kiszka
2017-07-25 8:06 ` Claudius Heine
2017-07-27 13:14 ` Kazuhiro Hayashi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox