All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ryan Eatmon <reatmon@ti.com>
To: Bin Liu <b-liu@ti.com>, Denys Dmytriyenko <denis@denix.org>
Cc: Chirag Shilwant <c-shilwant@ti.com>,
	Praneeth Bajjuri <praneeth@ti.com>,
	Denys Dmytriyenko <denys@konsulko.com>,
	<meta-arago@lists.yoctoproject.org>
Subject: Re: [meta-arago][master/kirkstone][PATCH 1/2] tisdk-sw-manifest: Add code to not fail on tar error
Date: Wed, 8 Nov 2023 08:12:27 -0600	[thread overview]
Message-ID: <bcbfaff6-dafa-4aad-9ae1-a8bbcc3ef610@ti.com> (raw)
In-Reply-To: <20231107221944.dybbybpqvwj54kl4@iaqt7>



On 11/7/2023 4:19 PM, Bin Liu wrote:
> Hi,
> 
> On Fri, Nov 03, 2023 at 05:17:45PM -0400, Denys Dmytriyenko wrote:
>> On Fri, Nov 03, 2023 at 11:18:31AM -0500, Ryan Eatmon via lists.yoctoproject.org wrote:
>>>
>>>
>>> On 11/2/2023 3:37 PM, Bin Liu wrote:
>>>> Hi,
>>>>
>>>> On Thu, Nov 02, 2023 at 05:18:21PM +0530, Chirag Shilwant wrote:
>>>>> Hi Ryan,
>>>>>
>>>>> On 31/10/23 21:29, Ryan Eatmon via lists.yoctoproject.org wrote:
>>>>>>
>>>>>>
>>>>>> On 10/31/2023 10:44 AM, Denys Dmytriyenko wrote:
>>>>>>> On Tue, Oct 31, 2023 at 09:04:32AM -0500, Ryan Eatmon via
>>>>>>> lists.yoctoproject.org wrote:
>>>>>>>> We want to add an image into the core bundle, but that image does not
>>>>>>>> have any opkg .control files.  tar apparently errors out if you ask it
>>>>>>>> to extract out files but the files are not in the archive, and the
>>>>>>>> recipes are setup that if any of the commands in the shell error out,
>>>>>>>> then the entire recipe fails.
>>>>>>>>
>>>>>>>> Simple fix, add an || (or) condition to the tar command to print a
>>>>>>>> message that there were not any control files instead of erroring out.
>>>>>>>
>>>>>>> So, simply bypassing tar error due to missing *.control files still
>>>>>>> won't
>>>>>>> enable you to properly generate the SW manifest. As those *.control
>>>>>>> files
>>>>>> >from individual packages are parsed to extract the license information.
>>>>>>> And they are missing because tiny image specifically disables "package
>>>>>>> management" to save on space. Therefore tiny image was not included in
>>>>>>> the bundle, since it doesn't generate the SW manifest.
>>>>>>
>>>>>> And this is why I sent the patch in rather than just taking it. This
>>>>>> patch was a response to Chirag running in the above error when trying to
>>>>>> add the tiny image into the core bundle in the processor sdk.
>>>>>>
>>>>>> So, why do we want to add tiny to the bundle?
>>>>>
>>>>>
>>>>> We got a requirement from Bin Liu to add tiny-image in
>>>>> /board-support/prebuilt-images/ of the SDK bundle.
>>>>> I'm not sure about the "why do we want it to the bundle" part. Adding Bin to
>>>>> provide more insights on the requirement part.
>>>>
>>>> The tiny image is very small and uses SysVInit. It has been used in many
>>>> use cases, initramfs is the most important one as far as I am aware.
>>>
>>>
>>> All of the images now use systemd.
>>
>> Correction - all of the images in a single build use the same init manager,
>> which by default is systemd.
> 
> systermd or sysvinit is not a concern, as long as there is a "tiny"
> image for initramfs use cases.
> 
>>
>> There used to be a hack that would force tiny image to use SysVinit, even
>> when other images use systemd. It was non-standard and problematic, so was
>> removed recently.
>>
>> There is still a way to control init manager for all Arago images by setting
>> ARAGO_SYSVINIT="1" or more directly INIT_MANAGER="sysvinit". But that would
>> affect all images, not just tiny.
>>
>> And if you really want tiny to use SysVinit and other images to use systemd,
>> you have to build them separately and you cannot have tiny in tisdk bundle.
>>
>> FS images in the bundle.
>>> The issue comes down to license compliance.  The core bundle has the
>>> requirement to produce a software license manifest for all of the
>>> items within the image.  That manifest is generated off of the opkg
>>> control files.  But the tiny image does not have opkg installed as
>>> it is not needed for the purpose of that image.  So we cannot gather
>>> the manifest information from the tiny image.
>>>
>>> So we have an impossible situation here.  We cannot include the tiny
>>> image without violation the manifest requirement.  And given that
>>> the tiny image is mainly meant for wakeup efforts, I don't see a
>>> need to include it in the bundle.  If someone wants the tiny image,
> 
> I guess by "wakeup efforts" you meant TI internal consumption? No,
> customers often used it for custom board bringup. The importance has no
> difference from the "tiny" image to other
> 
> -Bin.

The issue is not if customers find the image useful, the issue is 
license reporting compliance we have for including the prebuilt image as 
part of the core-bundle.  Since we cannot auto generate the license 
manifest since our code uses the opkg framework to extract that info, we 
cannot generate the license manifest for the tiny image.

A new system for correctly generating the license manifest would have to 
be devised to support this request.  At this time, we cannot include the 
tiny image in the core-bundle.  A must larger effort to revamp the 
manifest code would have be done to correctly fulfill this corporate 
requirement.

And there is nothing stopping a customer from setting up a yocto build 
and running:

MACHINE=????? bitbake tisdk-tiny-image

We just cannot, currently, do it for them and include it in the prebuilt 
bundle.



>>> they can always run bitbake and generate it.  It should not take
>>> that much time given that it contains almost no packages within it.
>>>
>>>
>>>> -Bin.
>>>>
>>>>>
>>>>> Regards,
>>>>> Chirag
>>>>>
>>>>>>    Since tiny should be a subset of the other images, is there anything
>>>>>> not covered in the software manifest that should prevent this patch?
>>>>>>
>>>>>>>
>>>>>>>> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
>>>>>>>> ---
>>>>>>>>    meta-arago-distro/classes/tisdk-sw-manifest.bbclass | 4 ++--
>>>>>>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/meta-arago-distro/classes/tisdk-sw-manifest.bbclass
>>>>>>>> b/meta-arago-distro/classes/tisdk-sw-manifest.bbclass
>>>>>>>> index 14d14f08..b9c63610 100644
>>>>>>>> --- a/meta-arago-distro/classes/tisdk-sw-manifest.bbclass
>>>>>>>> +++ b/meta-arago-distro/classes/tisdk-sw-manifest.bbclass
>>>>>>>> @@ -405,10 +405,10 @@ sw_manifest_target() {
>>>>>>>>            # Only extract tar.gz or tar.bz2 types
>>>>>>>>            if [ -e
>>>>>>>> ${IMAGE_ROOTFS}/filesystem/${image}-${MACHINE}.tar.xz ]
>>>>>>>>            then
>>>>>>>> -            tar xJf
>>>>>>>> ${IMAGE_ROOTFS}/filesystem/${image}-${MACHINE}.tar.xz -C
>>>>>>>> ${IMAGE_ROOTFS}/filesystem --wildcards *.control
>>>>>>>> +            tar xJf
>>>>>>>> ${IMAGE_ROOTFS}/filesystem/${image}-${MACHINE}.tar.xz -C
>>>>>>>> ${IMAGE_ROOTFS}/filesystem --wildcards *.control || echo "No
>>>>>>>> control files found in ${image}"
>>>>>>>>            elif [ -e
>>>>>>>> ${IMAGE_ROOTFS}/filesystem/${image}-${MACHINE}.tar.gz ]
>>>>>>>>            then
>>>>>>>> -            tar xzf
>>>>>>>> ${IMAGE_ROOTFS}/filesystem/${image}-${MACHINE}.tar.gz -C
>>>>>>>> ${IMAGE_ROOTFS}/filesystem --wildcards *.control
>>>>>>>> +            tar xzf
>>>>>>>> ${IMAGE_ROOTFS}/filesystem/${image}-${MACHINE}.tar.gz -C
>>>>>>>> ${IMAGE_ROOTFS}/filesystem --wildcards *.control || echo "No
>>>>>>>> control files found in ${image}"
>>>>>>>>            fi
>>>>>>>>        done
>>>>>>>>    --
>>>>>>>> 2.17.1
>>>>>>

-- 
Ryan Eatmon                reatmon@ti.com
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS


  reply	other threads:[~2023-11-08 14:12 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-31 14:04 [meta-arago][master/kirkstone][PATCH 1/2] tisdk-sw-manifest: Add code to not fail on tar error Ryan Eatmon
2023-10-31 14:04 ` [meta-arago][master/kirkstone][PATCH 2/2] tisdk-core-bundle: Add the tiny image into the core bundle Ryan Eatmon
2023-10-31 15:44 ` [meta-arago][master/kirkstone][PATCH 1/2] tisdk-sw-manifest: Add code to not fail on tar error Denys Dmytriyenko
2023-10-31 15:59   ` Ryan Eatmon
2023-10-31 19:03     ` Denys Dmytriyenko
2023-11-02 11:48     ` [EXTERNAL] " Chirag Shilwant
2023-11-02 20:37       ` Bin Liu
2023-11-03 13:54         ` Bin Liu
2023-11-03 14:25         ` [EXTERNAL] " Bin Liu
2023-11-03 16:18         ` Ryan Eatmon
2023-11-03 21:17           ` Denys Dmytriyenko
2023-11-07 22:19             ` Bin Liu
2023-11-08 14:12               ` Ryan Eatmon [this message]
2023-11-08 14:21                 ` Bin Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcbfaff6-dafa-4aad-9ae1-a8bbcc3ef610@ti.com \
    --to=reatmon@ti.com \
    --cc=b-liu@ti.com \
    --cc=c-shilwant@ti.com \
    --cc=denis@denix.org \
    --cc=denys@konsulko.com \
    --cc=meta-arago@lists.yoctoproject.org \
    --cc=praneeth@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.