I haven't forgotten about this. I've just been tied up with some other issues, and will get a test setup for this and see what I can find.
Bruce In message: [meta-virtualization] classes/image-oci-sloci-image: Allow labels to have spaces on 12/11/2024 Simon Kaiser via lists.yoctoproject.org wrote: > Hi all, > > I tried to use the sloci-image as backend for the container-base.bb recipe. > Everything works fine until I want to use spaces in the labels. > > My setup is only using the poky(Tag: yocto-5.0.4), > meta-virtualization(Branch: scarthgap) and my meta-custom with a single > bbappend of container-base to reproduce this behaviour. > > meta-custom/recipes-extended/images/container-base.bbapend: > OCI_IMAGE_BACKEND = "sloci-image" > OCI_IMAGE_LABELS = "key=value key1=value1 key2='value 2'" > > I quoted the space in the variable like described by this patch for the umoci > backend: > https://lists.yoctoproject.org/g/meta-virtualization/topic/102005707#msg8391 > > The variable oci_image_label_options contains corretly 3 --label with the > expected key-value pair. > https://git.yoctoproject.org/meta-virtualization/tree/classes/image-oci-sloci-image.inc#n25 > > So I decided to add double quotes to the variable to keep the space inside > the variable: > diff --git a/classes/image-oci-sloci-image.inc > b/classes/image-oci-sloci-image.inc > index 9248489f..ec98e462 100644 > --- a/classes/image-oci-sloci-image.inc > +++ b/classes/image-oci-sloci-image.inc > @@ -22,7 +22,7 @@ IMAGE_CMD:oci() { > oci_image_label_options="" > if [ -n "${OCI_IMAGE_LABELS}" ]; then > for l in ${OCI_IMAGE_LABELS}; do > - oci_image_label_options="${oci_image_label_options} --label ${l}" > + oci_image_label_options="${oci_image_label_options} --label > \"${l}\"" > done > fi > oci_image_env_options="" > > For debugging purpose I printed the whole command from > classes/image-oci-sloci-image.inc and printed the incoming parameters from > the sloci-image script. > > First I run my changes with the bitbake command: > build$ bitbake container-base -k > ... > sloci-image --tar --arch amd64 --arch-variant "" --entrypoint sh --cmd "" > --author oe.patch@oe --label "key=value" --label "key1=value1" --label > "key2=value 2" > ${TOPDIR}/tmp/work/qemux86_64-poky-linux/container-base/1.0/rootfs > container-base-qemux86-64.rootfs-20241104125622.rootfs-oci:latest > Amount: 20 > Value: --tar - --arch > Value: --arch - amd64 > Value: --arch-variant - > Value: --entrypoint - sh > Value: --cmd - > Value: --author - oe.patch@oe > Value: --label - "key=value" > Value: --label - "key1=value1" > Value: --label - "key2=value > Value: 2" - > ${TOPDIR}/build/tmp/work/qemux86_64-poky-linux/container-base/1.0/rootfs > Usage: > sloci-image [options] ROOTFS NAME[:TAG] > sloci-image [-h -V] > > Create a single-layer OCI image with the given rootfs. > ... > > The space by "key2=value 2" causes an line break after the space so the > key-value pair is splitted and 2 will be misinterpreted as ROOTFS from the > script sloci-image. > > For further investigation I used the devtool to call that script manually. > build$ devtool modify sloci-image-native > ... > build/workspace/sources/sloci-image-native$ ./sloci-image --tar --arch amd64 > --arch-variant "" --entrypoint sh --cmd "" --author oe.patch@oe --label > "key=value" --label "key1=value1" --label "key2=value 2" > ${TOPDIR}/build/tmp/work/qemux86_64-poky-linux/container-base/1.0/rootfs > container-base-qemux86-64.rootfs-20241104125622.rootfs-oci:latest > Amount: 19 > Value: --tar - --arch > Value: --arch - amd64 > Value: --arch-variant - > Value: --entrypoint - sh > Value: --cmd - > Value: --author - oe.patch@oe > Value: --label - key=value > Value: --label - key1=value1 > Value: --label - key2=value 2 > Value: > ${TOPDIR}/build/tmp/work/qemux86_64-poky-linux/container-base/1.0/rootfs - > container-base-qemux86-64.rootfs-20241104125622.rootfs-oci:latest > > The manual call of sloci-image works fine, so the issue must be in > meta-virtualization/classes/image-oci-sloci-image.inc. > Can anybody help me with this issue? > > > Best regards > Simon Kaiser > PLCnext System Functions > Business Area Industry Management and Automation > > Phone: +49 5281 946-1517 > mailto: [email protected] > > PHOENIX CONTACT ELECTRONICS GmbH > Dringenauer Straße 30 > 31812 Bad Pyrmont, Germany > www.phoenixcontact.com > > > > .................................................................. > PHOENIX CONTACT ELECTRONICS GmbH > > Sitz der Gesellschaft / registered office of the company: 31812 Bad Pyrmont > USt-Id-Nr.: DE811742156 > Amtsgericht Hannover HRB 100528 / district court Hannover HRB 100528 > Geschäftsführer / Executive Board: Hans-Jürgen Koch, Dr. Martin Wetter > __________________________________________________________________ > Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte > Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail > irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und > vernichten Sie diese Mail. Das unerlaubte Kopieren, jegliche anderweitige > Verwendung sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. > ---------------------------------------------------------------------------------------------------- > This e-mail may contain confidential and/or privileged information. If you > are not the intended recipient (or have received this e-mail in error) please > notify the sender immediately and destroy this e-mail. Any unauthorized > copying, disclosure, distribution or other use of the material or parts > thereof is strictly forbidden. > ___________________________________________________________________ > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8990): https://lists.yoctoproject.org/g/meta-virtualization/message/8990 Mute This Topic: https://lists.yoctoproject.org/mt/109535848/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
