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]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to