From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6444767352800149504 X-Received: by 10.46.21.65 with SMTP id 1mr2818356ljv.8.1500936847747; Mon, 24 Jul 2017 15:54:07 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.46.88.11 with SMTP id m11ls1388646ljb.11.gmail; Mon, 24 Jul 2017 15:54:07 -0700 (PDT) X-Received: by 10.25.22.32 with SMTP id m32mr2887572lfi.37.1500936847292; Mon, 24 Jul 2017 15:54:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1500936847; cv=none; d=google.com; s=arc-20160816; b=MLWZTHY4SR3LM3H163WTQL08Cd3l/SGli9jFPZhMTCW0scsQ5I3j6wd0574M5ub31+ IkHwbK1Dq2x1vSBg/i5cpT+zDP1TNDQy9A9SaVpAvT2D+c8IJu5wqhDEE3Dv3x2oTR1p pZpiCUJZ19olueTERf33+ondz3KHrcJd/K0LWjUNPXWELYc32zpvn6pt7l9HX6pvFz3N +HTmK7E4tZwqC1j201EFJeWdr57xIpkN3E7onWXwt2IWn6gf9SNjRgldB5sfUQV6EIgZ TgPxTharcPAKmb4epTBSbf6gud1y94JzSZNde4j6W4W0sMJ+ZhSYhQwoGmv5Qa0qaV3O rVLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=Hyy4cndQRnyb4QcHYUDpiF7gzpSyPKCrQft56+jfd9A=; b=tXzqTdUU+QMe+t9SASaMKrToeUu7e+Gff3Xj2z+kUu9rSA+EwL90GUQvH1lxk0eL2m deL3Uzb6uwyLgPNw90AL1Ngxt9yfjzl5OmhwWHCD/od08xf2Cq6bFfvXY39G+xiw/joP JqFI+NmS2KSE7kX9eCT5u6eapv98xKNk74iAnxwdpcJgj+Yj2DoMvPMq/pJm6mEe8aQ9 pd553uA5t/eRnB/ID/MXcZW7ad5FfcnE4Rp9GZ21p+/WrLekhgnHV9m+/zbww8TwxQV6 ekujI3ZoMQGqbcW3/bKXbxQlcgtaZQI4T4dP8HaE1LGpvyGi2qqXObum7YZdNJ49rTh4 VLog== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 85.214.62.211 is neither permitted nor denied by best guess record for domain of ibr@radix50.net) smtp.mailfrom=ibr@radix50.net Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id m89si2434842wmi.0.2017.07.24.15.54.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Jul 2017 15:54:07 -0700 (PDT) Received-SPF: neutral (google.com: 85.214.62.211 is neither permitted nor denied by best guess record for domain of ibr@radix50.net) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 85.214.62.211 is neither permitted nor denied by best guess record for domain of ibr@radix50.net) smtp.mailfrom=ibr@radix50.net Received: from yssyq.radix50.net (dslb-094-216-124-124.094.216.pools.vodafone-ip.de [94.216.124.124]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id v6OMruM5019187 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 25 Jul 2017 00:53:57 +0200 Received: from yssyq.radix50.net (localhost [127.0.0.1]) by yssyq.radix50.net (8.14.4/8.14.4/Debian-8) with ESMTP id v6OMrpHr018765 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 25 Jul 2017 00:53:51 +0200 Received: (from ibr@localhost) by yssyq.radix50.net (8.14.4/8.14.4/Submit) id v6OMro51018764; Tue, 25 Jul 2017 00:53:50 +0200 Date: Tue, 25 Jul 2017 00:53:50 +0200 From: Baurzhan Ismagulov To: isar-users@googlegroups.com Cc: Henning Schild , KOBAYASHI Yoshitake , Daniel Sangorrin , kazuhiro3.hayashi@toshiba.co.jp, jan.kiszka@siemens.com, asmirnov@ilbers.de Subject: Re: [RFC] can we just extend openembedded to get Isar 2.0 Message-ID: <20170724225350.GC3612@yssyq.radix50.net> Mail-Followup-To: isar-users@googlegroups.com, Henning Schild , KOBAYASHI Yoshitake , Daniel Sangorrin , kazuhiro3.hayashi@toshiba.co.jp, jan.kiszka@siemens.com, asmirnov@ilbers.de References: <20170720103037.794aab2e@md1em3qc> <20170720230529.GB5040@yssyq.radix50.net> <844d35a9-6ffd-9a84-b324-21acec937eaf@siemens.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <844d35a9-6ffd-9a84-b324-21acec937eaf@siemens.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-TUID: 1C0rwkHjWcQb 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.