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. > 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... -- Denys -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14594): https://lists.yoctoproject.org/g/meta-arago/message/14594 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]] -=-=-=-=-=-=-=-=-=-=-=-
