[meta-virtualization] [PATCH] lxc: warning fixes in busybox template

Bruce Ashfield bruce.ashfield at gmail.com
Tue Mar 29 09:37:41 PDT 2016


On Fri, Mar 25, 2016 at 4:12 AM, Bogdan Purcareata <
bogdan.purcareata at nxp.com> wrote:

> Warnings fixes:
> - optional mounts when dirs not available
> - busybox dynamically linked
> - fstab not available in container
>
> Please apply on master and jethro branches.
>

merged.

Bruce


>
> Signed-off-by: Bogdan Purcareata <bogdan.purcareata at nxp.com>
> ---
>  ...-Remove-warning-for-dynamically-linked-Bu.patch | 43
> +++++++++++++++++++
>  ...x-Touch-etc-fstab-in-the-container-rootfs.patch | 30 +++++++++++++
>  ...t_symlink-Don-t-SYSERROR-on-something-els.patch | 49
> ++++++++++++++++++++++
>  recipes-containers/lxc/lxc_1.1.4.bb                |  3 ++
>  4 files changed, 125 insertions(+)
>  create mode 100644
> recipes-containers/lxc/files/lxc-busybox-Remove-warning-for-dynamically-linked-Bu.patch
>  create mode 100644
> recipes-containers/lxc/files/lxc-busybox-Touch-etc-fstab-in-the-container-rootfs.patch
>  create mode 100644
> recipes-containers/lxc/files/open_without_symlink-Don-t-SYSERROR-on-something-els.patch
>
> diff --git
> a/recipes-containers/lxc/files/lxc-busybox-Remove-warning-for-dynamically-linked-Bu.patch
> b/recipes-containers/lxc/files/lxc-busybox-Remove-warning-for-dynamically-linked-Bu.patch
> new file mode 100644
> index 0000000..c0a810b
> --- /dev/null
> +++
> b/recipes-containers/lxc/files/lxc-busybox-Remove-warning-for-dynamically-linked-Bu.patch
> @@ -0,0 +1,43 @@
> +From 07e4c41f2963d73b9aedd552c74f17a33e89f020 Mon Sep 17 00:00:00 2001
> +From: Bogdan Purcareata <bogdan.purcareata at nxp.com>
> +Date: Thu, 24 Mar 2016 11:54:27 +0000
> +Subject: [PATCH] lxc-busybox: Remove warning for dynamically linked
> Busybox
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +The warning has been present since commit 32b37181ea (with no purpose
> stated).
> +Support for dynamically linked Busybox has been added since commit
> bf6cc73696.
> +Haven't encountered any issues with dynamically linked Busybox in my last
> +2 years' testing.
> +
> +Upstream-status: Accepted
> +[
> https://github.com/lxc/lxc/commit/07e4c41f2963d73b9aedd552c74f17a33e89f020
> ]
> +
> +Signed-off-by: Bogdan Purcareata <bogdan.purcareata at nxp.com>
> +Acked-by: Stéphane Graber <stgraber at ubuntu.com>
> +---
> + templates/lxc-busybox.in | 7 -------
> + 1 file changed, 7 deletions(-)
> +
> +diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
> +index f547f9e..336fa12 100644
> +--- a/templates/lxc-busybox.in
> ++++ b/templates/lxc-busybox.in
> +@@ -304,13 +304,6 @@ configure_busybox()
> +         return 1
> +     fi
> +
> +-    file -L $(which busybox) | grep -q "statically linked"
> +-    if [ $? -ne 0 ]; then
> +-        echo "warning : busybox is not statically linked."
> +-        echo "warning : The template script may not correctly"
> +-        echo "warning : setup the container environment."
> +-    fi
> +-
> +     # copy busybox in the rootfs
> +     cp $(which busybox) $rootfs/bin
> +     if [ $? -ne 0 ]; then
> +--
> +1.9.1
> +
> diff --git
> a/recipes-containers/lxc/files/lxc-busybox-Touch-etc-fstab-in-the-container-rootfs.patch
> b/recipes-containers/lxc/files/lxc-busybox-Touch-etc-fstab-in-the-container-rootfs.patch
> new file mode 100644
> index 0000000..33862dd
> --- /dev/null
> +++
> b/recipes-containers/lxc/files/lxc-busybox-Touch-etc-fstab-in-the-container-rootfs.patch
> @@ -0,0 +1,30 @@
> +From 6ab1ca0375feeb00070f0c0f9186551b08b1ee5e Mon Sep 17 00:00:00 2001
> +From: Bogdan Purcareata <bogdan.purcareata at nxp.com>
> +Date: Tue, 22 Mar 2016 13:33:57 +0000
> +Subject: [PATCH] lxc-busybox: Touch /etc/fstab in the container rootfs
> +
> +Upstream-status: Accepted
> +[
> https://github.com/lxc/lxc/commit/6ab1ca0375feeb00070f0c0f9186551b08b1ee5e
> ]
> +
> +Signed-off-by: Bogdan Purcareata <bogdan.purcareata at nxp.com>
> +---
> + templates/lxc-busybox.in | 3 +++
> + 1 file changed, 3 insertions(+)
> +
> +diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
> +index c020e66..f547f9e 100644
> +--- a/templates/lxc-busybox.in
> ++++ b/templates/lxc-busybox.in
> +@@ -330,6 +330,9 @@ configure_busybox()
> +     # relink /sbin/init
> +     ln $rootfs/bin/busybox $rootfs/sbin/init
> +
> ++    # /etc/fstab must exist for "mount -a"
> ++    touch $rootfs/etc/fstab
> ++
> +     # passwd exec must be setuid
> +     chmod +s $rootfs/bin/passwd
> +     touch $rootfs/etc/shadow
> +--
> +1.9.1
> +
> diff --git
> a/recipes-containers/lxc/files/open_without_symlink-Don-t-SYSERROR-on-something-els.patch
> b/recipes-containers/lxc/files/open_without_symlink-Don-t-SYSERROR-on-something-els.patch
> new file mode 100644
> index 0000000..098ead7
> --- /dev/null
> +++
> b/recipes-containers/lxc/files/open_without_symlink-Don-t-SYSERROR-on-something-els.patch
> @@ -0,0 +1,49 @@
> +From 88e078ba865b675f9a0dc61caa0732d7052593f8 Mon Sep 17 00:00:00 2001
> +From: Christian Brauner <christian.brauner at mailbox.org>
> +Date: Wed, 23 Mar 2016 16:37:09 +0100
> +Subject: [PATCH] open_without_symlink: Don't SYSERROR on something else
> than
> + ELOOP
> +
> +The open_without_symlink routine has been specifically created to prevent
> +mounts with synlinks as source or destination. Keep SYSERROR'ing in that
> +particular scenario, but leave error handling to calling functions for the
> +other ones - e.g. optional bind mount when the source dir doesn't exist
> +throws a nasty error.
> +
> +Upstream-status: Accepted
> +[
> https://github.com/lxc/lxc/commit/88e078ba865b675f9a0dc61caa0732d7052593f8
> ]
> +
> +Signed-off-by: Bogdan Purcareata <bogdan.purcareata at nxp.com>
> +---
> + src/lxc/utils.c | 7 ++++---
> + 1 file changed, 4 insertions(+), 3 deletions(-)
> +
> +diff --git a/src/lxc/utils.c b/src/lxc/utils.c
> +index 6bee698..8e7ebbc 100644
> +--- a/src/lxc/utils.c
> ++++ b/src/lxc/utils.c
> +@@ -1621,8 +1621,6 @@ static int open_without_symlink(const char *target,
> const char *prefix_skip)
> +                       errno = saved_errno;
> +                       if (errno == ELOOP)
> +                               SYSERROR("%s in %s was a symbolic link!",
> nextpath, target);
> +-                      else
> +-                              SYSERROR("Error examining %s in %s",
> nextpath, target);
> +                       goto out;
> +               }
> +       }
> +@@ -1667,8 +1665,11 @@ int safe_mount(const char *src, const char *dest,
> const char *fstype,
> +
> +       destfd = open_without_symlink(dest, rootfs);
> +       if (destfd < 0) {
> +-              if (srcfd != -1)
> ++              if (srcfd != -1) {
> ++                      saved_errno = errno;
> +                       close(srcfd);
> ++                      errno = saved_errno;
> ++              }
> +               return destfd;
> +       }
> +
> +--
> +1.9.1
> +
> diff --git a/recipes-containers/lxc/lxc_1.1.4.bb b/recipes-containers/lxc/
> lxc_1.1.4.bb
> index e017dcf..2645f4b 100644
> --- a/recipes-containers/lxc/lxc_1.1.4.bb
> +++ b/recipes-containers/lxc/lxc_1.1.4.bb
> @@ -37,6 +37,9 @@ SRC_URI = "
> http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
>         file://open_without_symlink-Account-when-prefix-is-empty-st.patch \
>         file://lxc_setup_fs-Create-dev-shm-folder-if-it-doesn-t-exi.patch \
>         file://mount_proc_if_needed-only-safe-mount-when-rootfs-is-.patch \
> +       file://open_without_symlink-Don-t-SYSERROR-on-something-els.patch \
> +       file://lxc-busybox-Touch-etc-fstab-in-the-container-rootfs.patch \
> +       file://lxc-busybox-Remove-warning-for-dynamically-linked-Bu.patch \
>         "
>
>  SRC_URI[md5sum] = "d33c4bd9c57755c0e2b0e2acbc3f171d"
> --
> 1.9.1
>
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
>
>


-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20160329/e5bda94b/attachment.html>


More information about the meta-virtualization mailing list