[meta-virtualization] [PATCHv3 04/14] Added lxc recipe

Bruce Ashfield bruce.ashfield at gmail.com
Thu Dec 6 06:15:12 PST 2012


On Thu, Dec 6, 2012 at 9:03 AM, <david.c.nystrom at gmail.com> wrote:

> From: David Nyström <david.nystrom at enea.com>
>
> ---
>  recipes-containers/lxc/files/libmounts.patch  |   48
> +++++++++++++++++++++++++
>  recipes-containers/lxc/files/noldconfig.patch |   29 +++++++++++++++
>  recipes-containers/lxc/lxc_0.8.0.bb           |   39 ++++++++++++++++++++
>  3 files changed, 116 insertions(+)
>  create mode 100644 recipes-containers/lxc/files/libmounts.patch
>  create mode 100644 recipes-containers/lxc/files/noldconfig.patch
>  create mode 100644 recipes-containers/lxc/lxc_0.8.0.bb
>
> diff --git a/recipes-containers/lxc/files/libmounts.patch
> b/recipes-containers/lxc/files/libmounts.patch
> new file mode 100644
> index 0000000..7e092f1
> --- /dev/null
> +++ b/recipes-containers/lxc/files/libmounts.patch
> @@ -0,0 +1,48 @@
> +From dfef62f0334c65397254215f809a8f25364ea6ef Mon Sep 17 00:00:00 2001
> +From: Stuart Yoder <stuart.yoder at freescale.com>
> +Date: Wed, 12 Sep 2012 11:05:07 -0500
> +Subject: [PATCH] create lib mounts only if the host directories exist
> +
>

Is the source of the lxc recipe the meta-fsl layers ? If so, it's always a
good idea
to provide a reference to the original recipe (or layer) in the commit
message or
even in the patch itself. It serves to give credit and help people trace
the history
of a particular recipe.

Cheers,

Bruce


> +Signed-off-by: Stuart Yoder <stuart.yoder at freescale.com>
> +---
> + templates/lxc-busybox.in |   24 +++++++++++-------------
> + 1 file changed, 11 insertions(+), 13 deletions(-)
> +
> +diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
> +index 720ceef..f6cb1ba 100644
> +--- a/templates/lxc-busybox.in
> ++++ b/templates/lxc-busybox.in
> +@@ -235,19 +235,17 @@ lxc.pts = 1
> + lxc.rootfs = $rootfs
> + EOF
> +
> +-if [ -d "$rootfs/lib" ]; then
> +-cat <<EOF >> $path/config
> +-lxc.mount.entry=/lib $rootfs/lib none ro,bind 0 0
> +-lxc.mount.entry=/usr/lib $rootfs/usr/lib none ro,bind 0 0
> +-EOF
> +-fi
> +-
> +-if [ -d "/lib64" ] && [ -d "$rootfs/lib64" ]; then
> +-cat <<EOF >> $path/config
> +-lxc.mount.entry=/lib64 $rootfs/lib64 none ro,bind 0 0
> +-lxc.mount.entry=/usr/lib64 $rootfs/usr/lib64 none ro,bind 0 0
> +-EOF
> +-fi
> ++    libdirs="\
> ++        /lib \
> ++        /usr/lib \
> ++        /lib64 \
> ++        /usr/lib64"
> ++
> ++    for dir in $libdirs; do
> ++        if [ -d $dir ]; then
> ++            echo "lxc.mount.entry=$dir $rootfs$dir none ro,bind 0 0" >>
> $path/config
> ++        fi
> ++    done
> + }
> +
> + usage()
> +--
> +1.7.9.7
> +
> diff --git a/recipes-containers/lxc/files/noldconfig.patch
> b/recipes-containers/lxc/files/noldconfig.patch
> new file mode 100644
> index 0000000..5edff46
> --- /dev/null
> +++ b/recipes-containers/lxc/files/noldconfig.patch
> @@ -0,0 +1,29 @@
> +From a8aa8d131a7140d5625c24c9f4c28c605213552c Mon Sep 17 00:00:00 2001
> +From: Andrey Mazo <ahippo at yandex.ru>
> +Date: Fri, 18 May 2012 21:11:22 +0400
> +Subject: [PATCH] Avoid ldconfig due to cross-compilation problems.
> +
> +Make required symlinks manually.
> +Otherwise, it cases problems on cbuild endianness != ctarget endianness
> +setups because /sbin/ldconfig expects elf header in the wrong endianness.
> +---
> + src/lxc/Makefile.am |    2 +-
> + 1 files changed, 1 insertions(+), 1 deletions(-)
> +
> +diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am
> +index 1c26952..3b84c1a 100644
> +--- a/src/lxc/Makefile.am
> ++++ b/src/lxc/Makefile.am
> +@@ -125,8 +125,8 @@ lxc_kill_SOURCES = lxc_kill.c
> +
> + install-exec-local: install-soPROGRAMS
> +       mv $(DESTDIR)$(libdir)/liblxc.so
> $(DESTDIR)$(libdir)/liblxc.so.$(VERSION)
> +-      /sbin/ldconfig -l $(DESTDIR)$(libdir)/liblxc.so.$(VERSION)
> +       cd $(DESTDIR)$(libdir); \
> ++      ln -sf liblxc.so.$(VERSION) liblxc.so.$(firstword $(subst .,
> ,$(VERSION))); \
> +       ln -sf liblxc.so.$(firstword $(subst ., ,$(VERSION))) liblxc.so
> +
> + uninstall-local:
> +--
> +1.7.3.4
> +
> diff --git a/recipes-containers/lxc/lxc_0.8.0.bb b/recipes-containers/lxc/
> lxc_0.8.0.bb
> new file mode 100644
> index 0000000..c662cb1
> --- /dev/null
> +++ b/recipes-containers/lxc/lxc_0.8.0.bb
> @@ -0,0 +1,39 @@
> +DESCRIPTION = "lxc aims to use these new functionnalities to provide an
> userspace container object"
> +SECTION = "console/utils"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
> +PRIORITY = "optional"
> +PR = "r2"
> +DEPENDS = "libxml2 libcap"
> +RDEPENDS_${PN} = " \
> +               rsync \
> +               gzip \
> +               libcap-bin \
> +               bridge-utils \
> +               dnsmasq \
> +               perl-module-strict \
> +               perl-module-getopt-long \
> +               perl-module-vars \
> +               perl-module-warnings-register \
> +               perl-module-exporter \
> +               perl-module-constant \
> +               perl-module-overload \
> +               perl-module-exporter-heavy \
> +"
> +
> +SRC_URI = "http://lxc.sourceforge.net/download/lxc/${PN}-${PV}.tar.gz \
> +       file://noldconfig.patch \
> +       "
> +SRC_URI[md5sum] = "7304fa57146ce687f749b5df876bb20d"
> +SRC_URI[sha256sum] =
> "eac833730b94e423d4bef6834bc4a716437d2abd6ab8b24334c506aaaa08692c"
> +
> +S = "${WORKDIR}/${PN}-${PV}"
> +
> +PACKAGECONFIG ??= ""
> +PACKAGECONFIG[doc] = "--enable-doc,--disable-doc"
> +PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath"
> +PACKAGECONFIG[apparmour] =
> "--enable-apparmor,--disable-apparmor,apparmor,apparmor"
> +
> +inherit autotools
> +
> +FILES_${PN}-dbg += "${libexecdir}/lxc/.debug"
> --
> 1.7.9.5
>
> _______________________________________________
> 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/20121206/bcd5ce87/attachment.html>


More information about the meta-virtualization mailing list