On Thu, Oct 12, 2023 at 7:02 PM Joshua Watt <[email protected]> wrote:

>
>
> On Thu, Oct 12, 2023, 4:39 PM Bruce Ashfield <[email protected]>
> wrote:
>
>>
>>
>> On Thu, Oct 12, 2023 at 6:09 PM Joshua Watt <[email protected]> wrote:
>>
>>> On Thu, Oct 12, 2023 at 11:25 AM Bruce Ashfield
>>> <[email protected]> wrote:
>>> >
>>> >
>>> >
>>> > On Thu, Oct 12, 2023 at 1:23 PM Bruce Ashfield via
>>> lists.yoctoproject.org <[email protected]>
>>> wrote:
>>> >>
>>> >>
>>> >>
>>> >> On Thu, Oct 12, 2023 at 12:52 PM Joshua Watt <[email protected]>
>>> wrote:
>>> >>>
>>> >>> The "entrypoint arguments" (command) is allowed to be a list of
>>> >>> arguments to pass to the entrypoint. However, the current
>>> >>> OCI_IMAGE_ENTRYPOINT_ARGS variables doesn't support however. In
>>> order to
>>> >>> maintain backward compatibility, a new variable has to be introduced
>>> to
>>> >>> that can be split into the multiple arguments required
>>> >>>
>>> >>
>>> >> I haven't looked in detail, but the original intent of that variable
>>> IS to have more than
>>> >> one argument. I was just the only current user of them, and only had
>>> one argument
>>> >> that needed to be passed.
>>> >>
>>> >> I'd rather not have a new variable, but just change the processing to
>>> do 1 or more
>>> >> arguments in the existing variable.
>>> >>
>>> >
>>> > Which if I'm not mistaken, is your first patch :)
>>>
>>> Almost. The first patch does it for OCI_IMAGE_ENTRYPOINT. That one is
>>> straight forward because there is no backward compatible problem. The
>>> second one (this one) does it for
>>> OCI_IMAGE_ENTRYPOINT_ARGS, which is trickier because if we make it
>>> behave the same as OCI_IMAGE_ENTRYPOINT it will break anyone who is
>>> currently relying on a space in OCI_IMAGE_ENTRYPOINT_ARGS to be passed
>>> verbatim to their entrypoint (hence my tentative suggestion to add a
>>> new variable). I'd be fine with just make OCI_IMAGE_ENTRYPOINT_ARGS
>>> split on space if that was the original intention (I can even roll it
>>> into the previous patch if you want and make it do both variables at
>>> the same time).
>>>
>>
>> That's sort of my point.
>>
>> The entry point can just be the executable, and this variable is supposed
>> to be the arguments.
>>
>> So no arguments should be passed via that first variable, but should be
>> in this one. We can have the split and processing here, and check and
>> forbid it in the first variable. It shouldn't be in both.
>>
>
> I've made plenty of container images where ENTRYPOINT had multiple
> arguments; the trivial example is ["/usr/bin/python3", "my script"]. Sure,
> you can do it other ways (e.g. a proxy shell script.... Which then means
> your container needs a shell), but restricting that as an option doesn't
> seem necessary?
>
>
Sure, but I'm saying put that "my script" in the args variable, that's
exactly what I added it for.

Bruce



>
>
>> Bruce
>>
>>
>>>
>>> >
>>> > Bruce
>>> >
>>> >
>>> >>
>>> >> I'll also have to figure out how to make the sloci backend work, but
>>> that's a different
>>> >> question.
>>> >>
>>> >> Bruce
>>> >>
>>> >>
>>> >>>
>>> >>> Signed-off-by: Joshua Watt <[email protected]>
>>> >>> ---
>>> >>>  classes/image-oci-umoci.inc | 3 +++
>>> >>>  classes/image-oci.bbclass   | 1 +
>>> >>>  2 files changed, 4 insertions(+)
>>> >>>
>>> >>> diff --git a/classes/image-oci-umoci.inc
>>> b/classes/image-oci-umoci.inc
>>> >>> index 6c7f244..da93570 100644
>>> >>> --- a/classes/image-oci-umoci.inc
>>> >>> +++ b/classes/image-oci-umoci.inc
>>> >>> @@ -103,6 +103,9 @@ IMAGE_CMD:oci() {
>>> >>>      if [ -n "${OCI_IMAGE_ENTRYPOINT_ARGS}" ]; then
>>> >>>         umoci config --image $image_name:${OCI_IMAGE_TAG}
>>> --config.cmd "${OCI_IMAGE_ENTRYPOINT_ARGS}"
>>> >>>      fi
>>> >>> +    if [ -n "${OCI_IMAGE_ENTRYPOINT_ARG_LIST}" ]; then
>>> >>> +       umoci config --image $image_name:${OCI_IMAGE_TAG} ${@"
>>> ".join("--config.cmd %s" % s for s in
>>> d.getVar("OCI_IMAGE_ENTRYPOINT_ARG_LIST").split())}
>>> >>> +    fi
>>> >>>      umoci config --image $image_name:${OCI_IMAGE_TAG} --author
>>> ${OCI_IMAGE_AUTHOR_EMAIL}
>>> >>>
>>> >>>      # make a tar version of the image direcotry
>>> >>> diff --git a/classes/image-oci.bbclass b/classes/image-oci.bbclass
>>> >>> index 9ddb88b..68045ad 100644
>>> >>> --- a/classes/image-oci.bbclass
>>> >>> +++ b/classes/image-oci.bbclass
>>> >>> @@ -57,6 +57,7 @@ OCI_IMAGE_SUBARCH ?=
>>> "${@oci_map_subarch(d.getVar('TARGET_ARCH'), d.getVar('TUNE
>>> >>>
>>> >>>  OCI_IMAGE_ENTRYPOINT ?= "sh"
>>> >>>  OCI_IMAGE_ENTRYPOINT_ARGS ?= ""
>>> >>> +OCI_IMAGE_ENTRYPOINT_ARG_LIST ?=""
>>> >>>  OCI_IMAGE_WORKINGDIR ?= ""
>>> >>>  OCI_IMAGE_STOPSIGNAL ?= ""
>>> >>>
>>> >>> --
>>> >>> 2.34.1
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>
>>> >>
>>> >> --
>>> >> - Thou shalt not follow the NULL pointer, for chaos and madness await
>>> thee at its end
>>> >> - "Use the force Harry" - Gandalf, Star Trek II
>>> >>
>>> >>
>>> >> 
>>> >>
>>> >
>>> >
>>> > --
>>> > - Thou shalt not follow the NULL pointer, for chaos and madness await
>>> thee at its end
>>> > - "Use the force Harry" - Gandalf, Star Trek II
>>> >
>>>
>>
>>
>> --
>> - Thou shalt not follow the NULL pointer, for chaos and madness await
>> thee at its end
>> - "Use the force Harry" - Gandalf, Star Trek II
>>
>>

-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#8359): 
https://lists.yoctoproject.org/g/meta-virtualization/message/8359
Mute This Topic: https://lists.yoctoproject.org/mt/101922305/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/meta-virtualization/leave/6693005/21656/1014668956/xyzzy
 [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to