On Mon, Jun 12, 2023 at 11:30:43AM -0500, Andrew Davis wrote: > On 6/12/23 11:16 AM, Denys Dmytriyenko wrote: > >On Mon, Jun 12, 2023 at 10:24:27AM -0500, Andrew Davis via > >lists.yoctoproject.org wrote: > >>On 6/9/23 3:39 PM, Denys Dmytriyenko wrote: > >>>On Fri, Jun 09, 2023 at 02:13:23PM -0500, Randolph Sapp via > >>>lists.yoctoproject.org wrote: > >>>>On 6/9/23 13:32, Ryan Eatmon wrote: > >>>>> > >>>>> > >>>>>On 6/6/2023 6:18 PM, Randolph Sapp via lists.yoctoproject.org wrote: > >>>>>>On 6/6/23 18:15, Randolph Sapp via lists.yoctoproject.org wrote: > >>>>>>>On 6/6/23 17:15, Denys Dmytriyenko wrote: > >>>>>>>>On Tue, Jun 06, 2023 at 02:10:19PM -0500, [email protected] wrote: > >>>>>>>>>From: Randolph Sapp <[email protected]> > >>>>>>>>> > >>>>>>>>>Make things more readable and reliable by useing the built in boolean > >>>>>>>>>check instead of python's type casting. Drop the array > >>>>>>>>>indexing in favor > >>>>>>>>>of a more direct if else statememnt. > >>>>>>>> > >>>>>>>>Heh, it's just a matter of personal preference :) Array > >>>>>>>>indexing conditionals > >>>>>>>>is how OE used to do things from the early days and I'm well > >>>>>>>>used to that. But > >>>>>>>>these days using Python if/else directly gained lots of > >>>>>>>>traction, so why not? > >>>>>>>> > >>>>>>>> > >>>>>>>>>Also fix the virtual provider for login manager. There > >>>>>>>>>should only be 1 > >>>>>>>>>login provider and it should be shadow-base for systemd > >>>>>>>>>*or* busybox for > >>>>>>>>>sysVinit systemd. > >>>>>>>>> > >>>>>>>>>Also explicitly remove the sysvinit distro feature if ARAGO_SYSVINIT > >>>>>>>>>isn't set, because whatever arago inherits expects sysvinit for some > >>>>>>>>>reason. This should fix the duplicate init.d and systemd service > >>>>>>>>>files > >>>>>>>>>we've been seeing. > >>>>>>>> > >>>>>>>>How much testing have you done with this change? > >>>>>>>> > >>>>>>>>The reason it was done this way is because many packages only provided > >>>>>>>>sysvinit rc scripts and not systemd unit files and we were relying on > >>>>>>>>systemd-sysv-generator to handle those, which has dependency > >>>>>>>>on "sysvinit" > >>>>>>>>PACKAGECONFIG and DISTRO_FEATURES. There were fixes to > >>>>>>>>handle duplications > >>>>>>>>when both sysvinit rc script and systemd unit file are > >>>>>>>>provided by a package > >>>>>>>>and install only one of them. It was better than not having > >>>>>>>>any startup script > >>>>>>>>for a package at all. > >>>>>>>> > >>>>>>> > >>>>>>>Everything in the layers below us provides both from > >>>>>>>everything I've seen. The only incompliant layers are > >>>>>>>meta-arago and maybe something in meta-ti still expecting > >>>>>>>sysVinit scripts. > >>>>>>> > >>>>>>>If you set both sysVinit and systemd as a distro feature it > >>>>>>>actually *confuses* core packages and they end up shipping > >>>>>>>both, which clash. Systemd typically just resolves this by > >>>>>>>forcing everything with a sysvinit script into the sysvinit > >>>>>>>compatibility stage leading to increased boot time because > >>>>>>>that's all still serialized. > >>>>>>> > >>>>>> > >>>>>>If there are any packages still not compliant that you can find, > >>>>>>tell me and I will fix them myself. Seeing mix-matched sysVinit > >>>>>>and systemd scripts in the same target makes me irrationally > >>>>>>angry. > >>>>> > >>>>>Uh oh... This patch causes tisdk-tiny-image.bb and > >>>>>tisdk-bootstrap-image.bb to fail: > >>>>> > >>>>>ERROR: Nothing RPROVIDES 'packagegroup-arago-sysvinit-boot' > >>>>> > >>>>>I think, if I remember correctly, sysvinit was chosen because of a > >>>>>requirement on the size of the image. systemd made the rootfs too > >>>>>big to fit within the constraints. > >>> > >>>Ah, indeed, that was another reason systemd and sysvinit had to be both > >>>enabled in the DISTRO_FEATURES... > >>> > >>> > >>>>>Nishanth might have more details if you want to debate it. But > >>>>>there is an internal Confluence page that lists all of the Ease of > >>>>>Use requirement JIRAs. > >>>>> > >>>>>No one is opposed to moving away from sysvinit, but we need to > >>>>>make sure that we are meeting that requirement. > >>>>> > >>>> > >>>>That's fair. I assumed our sysvinit build images were setting the > >>>>ARAGO_SYSVINIT variable as part of their base config (or at least > >>>>something similar). > >>> > >>>ARAGO_SYSVINIT flag controls init selection for the main images (default, > >>>base, thinlinux...), but tiny and bootstrap images ignore it and directly > >>>pull in SysVinit regardless of the selection. > >>> > >> > >>Default, base, thinlinux, etc.. are rather large images, not sure what > >>is gained from SysVinit. > > > >What is gained is flexibility. When switching to systemd, some customers > >still > >wanted to be able to use SysVinit. Not sure if that's still the case though. > > > > If they want to use sysvinit, then they can modify the distro configs. > > > > >>And for the super small bring-up images like > >>bootstrap, we use very little from meta-arago. Would it make more sense > >>to move those bring-up images out of Arago? Maybe have a small bring-up- > >>distro layer. Having a distro be both systemd and sysvinit is odd.. > > > >That would require to build those images separately from the rest of the > >images and from bundling everything into a single TI SDK tarball. I.e. a > >multi-step process - build one set of images with one distro, then the > >rest with a different distro, plus package a bundle tarball. And that will > >result in a very poor package re-use between the images and 2 flows, since > >distro-level config changes pretty much invalidate most of shared state... > > > > Then lets not ship those bring-up images with the SDK tarball then. Those > are development images, so we should assume folks using them know how to > build OE. > > I feel like I've suggested this before, I cant figure out what half > our images are for as is, maybe we try to cut down the number. We could > also name them to match Ubuntu as the 3 we need have similar uses: > > * tisdk-default -> Desktop > * tisdk-base -> Server > * tisdk-thinlinux -> IoT
We've been back and forth on this - the number of images grew over time, so several years ago we simplified and renamed them and got down to 3 (and there should still be internal Confluence pages with that effort, justification and reasoning): tisdk-default tisdk-base tisdk-tiny Then later few more were added - thinlinux, bootstrap and bootstrap-base, and there's jailhouse one in the works. I agree there should be better re-use... -- Denys -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14599): https://lists.yoctoproject.org/g/meta-arago/message/14599 Mute This Topic: https://lists.yoctoproject.org/mt/99370291/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/leave/10763299/21656/89520264/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
